chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bus-proxyd: explicitly address messages to unique and well-known name
[elogind.git]
/
src
/
tmpfiles
/
tmpfiles.c
diff --git
a/src/tmpfiles/tmpfiles.c
b/src/tmpfiles/tmpfiles.c
index 7eafd6bb30791eb3d1922d58f73a4fc9ccf06d2c..1e4675f87eb9ecf304e46290613c8e72e58810b9 100644
(file)
--- a/
src/tmpfiles/tmpfiles.c
+++ b/
src/tmpfiles/tmpfiles.c
@@
-259,7
+259,7
@@
static int dir_is_mount_point(DIR *d, const char *subdir) {
/* got only one handle; assume different mount points if one
* of both queries was not supported by the filesystem */
/* got only one handle; assume different mount points if one
* of both queries was not supported by the filesystem */
- if (r_p == -ENOSYS || r_p == -E
NOTSUP || r == -ENOSYS || r == -ENOTSU
P)
+ if (r_p == -ENOSYS || r_p == -E
OPNOTSUPP || r == -ENOSYS || r == -EOPNOTSUP
P)
return true;
/* return error */
return true;
/* return error */
@@
-509,9
+509,9
@@
static int write_one_file(Item *i, const char *path) {
i->type == TRUNCATE_FILE ? O_CREAT|O_TRUNC|O_NOFOLLOW : 0;
RUN_WITH_UMASK(0000) {
i->type == TRUNCATE_FILE ? O_CREAT|O_TRUNC|O_NOFOLLOW : 0;
RUN_WITH_UMASK(0000) {
-
label_context_set
(path, S_IFREG);
+
mac_selinux_create_file_prepare
(path, S_IFREG);
fd = open(path, flags|O_NDELAY|O_CLOEXEC|O_WRONLY|O_NOCTTY, i->mode);
fd = open(path, flags|O_NDELAY|O_CLOEXEC|O_WRONLY|O_NOCTTY, i->mode);
-
label_context
_clear();
+
mac_selinux_create_file
_clear();
}
if (fd < 0) {
}
if (fd < 0) {
@@
-743,9
+743,9
@@
static int create_item(Item *i) {
case CREATE_FIFO:
RUN_WITH_UMASK(0000) {
case CREATE_FIFO:
RUN_WITH_UMASK(0000) {
-
label_context_set
(i->path, S_IFIFO);
+
mac_selinux_create_file_prepare
(i->path, S_IFIFO);
r = mkfifo(i->path, i->mode);
r = mkfifo(i->path, i->mode);
-
label_context
_clear();
+
mac_selinux_create_file
_clear();
}
if (r < 0) {
}
if (r < 0) {
@@
-764,9
+764,9
@@
static int create_item(Item *i) {
if (i->force) {
RUN_WITH_UMASK(0000) {
if (i->force) {
RUN_WITH_UMASK(0000) {
-
label_context_set
(i->path, S_IFIFO);
+
mac_selinux_create_file_prepare
(i->path, S_IFIFO);
r = mkfifo_atomic(i->path, i->mode);
r = mkfifo_atomic(i->path, i->mode);
-
label_context
_clear();
+
mac_selinux_create_file
_clear();
}
if (r < 0) {
}
if (r < 0) {
@@
-788,9
+788,9
@@
static int create_item(Item *i) {
case CREATE_SYMLINK:
case CREATE_SYMLINK:
-
label_context_set
(i->path, S_IFLNK);
+
mac_selinux_create_file_prepare
(i->path, S_IFLNK);
r = symlink(i->argument, i->path);
r = symlink(i->argument, i->path);
-
label_context
_clear();
+
mac_selinux_create_file
_clear();
if (r < 0) {
_cleanup_free_ char *x = NULL;
if (r < 0) {
_cleanup_free_ char *x = NULL;
@@
-804,9
+804,9
@@
static int create_item(Item *i) {
if (r < 0 || !streq(i->argument, x)) {
if (i->force) {
if (r < 0 || !streq(i->argument, x)) {
if (i->force) {
-
label_context_set
(i->path, S_IFLNK);
+
mac_selinux_create_file_prepare
(i->path, S_IFLNK);
r = symlink_atomic(i->argument, i->path);
r = symlink_atomic(i->argument, i->path);
-
label_context
_clear();
+
mac_selinux_create_file
_clear();
if (r < 0) {
log_error("symlink(%s, %s) failed: %s", i->argument, i->path, strerror(-r));
if (r < 0) {
log_error("symlink(%s, %s) failed: %s", i->argument, i->path, strerror(-r));
@@
-838,9
+838,9
@@
static int create_item(Item *i) {
file_type = i->type == CREATE_BLOCK_DEVICE ? S_IFBLK : S_IFCHR;
RUN_WITH_UMASK(0000) {
file_type = i->type == CREATE_BLOCK_DEVICE ? S_IFBLK : S_IFCHR;
RUN_WITH_UMASK(0000) {
-
label_context_set
(i->path, file_type);
+
mac_selinux_create_file_prepare
(i->path, file_type);
r = mknod(i->path, i->mode | file_type, i->major_minor);
r = mknod(i->path, i->mode | file_type, i->major_minor);
-
label_context
_clear();
+
mac_selinux_create_file
_clear();
}
if (r < 0) {
}
if (r < 0) {
@@
-865,9
+865,9
@@
static int create_item(Item *i) {
if (i->force) {
RUN_WITH_UMASK(0000) {
if (i->force) {
RUN_WITH_UMASK(0000) {
-
label_context_set
(i->path, file_type);
+
mac_selinux_create_file_prepare
(i->path, file_type);
r = mknod_atomic(i->path, i->mode | file_type, i->major_minor);
r = mknod_atomic(i->path, i->mode | file_type, i->major_minor);
-
label_context
_clear();
+
mac_selinux_create_file
_clear();
}
if (r < 0) {
}
if (r < 0) {
@@
-1064,7
+1064,7
@@
static int clean_item(Item *i) {
static int process_item(Item *i) {
int r, q, p;
static int process_item(Item *i) {
int r, q, p;
-
char prefix[PATH_MAX]
;
+
_cleanup_free_ char *prefix = NULL
;
assert(i);
assert(i);
@@
-1073,6
+1073,10
@@
static int process_item(Item *i) {
i->done = true;
i->done = true;
+ prefix = malloc(strlen(i->path) + 1);
+ if (!prefix)
+ return log_oom();
+
PATH_FOREACH_PREFIX(prefix, i->path) {
Item *j;
PATH_FOREACH_PREFIX(prefix, i->path) {
Item *j;
@@
-1606,7
+1610,7
@@
int main(int argc, char *argv[]) {
umask(0022);
umask(0022);
-
label
_init(NULL);
+
mac_selinux
_init(NULL);
items = hashmap_new(&string_hash_ops);
globs = hashmap_new(&string_hash_ops);
items = hashmap_new(&string_hash_ops);
globs = hashmap_new(&string_hash_ops);
@@
-1666,7
+1670,7
@@
finish:
set_free_free(unix_sockets);
set_free_free(unix_sockets);
-
label
_finish();
+
mac_selinux
_finish();
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}