2 unstable releases

0.2.0 Oct 15, 2024
0.1.0 Jan 31, 2024

#1248 in Algorithms

MIT license

59KB
1.5K SLoC

Rust D-Bus address parsing

This project provides a Rust library for handling D-Bus addresses following the D-Bus specification.

Server addresses consist of a transport name followed by a colon, and then an optional, comma-separated list of keys and values in the form key=value.

use dbus_addr::DBusAddr;

let addr: DBusAddr = "unix:path=/tmp/dbus.sock".try_into().unwrap();

Miscellaneous and caveats on D-Bus addresses

  • Assumes values are UTF-8 encoded.

  • Accept duplicated keys, the last one wins.

  • Assumes that empty key=val is accepted, so transport:,,guid=... is valid.

  • Allows key only, so transport:foo,bar is ok.

  • Accept unknown keys and transports.

Acknowledgments

  • This project is originated from the zbus project.

  • Special thanks to all the contributors who have been involved in this project.

License

MIT license

No runtime deps

Features