summaryrefslogtreecommitdiff
path: root/source3/smbd/posix_acls.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2002-03-11 21:57:12 +0000
committerJeremy Allison <jra@samba.org>2002-03-11 21:57:12 +0000
commitdb4c62d7ed2eb5503927edf7e25c5a2fc94f4174 (patch)
tree9268354ba8661b6af4b459595790e9dd490cfa7b /source3/smbd/posix_acls.c
parent3bc38669efda51f754890474298b9d59f060724d (diff)
downloadsamba-db4c62d7ed2eb5503927edf7e25c5a2fc94f4174.tar.gz
samba-db4c62d7ed2eb5503927edf7e25c5a2fc94f4174.tar.bz2
samba-db4c62d7ed2eb5503927edf7e25c5a2fc94f4174.zip
Implemented default ACL patch (set inherit acls = true on a per share basis).
Based on code donated by Olaf Frączyk <olaf@cbk.poznan.pl>. Further commit will change to sending via vfs interface. Jeremy. (This used to be commit d85133e2697eb22f1573c78447b57791ae63dd6b)
Diffstat (limited to 'source3/smbd/posix_acls.c')
-rw-r--r--source3/smbd/posix_acls.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c
index ee1935a41f..34f0b77002 100644
--- a/source3/smbd/posix_acls.c
+++ b/source3/smbd/posix_acls.c
@@ -2294,3 +2294,16 @@ int fchmod_acl(int fd, mode_t mode)
sys_acl_free_acl(posix_acl);
return ret;
}
+
+BOOL directory_has_default_acl(const char *fname)
+{
+ SMB_ACL_T dir_acl = sys_acl_get_file( fname, SMB_ACL_TYPE_DEFAULT);
+ BOOL has_acl = False;
+ SMB_ACL_ENTRY_T entry;
+
+ if (dir_acl != NULL && (sys_acl_get_entry(dir_acl, SMB_ACL_FIRST_ENTRY, &entry) == 1))
+ has_acl = True;
+
+ sys_acl_free_acl(dir_acl);
+ return has_acl;
+}