The branch, v3-6-test has been updated
       via  788c8af WHATSNEW: Add another change.
       via  4eb17af Second part of fix for 8636 - When returning an ACL without 
SECINFO_DACL requested, we still set SEC_DESC_DACL_PRESENT in the type field.
       via  c0ad67c Fix bug 8636 - When returning an ACL without SECINFO_DACL 
requested, we still set SEC_DESC_DACL_PRESENT in the type field.
      from  0b19c19 WHATSNEW: Add major changes.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit 788c8af4453bcb711da2712d8526c22689b49d38
Author: Karolin Seeger <ksee...@samba.org>
Date:   Mon Jan 23 21:39:58 2012 +0100

    WHATSNEW: Add another change.
    
    Karolin

commit 4eb17aff84dc0dccec23e066db7a88581cf7668c
Author: Jeremy Allison <j...@samba.org>
Date:   Mon Jan 23 11:20:52 2012 -0800

    Second part of fix for 8636 - When returning an ACL without SECINFO_DACL 
requested, we still set SEC_DESC_DACL_PRESENT in the type field.
    
    Ensure we always ask for the set:
    
    OWNER_SECURITY_INFORMATION |
    GROUP_SECURITY_INFORMATION |
    DACL_SECURITY_INFORMATION  |
    SACL_SECURITY_INFORMATION
    
    when getting an ACL inside the module.

commit c0ad67c1888e44be77d8f34681f12fc8b4f19f86
Author: Jeremy Allison <j...@samba.org>
Date:   Tue Nov 29 16:31:18 2011 -0800

    Fix bug 8636 - When returning an ACL without SECINFO_DACL requested, we 
still set SEC_DESC_DACL_PRESENT in the type field.
    
    Autobuild-User: Jeremy Allison <j...@samba.org>
    Autobuild-Date: Wed Nov 30 04:59:07 CET 2011 on sn-devel-104
    (cherry picked from commit da992be64f39364fbb8bca26e9421c7a36c49ac6)

-----------------------------------------------------------------------

Summary of changes:
 WHATSNEW.txt                     |    2 ++
 source3/modules/vfs_acl_common.c |    8 ++++++--
 source3/smbd/nttrans.c           |    2 ++
 3 files changed, 10 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index ee7e8ad..95e633b 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -33,6 +33,8 @@ o   Jeremy Allison <j...@samba.org>
       SMB2 replies.
     * BUG 8631: POSIX ACE x permission becomes rx following mapping to and from
       a DACL.
+    * BUG 8636: When returning an ACL without SECINFO_DACL requested, we still
+      set SEC_DESC_DACL_PRESENT in the type field.
     * BUG 8644: vfs_acl_xattr and vfs_acl_tdb modules can fail to add
       inheritable entries on a directory with no stored ACL.
     * BUG 8663: Fix deleting a symlink if the symlink target is outside of
diff --git a/source3/modules/vfs_acl_common.c b/source3/modules/vfs_acl_common.c
index 4554dc8..016bb9f 100644
--- a/source3/modules/vfs_acl_common.c
+++ b/source3/modules/vfs_acl_common.c
@@ -413,9 +413,11 @@ static NTSTATUS get_nt_acl_internal(vfs_handle_struct 
*handle,
                psd->group_sid = NULL;
        }
        if (!(security_info & SECINFO_DACL)) {
+               psd->type &= ~SEC_DESC_DACL_PRESENT;
                psd->dacl = NULL;
        }
        if (!(security_info & SECINFO_SACL)) {
+               psd->type &= ~SEC_DESC_SACL_PRESENT;
                psd->sacl = NULL;
        }
 
@@ -537,7 +539,8 @@ static NTSTATUS get_parent_acl_common(vfs_handle_struct 
*handle,
                                        parent_name,
                                        (SECINFO_OWNER |
                                         SECINFO_GROUP |
-                                        SECINFO_DACL),
+                                        SECINFO_DACL  |
+                                        SECINFO_SACL),
                                        pp_parent_desc);
 
        if (!NT_STATUS_IS_OK(status)) {
@@ -620,7 +623,8 @@ static int open_acl_common(vfs_handle_struct *handle,
                                fname,
                                (SECINFO_OWNER |
                                 SECINFO_GROUP |
-                                SECINFO_DACL),
+                                SECINFO_DACL  |
+                                SECINFO_SACL),
                                &pdesc);
         if (NT_STATUS_IS_OK(status)) {
                /* See if we can access it. */
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c
index 81e850c..de508eb 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -1901,9 +1901,11 @@ NTSTATUS smbd_do_query_security_desc(connection_struct 
*conn,
                psd->group_sid = NULL;
        }
        if (!(security_info_wanted & SECINFO_DACL)) {
+               psd->type &= ~SEC_DESC_DACL_PRESENT;
                psd->dacl = NULL;
        }
        if (!(security_info_wanted & SECINFO_SACL)) {
+               psd->type &= ~SEC_DESC_SACL_PRESENT;
                psd->sacl = NULL;
        }
 


-- 
Samba Shared Repository

Reply via email to