summaryrefslogtreecommitdiffstats
path: root/source4/scripting/python/samba
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-12-18 02:21:14 +0100
committerStefan Metzmacher <metze@samba.org>2007-12-21 05:51:31 +0100
commit63f53094efa29b76eb4136cddf19d9c5d325fc5f (patch)
tree2e7ca7c80aaccfcfaed427682854c16bef3ed33c /source4/scripting/python/samba
parentcad1e11959a3468875500fffac0ce562bc785249 (diff)
downloadsamba-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__.py4
-rw-r--r--source4/scripting/python/samba/provision.py13
-rw-r--r--source4/scripting/python/samba/samdb.py8
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