8 #include <selinux/selinux.h>
10 #include "../../udev_lib.h"
11 #include "../../logging.h"
14 unsigned char logname[LOGNAME_SIZE];
15 void log_message(int level, const char *format, ...)
22 va_start(args, format);
23 vsyslog(level, format, args);
28 void selinux_add_node(char *filename)
32 if (is_selinux_enabled() > 0) {
33 security_context_t scontext;
34 retval = matchpathcon(filename, 0, &scontext);
36 dbg("matchpathcon(%s) failed\n", filename);
38 retval=setfilecon(filename,scontext);
40 dbg("setfiles %s failed with error '%s'",
41 filename, strerror(errno));
47 int main(int argc, char *argv[], char *envp[])
54 init_logging("udev_selinux");
56 action = get_action();
61 devname = get_devname();
67 if (strcmp(action, "add") == 0)
68 selinux_add_node(devname);