Open
Description
xdg-dbus-proxy
generally fails to proxy messages when its upstream dbus path is another instance of xdg-dbus-proxy
instead of the root dbus session.
repro
configure a session bus at /tmp/bus1
, a filtering proxy from /tmp/bus2
to that session bus, and then another proxy at /tmp/bus3
to /tmp/bus2
:
# start a dbus session (or skip this step if already running a dbus session, and replace /tmp/bus1 with $DBUS_SESSION_BUS_ADDRESS in the later invocations)
$ dbus-daemon --session --address=unix:path=/tmp/bus1
$ xdg-dbus-proxy unix:path=/tmp/bus1 /tmp/bus2 --log --filter '--call=org.freedesktop.portal.Desktop=*' &
$ xdg-dbus-proxy unix:path=/tmp/bus2 /tmp/bus3 --log --filter '--call=org.freedesktop.portal.Desktop=*' &
applications can generally speak to the outer xdg-dbus-proxy at /tmp/bus2
, but not the inner proxy at /tmp/bus3
:
$ DBUS_SESSION_BUS_ADDRESS=unix:path=/tmp/bus2 busctl --user list
NAME PID PROCESS USER CONNECTION UNIT SESSION DESCRIPTION
:1.1 1277488 xdg-dbus-proxy colin :1.1 session-167.scope 167 -
org.freedesktop.DBus 1277488 xdg-dbus-proxy colin - session-167.scope 167 -
$ DBUS_SESSION_BUS_ADDRESS=unix:path=/tmp/bus3 busctl --user list
Failed to list names: Transport endpoint is not connected
upon connecting to /tmp/bus3, the xdg-dbus-proxy proxying from /tmp/bus2 to /tmp/bus1 logs:
WARNING **: Invalid client serial: Exceeds maximum value of 4294901759
Metadata
Metadata
Assignees
Labels
No labels