The branch, v3-6-test has been updated
       via  4d60392 Honor SeTakeOwnershiPrivilege when client asks for 
SEC_STD_WRITE_OWNER but has no permission for that, but token has 
SeTakeOwnershipPrivilege
      from  57ff85c s3: Fix bug 8567 -- segfault in dom_sid_compare

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


- Log -----------------------------------------------------------------
commit 4d603924fa07b908994bdc0a15dcfa2f83a3f1be
Author: Richard Sharpe <realrichardsha...@gmail.com>
Date:   Wed Feb 22 06:25:54 2012 -0800

    Honor SeTakeOwnershiPrivilege when client asks for SEC_STD_WRITE_OWNER but 
has no permission for that, but token has SeTakeOwnershipPrivilege
    
    Autobuild-User: Richard Sharpe <sha...@samba.org>
    Autobuild-Date: Wed Feb 22 19:19:32 CET 2012 on sn-devel-104
    (cherry picked from commit 108253250048673493a636fd9fb2bf99b64ccf3c)
    
    Fix bug #8768 (Samba does not honor SeTakeOwnershipPrivilege when file 
opened
    with SEC_STD_WRITE_OWNER).

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

Summary of changes:
 libcli/security/access_check.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libcli/security/access_check.c b/libcli/security/access_check.c
index 1b02a86..a9b618f 100644
--- a/libcli/security/access_check.c
+++ b/libcli/security/access_check.c
@@ -205,6 +205,11 @@ NTSTATUS se_access_check(const struct security_descriptor 
*sd,
                bits_remaining &= ~(SEC_RIGHTS_PRIV_BACKUP);
        }
 
+       if ((bits_remaining & SEC_STD_WRITE_OWNER) &&
+            security_token_has_privilege(token, SEC_PRIV_TAKE_OWNERSHIP)) {
+               bits_remaining &= ~(SEC_STD_WRITE_OWNER);
+       }
+
        /* a NULL dacl allows access */
        if ((sd->type & SEC_DESC_DACL_PRESENT) && sd->dacl == NULL) {
                *access_granted = access_desired;


-- 
Samba Shared Repository

Reply via email to