diff options
-rw-r--r-- | bus/selinux.c | 8 | ||||
-rw-r--r-- | dbus/dbus-sysdeps-util-unix.c | 5 |
2 files changed, 5 insertions, 8 deletions
diff --git a/bus/selinux.c b/bus/selinux.c index 7fedba6f..8c7a6f83 100644 --- a/bus/selinux.c +++ b/bus/selinux.c @@ -113,7 +113,7 @@ static const struct avc_lock_callback lock_cb = 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; } /** diff --git a/dbus/dbus-sysdeps-util-unix.c b/dbus/dbus-sysdeps-util-unix.c index df967a38..e03e0b76 100644 --- a/dbus/dbus-sysdeps-util-unix.c +++ b/dbus/dbus-sysdeps-util-unix.c @@ -338,7 +338,7 @@ _dbus_change_to_daemon_user (const char *user, * 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 }; @@ -414,7 +414,7 @@ _dbus_change_to_daemon_user (const char *user, } #ifdef HAVE_LIBAUDIT - if (!we_were_root) + if (we_were_root) { if (cap_set_proc (new_caps)) { @@ -433,6 +433,7 @@ _dbus_change_to_daemon_user (const char *user, _dbus_strerror (errno)); return FALSE; } + audit_init(); } #endif |