#47741: dbus @1.8.16: update to 1.8.18 -----------------------------+------------------------ Reporter: mschamschula@… | Owner: mcalhoun@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.3 Resolution: | Keywords: haspatch Port: dbus | -----------------------------+------------------------ Comment (by devans@…): Actually all apps were effected if I reloaded (launchdctl unload/load) when changing version. But after a lot of head scratching, I finally came up with an answer to what's going on. First an example using eog: Running dbus 1.8.16 eog emits no warning/error messages to the console. However, if I install 1.10.6, I get the following: {{{ $ eog ** (eog:92151): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.a11y.Bus exited with status 1 (eog:92151): dconf-WARNING **: failed to commit changes to dconf: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (eog:92151): dconf-WARNING **: failed to commit changes to dconf: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) }}} All 3 of these are the result of attempts to access the session dbus that fail due to authentication issues. The key to the problem is the word EXTERNAL. I finally figured out that the default session.conf file now contains the following: {{{ <!-- On Unix systems, the most secure authentication mechanism is EXTERNAL, which uses credential-passing over Unix sockets. This authentication mechanism is not available on Windows, is not suitable for use with the tcp: or nonce-tcp: transports, and will not work on obscure flavours of Unix that do not have a supported credentials-passing mechanism. On those platforms/transports, comment out the <auth> element to allow fallback to DBUS_COOKIE_SHA1. --> <auth>EXTERNAL</auth> }}} When this authentication method is specified, dbus expects any client to authenticate using an appropriate protocol over the dbus socket. eog does not do this. In fact, I haven't found ANY app let alone any GNOME app that does. So this is a show stopper for most apps attempting to access the session bus. Commenting out this line as suggested in the comments restores the previous (successful) dbus behavior. (Don't forget to unload/load again). The value of this line (whether it is commented out or not) is accomplished by setting the substitution variable DBUS_SESSION_CONF_MAYBE_AUTH_EXTERNAL during configuration. Attached is a patch that updates port dbus to 1.10.6 using an updated patch- configure.diff that diables EXTERNAL authentication by default on darwin platforms. Using the updated 1.10.6 port, apps using the session dbus run as expected out of the box (for me at least). Sorry it took me so long to tumble to what was going on. -- Ticket URL: <https://trac.macports.org/ticket/47741#comment:12> MacPorts <https://www.macports.org/> Ports system for OS X