summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKay Sievers <kay@vrfy.org>2012-05-31 13:34:41 +0200
committerKay Sievers <kay@vrfy.org>2012-05-31 13:34:41 +0200
commit0f9963a8b8c1d60a467c0cdc04d5e7bfce9d7c75 (patch)
tree6c53700179961f7c2e039abeda48c89bef0be103
parent667e392408d6b56db981d8e76c31990501d0faf3 (diff)
Revert "label: fix systemd-udev labeling of /run directory."
This reverts commit 9b5af248f04b6cad8a5bca836e89a39e9f6823d9. Udev now explicitely labels only files/directories in /dev. The selinux array API is not released and will not work on other distros at this moment.
-rw-r--r--src/shared/label.c6
-rw-r--r--src/shared/label.h2
-rw-r--r--src/test/test-udev.c3
-rw-r--r--src/udev/udevadm.c4
-rw-r--r--src/udev/udevd.c3
5 files changed, 7 insertions, 11 deletions
diff --git a/src/shared/label.c b/src/shared/label.c
index d912574625..9a5f79d7ae 100644
--- a/src/shared/label.c
+++ b/src/shared/label.c
@@ -52,7 +52,7 @@ void label_retest_selinux(void) {
#endif
-int label_init(const char *prefixes[]) {
+int label_init(const char *prefix) {
int r = 0;
#ifdef HAVE_SELINUX
@@ -68,9 +68,9 @@ int label_init(const char *prefixes[]) {
before_mallinfo = mallinfo();
before_timestamp = now(CLOCK_MONOTONIC);
- if (prefixes) {
+ if (prefix) {
struct selinux_opt options[] = {
- { .type = SELABEL_OPT_SUBSET, .values = prefixes },
+ { .type = SELABEL_OPT_SUBSET, .value = prefix },
};
label_hnd = selabel_open(SELABEL_CTX_FILE, options, ELEMENTSOF(options));
diff --git a/src/shared/label.h b/src/shared/label.h
index 2eaabfa625..4f404b2f20 100644
--- a/src/shared/label.h
+++ b/src/shared/label.h
@@ -26,7 +26,7 @@
#include <stdbool.h>
#include <sys/socket.h>
-int label_init(const char *prefixes[]);
+int label_init(const char *prefix);
void label_finish(void);
int label_fix(const char *path, bool ignore_enoent);
diff --git a/src/test/test-udev.c b/src/test/test-udev.c
index bd9c059037..414eabc7b8 100644
--- a/src/test/test-udev.c
+++ b/src/test/test-udev.c
@@ -45,13 +45,12 @@ int main(int argc, char *argv[])
const char *action;
sigset_t mask, sigmask_orig;
int err = -EINVAL;
- const char *prefixes[] = { "/dev", "/run", NULL };
udev = udev_new();
if (udev == NULL)
exit(EXIT_FAILURE);
log_debug("version %s\n", VERSION);
- label_init(prefixes);
+ label_init("/dev");
sigprocmask(SIG_SETMASK, NULL, &sigmask_orig);
diff --git a/src/udev/udevadm.c b/src/udev/udevadm.c
index fafa31bba4..5217d7f9dd 100644
--- a/src/udev/udevadm.c
+++ b/src/udev/udevadm.c
@@ -91,7 +91,6 @@ int main(int argc, char *argv[])
{ "version", no_argument, NULL, 'V' },
{}
};
- const char *prefixes[] = { "/dev", "/run", NULL };
const char *command;
unsigned int i;
int rc = 1;
@@ -103,8 +102,7 @@ int main(int argc, char *argv[])
log_open();
log_parse_environment();
udev_set_log_fn(udev, udev_main_log);
-
- label_init(prefixes);
+ label_init("/dev");
for (;;) {
int option;
diff --git a/src/udev/udevd.c b/src/udev/udevd.c
index 43937db890..790531022c 100644
--- a/src/udev/udevd.c
+++ b/src/udev/udevd.c
@@ -1030,7 +1030,6 @@ int main(int argc, char *argv[])
int fd_ctrl = -1;
int fd_netlink = -1;
int fd_worker = -1;
- const char *prefixes[] = { "/dev", "/run", NULL };
struct epoll_event ep_ctrl, ep_inotify, ep_signal, ep_netlink, ep_worker;
struct udev_ctrl_connection *ctrl_conn = NULL;
int rc = 1;
@@ -1043,7 +1042,7 @@ int main(int argc, char *argv[])
log_parse_environment();
udev_set_log_fn(udev, udev_main_log);
log_debug("version %s\n", VERSION);
- label_init(prefixes);
+ label_init("/dev");
for (;;) {
int option;