summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bus/selinux.c8
-rw-r--r--dbus/dbus-sysdeps-util-unix.c5
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