summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorGünter Kukkukk <linux@kukkukk.com>2009-02-05 18:57:41 -0800
committerJeremy Allison <jra@samba.org>2009-02-05 18:57:41 -0800
commite4ad0a1d1f3235405d42bc58b6bdb3c7d04e8486 (patch)
tree7a8bbcb0a392fad7a1108c8b7c2313e4c0cb7311 /source3/smbd
parent16d2fdf5750dbb344b19df23fb741fc8e0b43d10 (diff)
downloadsamba-e4ad0a1d1f3235405d42bc58b6bdb3c7d04e8486.tar.gz
samba-e4ad0a1d1f3235405d42bc58b6bdb3c7d04e8486.tar.bz2
samba-e4ad0a1d1f3235405d42bc58b6bdb3c7d04e8486.zip
Don't try and delete a default ACL from a file.
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/posix_acls.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c
index 7ea6e39fcb..e9b581efe8 100644
--- a/source3/smbd/posix_acls.c
+++ b/source3/smbd/posix_acls.c
@@ -4209,10 +4209,14 @@ bool set_unix_posix_default_acl(connection_struct *conn, const char *fname, SMB_
{
SMB_ACL_T def_acl = NULL;
- if (num_def_acls && !S_ISDIR(psbuf->st_mode)) {
- DEBUG(5,("set_unix_posix_default_acl: Can't set default ACL on non-directory file %s\n", fname ));
- errno = EISDIR;
- return False;
+ if (!S_ISDIR(psbuf->st_mode)) {
+ if (num_def_acls) {
+ DEBUG(5,("set_unix_posix_default_acl: Can't set default ACL on non-directory file %s\n", fname ));
+ errno = EISDIR;
+ return False;
+ } else {
+ return True;
+ }
}
if (!num_def_acls) {