On Fri, Jan 23, 2015 at 3:45 PM, Pierre Abbat <p...@leaf.dragonflybsd.org> wrote: > On Tuesday, January 20, 2015 20:21:32 karu.pruun wrote: >> I am using 64 bit machines in both cases. It's a puzzling situation >> since the relevant ports all seem to be identical on both machines. >> >> Tested with your com.mycompany.Test1 and got the same result. >> >> Thanks for mentioning the dbus webpage, I'll try and see if I can get >> more info how the dbus EXTERNAL authentication mechanism is supposed >> to work: what the strings 30 (FreeBSD) vs 34323934393637323935 >> (DragonFly) stand for. > > 34323934393637323935 is obviously 4294967295 (2^32-1) in ASCII hex. What it > means in the protocol, I don't know.
Turns out it was supposed to be a UID. In the end, the error was with credentials passing in devel/glib20 that polkitd uses. The attached patch fixes it: - copy the patch to /usr/dports/devel/glib20/dragonfly/ - make install All the problems listed above go away: -upowerd crashes -ConsoleKit can't make a session active -X login is freezing a minute or two -The session menu of xfce is freezing also for some time -any logoff from xfve is freezing temporarilly and leaves some applications opened. I haven't tested xdm etc though. I'll try to get it to dports on github. Peeter --
--- gio/gcredentialsprivate.h.orig 2015-01-25 13:11:55.000000000 +0900 +++ gio/gcredentialsprivate.h 2015-01-25 13:14:07.000000000 +0900 @@ -39,6 +39,14 @@ #define G_CREDENTIALS_UNIX_CREDENTIALS_MESSAGE_SUPPORTED 1 #define G_CREDENTIALS_SPOOFING_SUPPORTED 1 +#elif defined(__DragonFly__) +#define G_CREDENTIALS_SUPPORTED 1 +#define G_CREDENTIALS_USE_FREEBSD_CMSGCRED 1 +#define G_CREDENTIALS_NATIVE_TYPE G_CREDENTIALS_TYPE_FREEBSD_CMSGCRED +#define G_CREDENTIALS_NATIVE_SIZE (sizeof (struct cmsgcred)) +#define G_CREDENTIALS_UNIX_CREDENTIALS_MESSAGE_SUPPORTED 1 +#define G_CREDENTIALS_SPOOFING_SUPPORTED 1 + #elif defined(__NetBSD__) #define G_CREDENTIALS_SUPPORTED 1 #define G_CREDENTIALS_USE_NETBSD_UNPCBID 1