diff options
author | greg@kroah.com <greg@kroah.com> | 2004-03-24 21:18:36 -0800 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-04-26 21:35:11 -0700 |
commit | b528cd49203c64cf117868b5a5907cb11d934bbb (patch) | |
tree | e5ecd020b8e4d16adcb5e6f779b1f8b51ba519b7 | |
parent | eddf1bca24d49055aa409315fd218561005fba07 (diff) |
[PATCH] first cut at standalone udev_selinux program.
Will not work, need to finish working on this on a system with selinux installed...
-rw-r--r-- | udev_selinux.c | 43 |
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; +} |