summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2015-04-30 12:08:20 +0200
committerCorinna Vinschen <corinna@vinschen.de>2015-04-30 12:08:20 +0200
commit17a6effb5fd60ec23f156bbed9d841e1fd94e9b3 (patch)
treea2d78d09c9f8d98fe1660d548bf526b601b4a8c5
parentf737914dd6b26612b1db26950e267f5589cb21bb (diff)
downloadcygnal-17a6effb5fd60ec23f156bbed9d841e1fd94e9b3.tar.gz
cygnal-17a6effb5fd60ec23f156bbed9d841e1fd94e9b3.tar.bz2
cygnal-17a6effb5fd60ec23f156bbed9d841e1fd94e9b3.zip
Use all ACEs from original ACL on Samba share
* security.cc (convert_samba_sd): Fix accidental dropping of all non-Unix User, non-Unix Group accounts. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/security.cc6
2 files changed, 8 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 07ec831de..b67e33f1c 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-30 Corinna Vinschen <corinna@vinschen.de>
+
+ * security.cc (convert_samba_sd): Fix accidental dropping of all
+ non-Unix User, non-Unix Group accounts.
+
2015-04-27 Corinna Vinschen <corinna@vinschen.de>
* include/asm/types.h: Add __s64 and __u64 types.
diff --git a/winsup/cygwin/security.cc b/winsup/cygwin/security.cc
index 5fca6746e..bee9b06ae 100644
--- a/winsup/cygwin/security.cc
+++ b/winsup/cygwin/security.cc
@@ -677,10 +677,10 @@ convert_samba_sd (security_descriptor &sd_ret)
if (gid < UNIX_POSIX_OFFSET && (grp = internal_getgrgid (gid)))
ace_sid.getfromgr (grp);
}
- if (!add_access_allowed_ace (acl, ace->Mask, ace_sid, acl_len,
- ace->Header.AceFlags))
- return;
}
+ if (!add_access_allowed_ace (acl, ace->Mask, ace_sid, acl_len,
+ ace->Header.AceFlags))
+ return;
}
acl->AclSize = acl_len;