diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2007-12-18 02:21:14 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2007-12-21 05:51:31 +0100 |
commit | 63f53094efa29b76eb4136cddf19d9c5d325fc5f (patch) | |
tree | 2e7ca7c80aaccfcfaed427682854c16bef3ed33c /source4/scripting/python/samba | |
parent | cad1e11959a3468875500fffac0ce562bc785249 (diff) | |
download | samba-63f53094efa29b76eb4136cddf19d9c5d325fc5f.tar.gz samba-63f53094efa29b76eb4136cddf19d9c5d325fc5f.tar.xz samba-63f53094efa29b76eb4136cddf19d9c5d325fc5f.zip |
r26520: More Python updates.
(This used to be commit a8b1fe15ac853082961132ede061fe1556ae29f7)
Diffstat (limited to 'source4/scripting/python/samba')
-rw-r--r-- | source4/scripting/python/samba/__init__.py | 4 | ||||
-rw-r--r-- | source4/scripting/python/samba/provision.py | 13 | ||||
-rw-r--r-- | source4/scripting/python/samba/samdb.py | 8 |
3 files changed, 18 insertions, 7 deletions
diff --git a/source4/scripting/python/samba/__init__.py b/source4/scripting/python/samba/__init__.py index f89ac39ac77..8e0eff30110 100644 --- a/source4/scripting/python/samba/__init__.py +++ b/source4/scripting/python/samba/__init__.py @@ -78,6 +78,10 @@ class Ldb(ldb.Ldb): if url: self.connect(url) + def msg(l,text): + print text + #self.set_debug(msg) + set_credentials = misc.ldb_set_credentials set_session_info = misc.ldb_set_session_info set_loadparm = misc.ldb_set_loadparm diff --git a/source4/scripting/python/samba/provision.py b/source4/scripting/python/samba/provision.py index d9863420b69..0a3c183fcc9 100644 --- a/source4/scripting/python/samba/provision.py +++ b/source4/scripting/python/samba/provision.py @@ -306,7 +306,7 @@ def setup_name_mappings(subobj, ldb): ["objectSid"]) assert len(res) == 1 assert "objectSid" in res[0] - sid = list(res[0]["objectSid"])[0] + sid = str(list(res[0]["objectSid"])[0]) # add some foreign sids if they are not present already ldb.add_foreign(subobj.domaindn, "S-1-5-7", "Anonymous") @@ -419,12 +419,12 @@ def provision(lp, setup_dir, subobj, message, blank, paths, session_info, message("Setting up registry") reg = registry.Registry() - hive = registry.Hive(paths.hklm, session_info=session_info, - credentials=credentials, lp_ctx=lp) - reg.mount_hive(hive, registry.HKEY_LOCAL_MACHINE, []) + #hive = registry.Hive(paths.hklm, session_info=session_info, + # credentials=credentials, lp_ctx=lp) + #reg.mount_hive(hive, "HKEY_LOCAL_MACHINE") provision_reg = os.path.join(setup_dir, "provision.reg") assert os.path.exists(provision_reg) - reg.apply_patchfile(provision_reg) + #reg.apply_patchfile(provision_reg) message("Setting up templates into %s" % paths.templates) setup_ldb(setup_dir, "provision_templates.ldif", session_info, @@ -434,7 +434,8 @@ def provision(lp, setup_dir, subobj, message, blank, paths, session_info, setup_ldb(setup_dir, "provision_partitions.ldif", session_info, credentials, subobj, lp, paths.samdb) - samdb = open_ldb(session_info, credentials, lp, paths.samdb) + samdb = SamDB(paths.samdb, session_info=session_info, + credentials=credentials, lp=lp) samdb.transaction_start() try: message("Setting up sam.ldb attributes") diff --git a/source4/scripting/python/samba/samdb.py b/source4/scripting/python/samba/samdb.py index 73426121a64..ce06efa3de4 100644 --- a/source4/scripting/python/samba/samdb.py +++ b/source4/scripting/python/samba/samdb.py @@ -22,8 +22,14 @@ import samba import misc +import ldb class SamDB(samba.Ldb): + def __init__(self, *args, **kwargs): + super(SamDB, self).__init__(*args, **kwargs) + misc.dsdb_set_global_schema(self) + misc.ldb_register_samba_handlers(self) + def add_foreign(self, domaindn, sid, desc): """Add a foreign security principle.""" add = """ @@ -39,7 +45,7 @@ description: %s def setup_name_mapping(self, domaindn, sid, unixname): """Setup a mapping between a sam name and a unix name.""" - res = self.search(Dn(ldb, domaindn), SCOPE_SUBTREE, + res = self.search(ldb.Dn(self, domaindn), ldb.SCOPE_SUBTREE, "objectSid=%s" % sid, ["dn"]) assert len(res) == 1, "Failed to find record for objectSid %s" % sid |