File dbus-audit-user.patch of Package dbus-1-x11

Index: dbus-1.1.2/bus/selinux.c
===================================================================
--- dbus-1.1.2.orig/bus/selinux.c
+++ dbus-1.1.2/bus/selinux.c
@@ -113,7 +113,7 @@ static const struct avc_lock_callback lo
 static int audit_fd = -1;
 #endif
 
-static void
+void
 audit_init(void)
 {
 #ifdef HAVE_LIBAUDIT  
@@ -350,12 +350,8 @@ bus_selinux_full_init (void)
 
   freecon (bus_context);
   
-  audit_init ();
-
-  return TRUE;
-#else
-  return TRUE;
 #endif /* HAVE_SELINUX */
+  return TRUE;
 }
 
 /**
Index: dbus-1.1.2/dbus/dbus-sysdeps-util-unix.c
===================================================================
--- dbus-1.1.2.orig/dbus/dbus-sysdeps-util-unix.c
+++ dbus-1.1.2/dbus/dbus-sysdeps-util-unix.c
@@ -300,7 +300,7 @@ _dbus_change_to_daemon_user  (const char
    * run as ... doesn't really help. But keeps people happy.
    */
     
-  if (!we_were_root)
+  if (we_were_root)
     {
       cap_value_t new_cap_list[] = { CAP_AUDIT_WRITE };
       cap_value_t tmp_cap_list[] = { CAP_AUDIT_WRITE, CAP_SETUID, CAP_SETGID };
@@ -376,7 +376,7 @@ _dbus_change_to_daemon_user  (const char
     }
   
 #ifdef HAVE_LIBAUDIT
-  if (!we_were_root)
+  if (we_were_root)
     {
       if (cap_set_proc (new_caps))
         {
@@ -395,6 +395,7 @@ _dbus_change_to_daemon_user  (const char
                           _dbus_strerror (errno));
           return FALSE;
         }
+      audit_init();
     }
 #endif
 
openSUSE Build Service is sponsored by