diff options
author | Jeremy Allison <jra@samba.org> | 2013-08-21 12:03:25 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2013-08-24 14:04:47 -0700 |
commit | f124d6fbcd0a03bbd95d69477c144f475546de66 (patch) | |
tree | c3acf0a9cfc04cd0c128362a741776ac593be437 | |
parent | 9423d5afb71e272298f4858d82f436e19ee2b07f (diff) | |
download | samba-f124d6fbcd0a03bbd95d69477c144f475546de66.tar.gz samba-f124d6fbcd0a03bbd95d69477c144f475546de66.tar.bz2 samba-f124d6fbcd0a03bbd95d69477c144f475546de66.zip |
Fix the erroneous masking of chmod requests via the UNIX extensions.
Signed-off-by: Jeremy Allison <jra@samba.org>
-rw-r--r-- | source3/smbd/trans2.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index e7c0da1c20..bafd3f76dd 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -1392,20 +1392,15 @@ static NTSTATUS unix_perms_from_wire( connection_struct *conn, ret |= ((perms & UNIX_SET_UID ) ? S_ISUID : 0); #endif - switch (ptype) { - case PERM_NEW_FILE: - case PERM_EXISTING_FILE: + if (ptype == PERM_NEW_FILE) { /* Apply mode mask */ ret &= lp_create_mask(SNUM(conn)); /* Add in force bits */ ret |= lp_force_create_mode(SNUM(conn)); - break; - case PERM_NEW_DIR: - case PERM_EXISTING_DIR: + } else if (ptype == PERM_NEW_DIR) { ret &= lp_dir_mask(SNUM(conn)); /* Add in force bits */ ret |= lp_force_dir_mode(SNUM(conn)); - break; } *ret_perms = ret; |