--- /dev/null
+diff -ur dbus-ORIG/dbus/dbus-sysdeps-unix.c dbus/dbus/dbus-sysdeps-unix.c
+--- dbus-ORIG/dbus/dbus-sysdeps-unix.c 2007-08-07 06:05:12.000000000 +0200
++++ dbus/dbus/dbus-sysdeps-unix.c 2007-08-07 06:46:42.000000000 +0200
+@@ -1664,7 +1664,7 @@
+ _dbus_append_user_from_current_process (DBusString *str)
+ {
+ return _dbus_string_append_uint (str,
+- _dbus_getuid ());
++ _dbus_geteuid ());
+ }
+
+ /**
+@@ -1686,6 +1686,15 @@
+ return getuid ();
+ }
+
++/** Gets our effective UID
++ * @returns process effective UID
++ */
++dbus_uid_t
++_dbus_geteuid (void)
++{
++ return geteuid ();
++}
++
+ /**
+ * The only reason this is separate from _dbus_getpid() is to allow it
+ * on Windows for logging but not for other purposes.
+diff -ur dbus-ORIG/dbus/dbus-sysdeps-unix.h dbus/dbus/dbus-sysdeps-unix.h
+--- dbus-ORIG/dbus/dbus-sysdeps-unix.h 2007-08-07 06:05:12.000000000 +0200
++++ dbus/dbus/dbus-sysdeps-unix.h 2007-08-07 06:46:13.000000000 +0200
+@@ -121,6 +121,7 @@
+ void _dbus_group_info_free (DBusGroupInfo *info);
+
+ dbus_uid_t _dbus_getuid (void);
++dbus_uid_t _dbus_geteuid (void);
+ dbus_gid_t _dbus_getgid (void);
+
+ dbus_bool_t _dbus_parse_uid (const DBusString *uid_str,