summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünter Kukkukk <linux@kukkukk.com>2009-02-05 19:48:58 -0800
committerKarolin Seeger <kseeger@samba.org>2009-07-30 09:22:11 +0200
commit1ee9e31a71ab7942bb2c38ce695e8ace1b4235ed (patch)
tree1ede19d09528ad03fe1fc8a441f4509890868b7d
parentdcbeddb3fad94eea4d623c13d4eb51b86f0f6fe3 (diff)
downloadsamba-1ee9e31a71ab7942bb2c38ce695e8ace1b4235ed.tar.gz
Don't try and delete a default ACL from a file.
(cherry picked from commit 04fc826efb290ba4b1f173752efb37a4b87281f2)
-rw-r--r--source/smbd/posix_acls.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/source/smbd/posix_acls.c b/source/smbd/posix_acls.c
index ed38ffcae15..d679304d901 100644
--- a/source/smbd/posix_acls.c
+++ b/source/smbd/posix_acls.c
@@ -3960,10 +3960,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) {