summaryrefslogtreecommitdiffstats
path: root/src/shared/acl-util.h
diff options
context:
space:
mode:
authorJan Alexander Steffens (heftig) <jan.steffens@gmail.com>2013-05-28 20:45:34 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-05-30 06:43:39 +0200
commit23ad4dd8844c582929115a11ed2830a1371568d6 (patch)
tree72da26672d1661c56b8ac5e2735167682692d952 /src/shared/acl-util.h
parentbuild-sys: more pretty colors (diff)
downloadsystemd-23ad4dd8844c582929115a11ed2830a1371568d6.tar.xz
systemd-23ad4dd8844c582929115a11ed2830a1371568d6.zip
journald: DO recalculate the ACL mask, but only if it doesn't exist
Since 11ec7ce, journald isn't setting the ACLs properly anymore if the files had no ACLs to begin with: acl_set_fd fails with EINVAL. An ACL with ACL_USER or ACL_GROUP entries but no ACL_MASK entry is invalid, so make sure a mask exists before trying to set the ACL.
Diffstat (limited to 'src/shared/acl-util.h')
-rw-r--r--src/shared/acl-util.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/shared/acl-util.h b/src/shared/acl-util.h
index 23090d9984..36ef490d7e 100644
--- a/src/shared/acl-util.h
+++ b/src/shared/acl-util.h
@@ -24,4 +24,5 @@
#include <stdbool.h>
int acl_find_uid(acl_t acl, uid_t uid, acl_entry_t *entry);
+int calc_acl_mask_if_needed(acl_t *acl_p);
int search_acl_groups(char*** dst, const char* path, bool* belong);