chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update Debian rules
[elogind.git]
/
udev.c
diff --git
a/udev.c
b/udev.c
index f808abf427c61c45abecb4cdafd75c5cf727094c..6b454f3157a3d46fff83916af8e22bdcdab2df83 100644
(file)
--- a/
udev.c
+++ b/
udev.c
@@
-32,6
+32,7
@@
#include "udev.h"
#include "udev_rules.h"
#include "udev.h"
#include "udev_rules.h"
+#include "udev_selinux.h"
#ifdef USE_LOG
void log_message(int priority, const char *format, ...)
#ifdef USE_LOG
void log_message(int priority, const char *format, ...)
@@
-76,7
+77,7
@@
int main(int argc, char *argv[], char *envp[])
exit(0);
}
exit(0);
}
- /* set std fd's to /dev/null,
if the kernel
forks us, we don't have them at all */
+ /* set std fd's to /dev/null,
/sbin/hotplug
forks us, we don't have them at all */
devnull = open("/dev/null", O_RDWR);
if (devnull >= 0) {
if (devnull != STDIN_FILENO)
devnull = open("/dev/null", O_RDWR);
if (devnull >= 0) {
if (devnull != STDIN_FILENO)
@@
-91,8
+92,9
@@
int main(int argc, char *argv[], char *envp[])
logging_init("udev");
if (devnull < 0)
logging_init("udev");
if (devnull < 0)
- err("
fatal, could not open /dev/null
: %s", strerror(errno));
+ err("
open /dev/null failed
: %s", strerror(errno));
udev_config_init();
udev_config_init();
+ selinux_init();
dbg("version %s", UDEV_VERSION);
/* set signal handlers */
dbg("version %s", UDEV_VERSION);
/* set signal handlers */
@@
-154,7
+156,7
@@
int main(int argc, char *argv[], char *envp[])
retval = udev_device_event(&rules, udev);
retval = udev_device_event(&rules, udev);
- if (
!retval && udev_run && !list_empty(&udev->run_list)
) {
+ if (
retval == 0 && !udev->ignore_device && udev_run
) {
struct name_entry *name_loop;
dbg("executing run list");
struct name_entry *name_loop;
dbg("executing run list");
@@
-165,7
+167,7
@@
int main(int argc, char *argv[], char *envp[])
char program[PATH_SIZE];
strlcpy(program, name_loop->name, sizeof(program));
char program[PATH_SIZE];
strlcpy(program, name_loop->name, sizeof(program));
- apply_format(udev, program, sizeof(program));
+
udev_rules_
apply_format(udev, program, sizeof(program));
run_program(program, udev->dev->subsystem, NULL, 0, NULL, (udev_log_priority >= LOG_INFO));
}
}
run_program(program, udev->dev->subsystem, NULL, 0, NULL, (udev_log_priority >= LOG_INFO));
}
}
@@
-178,5
+180,7
@@
fail:
exit:
logging_close();
exit:
logging_close();
- return retval;
+ if (retval != 0)
+ return 1;
+ return 0;
}
}