https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=17a6effb5fd60ec23f156bbed9d841e1fd94e9b3

commit 17a6effb5fd60ec23f156bbed9d841e1fd94e9b3
Author: Corinna Vinschen <cori...@vinschen.de>
Date:   Thu Apr 30 12:08:20 2015 +0200

    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 <cori...@vinschen.de>

Diff:
---
 winsup/cygwin/ChangeLog   | 5 +++++
 winsup/cygwin/security.cc | 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 07ec831..b67e33f 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-30  Corinna Vinschen  <cori...@vinschen.de>
+
+       * security.cc (convert_samba_sd): Fix accidental dropping of all
+       non-Unix User, non-Unix Group accounts.
+
 2015-04-27  Corinna Vinschen  <cori...@vinschen.de>
 
        * include/asm/types.h: Add __s64 and __u64 types.
diff --git a/winsup/cygwin/security.cc b/winsup/cygwin/security.cc
index 5fca674..bee9b06 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;

Reply via email to