Skip to content

gdbus: support unix:dir= addresses, and related cleanups

Michael Catanzaro requested to merge mcatanzaro/gdbus-dir-addresses into master

unix:dir= addresses are exactly the same as unix:tmpdir= addresses, already supported by GDBus, except they forbid use of abstract sockets. This is convenient for situations where abstract sockets are impermissible, such and when a D-Bus client inside a network namespace needs to connect to a server running in a different network namespace. An abstract socket cannot be shared between two processes in different network namespaces.

Applications could use unix:path= addresses instead, so this is only a convenience. It's weird and unexpected that this one type of unix: address from the D-Bus spec is strangely unimplemented by GDBus. This limitation doesn't seem to be documented anywhere that I could find, anyway.

Epiphany would be the first consumer of this, to allow its D-Bus server to function in the presence of a bubblewrap web process sandbox.


I'm curious if anyone knows why this isn't already supported? Just because unix:path= could be used instead? @smcv?

Edited by Michael Catanzaro

Merge request reports