provision: Make dsacl2fsacl() take a security.dom_sid, not str
authorAndrew Bartlett <abartlet@samba.org>
Mon, 5 Nov 2012 09:44:14 +0000 (20:44 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 5 Nov 2012 23:12:43 +0000 (00:12 +0100)
Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue Nov  6 00:12:43 CET 2012 on sn-devel-104

source4/scripting/python/samba/netcmd/gpo.py
source4/scripting/python/samba/ntacls.py
source4/scripting/python/samba/provision/__init__.py

index 53bfcaaa26a0f6c59c7c7c172ae472a6d12080ca..347231b523bdcfabc4dd767d01e11fc72e6e17d8 100644 (file)
@@ -975,9 +975,9 @@ class cmd_create(Command):
             ds_sd = ndr_unpack(security.descriptor, ds_sd_ndr).as_sddl()
 
             # Create a file system security descriptor
-            domain_sid = self.samdb.get_domain_sid()
+            domain_sid = security.dom_sid(self.samdb.get_domain_sid())
             sddl = dsacl2fsacl(ds_sd, domain_sid)
-            fs_sd = security.descriptor.from_sddl(sddl, security.dom_sid(domain_sid))
+            fs_sd = security.descriptor.from_sddl(sddl, domain_sid)
 
             # Set ACL
             sio = ( security.SECINFO_OWNER |
index f3040472dfc38af648002f6e23cc5cbfcd8649bc..89d450a1f10ecbf8de71c24c690b30e030dc1931 100644 (file)
@@ -198,14 +198,13 @@ def ldapmask2filemask(ldm):
     return filemask
 
 
-def dsacl2fsacl(dssddl, domsid):
+def dsacl2fsacl(dssddl, sid):
     """
 
     This function takes an the SDDL representation of a DS
     ACL and return the SDDL representation of this ACL adapted
     for files. It's used for Policy object provision
     """
-    sid = security.dom_sid(domsid)
     ref = security.descriptor.from_sddl(dssddl, sid)
     fdescr = security.descriptor()
     fdescr.owner_sid = ref.owner_sid
index ba50ff30e6d315eff2171b969caa5c5aaf8832b0..47bc6f92d80ae232f8b2062c95e2039dad73022c 100644 (file)
@@ -1395,7 +1395,7 @@ def set_gpos_acl(sysvol, dnsdomain, domainsid, domaindn, samdb, lp, use_ntvfs, p
         acl = ndr_unpack(security.descriptor,
                          str(policy["nTSecurityDescriptor"])).as_sddl()
         policy_path = getpolicypath(sysvol, dnsdomain, str(policy["cn"]))
-        set_dir_acl(policy_path, dsacl2fsacl(acl, str(domainsid)), lp,
+        set_dir_acl(policy_path, dsacl2fsacl(acl, domainsid), lp,
                     str(domainsid), use_ntvfs,
                     passdb=passdb)
 
@@ -1522,7 +1522,7 @@ def check_gpos_acl(sysvol, dnsdomain, domainsid, domaindn, samdb, lp,
         acl = ndr_unpack(security.descriptor,
                          str(policy["nTSecurityDescriptor"])).as_sddl()
         policy_path = getpolicypath(sysvol, dnsdomain, str(policy["cn"]))
-        check_dir_acl(policy_path, dsacl2fsacl(acl, str(domainsid)), lp,
+        check_dir_acl(policy_path, dsacl2fsacl(acl, domainsid), lp,
                       domainsid, direct_db_access)