summaryrefslogtreecommitdiffstats
path: root/bus/main.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2004-07-30 05:59:34 +0000
committerHavoc Pennington <hp@redhat.com>2004-07-30 05:59:34 +0000
commit1e9b185b0c274ef0d684b1e43418388225321e72 (patch)
tree66bb08beb9ea1b4250953294134e2c995f8adf34 /bus/main.c
parent4076d31c71bee332c4a697597a93345b45850b33 (diff)
2004-07-24 Havoc Pennington <hp@redhat.com>
SELinux support from Matthew Rickard <mjricka@epoch.ncsc.mil> * bus/selinux.c, bus/selinux.h: new file encapsulating selinux functionality * configure.in: add --enable-selinux * bus/policy.c (bus_policy_merge): add FIXME to a comment * bus/main.c (main): initialize and shut down selinux * bus/connection.c: store SELinux ID on each connection, to avoid repeated getting of the string context and converting it into an ID * bus/bus.c (bus_context_get_policy): new accessor, though it isn't used (bus_context_check_security_policy): check whether the security context of sender connection can send to the security context of recipient connection * bus/config-parser.c: add parsing for <selinux> and <associate> * dbus/dbus-transport.c (_dbus_transport_get_unix_fd): to implement dbus_connection_get_unix_fd() * dbus/dbus-connection.c (dbus_connection_get_unix_fd): new function, used by the selinux stuff
Diffstat (limited to 'bus/main.c')
-rw-r--r--bus/main.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/bus/main.c b/bus/main.c
index 8f175320..32a6161b 100644
--- a/bus/main.c
+++ b/bus/main.c
@@ -28,6 +28,7 @@
#include <string.h>
#include <signal.h>
#include <errno.h>
+#include "selinux.h"
static BusContext *context;
@@ -371,7 +372,13 @@ main (int argc, char **argv)
print_pid_fd = val;
}
}
-
+
+ if (!bus_selinux_init ())
+ {
+ _dbus_warn ("SELinux initialization failed\n");
+ exit (1);
+ }
+
dbus_error_init (&error);
context = bus_context_new (&config_file, force_fork,
print_addr_fd, print_pid_fd,
@@ -395,6 +402,7 @@ main (int argc, char **argv)
bus_context_shutdown (context);
bus_context_unref (context);
+ bus_selinux_shutdown ();
return 0;
}