polkit fails to authenticate on dbus

Simon McVittie simon.mcvittie at collabora.co.uk
Thu Jan 22 05:20:24 PST 2015


On 21/01/15 14:17, karu.pruun wrote:
> By the way, I found out that the UID string that polkitd on DragonFly
> uses in 'AUTH EXTERNAL . . .' is independent from what polkitd gets
> from getuid(). This is in contrast to correct operation e.g. on
> FreeBSD where that string is the hex encoded UID.

polkitd uses GDBus, part of the GIO module in GLib, so that's the place
to start looking to find out why polkitd is saying "hi, I'm uid
(uint32_t) -1" instead of "hi, I'm uid 0". My guess is that some API
call used by GLib is failing and returning -1, and GLib isn't catching
that failure.

If my theory is correct, then gdbus(1) and other tools that use GDBus
will fail to authenticate in exactly the same way polkitd does, but
libdbus applications like dbus-send(1) and dbus-monitor(1) might be
fine. Please try that and see what happens.

If I'm right, then https://bugzilla.gnome.org/enter_bug.cgi?product=glib
is the place to report GDBus bugs. The GLib people will probably have
the same policy we do, that DragonFlyBSD is only supported if its users
provide tested patches.

    S



More information about the dbus mailing list