summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--udev_selinux.c43
1 files changed, 41 insertions, 2 deletions
diff --git a/udev_selinux.c b/udev_selinux.c
index 3728fd0b50..723af9a02f 100644
--- a/udev_selinux.c
+++ b/udev_selinux.c
@@ -8,10 +8,23 @@
#include <selinux/selinux.h>
#include "udev.h"
-#include "udev_version.h"
-#include "udev_selinux.h"
+#include "udev_lib.h"
#include "logging.h"
+#ifdef LOG
+unsigned char logname[LOGNAME_SIZE];
+void log_message(int level, const char *format, ...)
+{
+ va_list args;
+
+ if (!udev_log)
+ return;
+
+ va_start(args, format);
+ vsyslog(level, format, args);
+ va_end(args);
+}
+#endif
void selinux_add_node(char *filename)
{
@@ -32,3 +45,29 @@ void selinux_add_node(char *filename)
}
}
+int main(int argc, char *argv[], char *envp[])
+{
+ char *action;
+ char *devpath;
+ char *devnode;
+ int retval = 0;
+
+ init_logging("udev_selinux");
+
+ action = get_action();
+ if (!action) {
+ dbg("no action?");
+ goto exit;
+ }
+ devnode = get_devnode();
+ if (!devnode) {
+ dbg("no devnode?");
+ goto exit;
+ }
+
+ if (strcmp(action, "add") == 0)
+ selinux_add_node(devnode);
+
+exit:
+ return retval;
+}