[SCM] Samba Shared Repository - branch master updated

Jelmer Vernooij jelmer at samba.org
Thu Apr 8 04:22:10 MDT 2010


The branch, master has been updated
       via  479fd9c... s4-net: Simplify SamDB connect code.
       via  2578072... s4-python: Move set_global_schema to pydsdb.
       via  a1e47e3... s4-waf: Add dist target.
      from  ca74246... s3: Fix a typo

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 479fd9c03fc84824fea310b76d48ce271587cfe7
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Apr 8 12:19:51 2010 +0200

    s4-net: Simplify SamDB connect code.

commit 2578072541e880c83089fdd278d81467e91ddc5a
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Apr 8 03:26:39 2010 +0200

    s4-python: Move set_global_schema to pydsdb.

commit a1e47e3dd2beb0c46bfc90095b066ffd64706529
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Apr 7 23:57:23 2010 +0200

    s4-waf: Add dist target.

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

Summary of changes:
 buildtools/scripts/Makefile.waf                    |    3 +
 source4/dsdb/pydsdb.c                              |  139 +++++++++++++++-----
 source4/scripting/python/pyglue.c                  |   18 ---
 .../scripting/python/samba/netcmd/domainlevel.py   |    7 +-
 source4/scripting/python/samba/netcmd/dsacl.py     |   10 +-
 .../scripting/python/samba/netcmd/enableaccount.py |    7 +-
 source4/scripting/python/samba/netcmd/fsmo.py      |    7 +-
 source4/scripting/python/samba/netcmd/newuser.py   |    7 +-
 .../scripting/python/samba/netcmd/pwsettings.py    |    7 +-
 source4/scripting/python/samba/netcmd/setexpiry.py |    7 +-
 .../scripting/python/samba/netcmd/setpassword.py   |    7 +-
 source4/scripting/python/samba/samdb.py            |    2 +-
 12 files changed, 118 insertions(+), 103 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildtools/scripts/Makefile.waf b/buildtools/scripts/Makefile.waf
index 4fb9fd2..78cd0e1 100644
--- a/buildtools/scripts/Makefile.waf
+++ b/buildtools/scripts/Makefile.waf
@@ -22,6 +22,9 @@ test:
 quicktest:
 	$(WAF) test --quick $(if $(TESTS),--tests="$(TESTS)")
 
+dist:
+	$(WAF) dist
+
 clean:
 	$(WAF) clean
 
diff --git a/source4/dsdb/pydsdb.c b/source4/dsdb/pydsdb.c
index b18c127..cc75472 100644
--- a/source4/dsdb/pydsdb.c
+++ b/source4/dsdb/pydsdb.c
@@ -33,6 +33,25 @@
 	} */\
 	ldb = PyLdb_AsLdbContext(py_ldb);
 
+static PyObject *py_ldb_get_exception(void)
+{
+	PyObject *mod = PyImport_ImportModule("ldb");
+	if (mod == NULL)
+		return NULL;
+
+	return PyObject_GetAttrString(mod, "LdbError");
+}
+
+static void PyErr_SetLdbError(PyObject *error, int ret, struct ldb_context *ldb_ctx)
+{
+	if (ret == LDB_ERR_PYTHON_EXCEPTION)
+		return; /* Python exception should already be set, just keep that */
+
+	PyErr_SetObject(error, 
+			Py_BuildValue(discard_const_p(char, "(i,s)"), ret,
+			ldb_ctx == NULL?ldb_strerror(ret):ldb_errstring(ldb_ctx)));
+}
+
 static PyObject *py_samdb_server_site_name(PyObject *self, PyObject *args)
 {
 	PyObject *py_ldb, *result;
@@ -216,6 +235,21 @@ static PyObject *py_samdb_ntds_objectGUID(PyObject *self, PyObject *args)
 	return result;
 }
 
+static PyObject *py_dsdb_set_global_schema(PyObject *self, PyObject *args)
+{
+	PyObject *py_ldb;
+	struct ldb_context *ldb;
+	int ret;
+	if (!PyArg_ParseTuple(args, "O", &py_ldb))
+		return NULL;
+
+	PyErr_LDB_OR_RAISE(py_ldb, ldb);
+
+	ret = dsdb_set_global_schema(ldb);
+	PyErr_LDB_ERROR_IS_ERR_RAISE(py_ldb_get_exception(), ret, ldb);
+
+	Py_RETURN_NONE;
+}
 
 static PyMethodDef py_dsdb_methods[] = {
 	{ "samdb_server_site_name", (PyCFunction)py_samdb_server_site_name,
@@ -234,10 +268,13 @@ static PyMethodDef py_dsdb_methods[] = {
 		"Get SID of domain in use." },
 	{ "samdb_ntds_invocation_id", (PyCFunction)py_samdb_ntds_invocation_id,
 		METH_VARARGS, "get the NTDS invocation ID GUID as a string"},
-	{ "dsdb_set_ntds_invocation_id", (PyCFunction)py_dsdb_set_ntds_invocation_id, METH_VARARGS,
+	{ "dsdb_set_ntds_invocation_id",
+		(PyCFunction)py_dsdb_set_ntds_invocation_id, METH_VARARGS,
 		NULL },
-	{ "samdb_ntds_objectGUID", (PyCFunction)py_samdb_ntds_objectGUID, METH_VARARGS,
-		"get the NTDS objectGUID as a string"},
+	{ "samdb_ntds_objectGUID", (PyCFunction)py_samdb_ntds_objectGUID,
+		METH_VARARGS, "get the NTDS objectGUID as a string"},
+	{ "dsdb_set_global_schema", (PyCFunction)py_dsdb_set_global_schema,
+		METH_VARARGS, NULL },
 	{ NULL }
 };
 
@@ -251,44 +288,76 @@ void initdsdb(void)
 		return;
 
 	/* "userAccountControl" flags */
-	PyModule_AddObject(m, "UF_NORMAL_ACCOUNT", PyInt_FromLong(UF_NORMAL_ACCOUNT));
-	PyModule_AddObject(m, "UF_TEMP_DUPLICATE_ACCOUNT", PyInt_FromLong(UF_TEMP_DUPLICATE_ACCOUNT));
-	PyModule_AddObject(m, "UF_SERVER_TRUST_ACCOUNT", PyInt_FromLong(UF_SERVER_TRUST_ACCOUNT));
-	PyModule_AddObject(m, "UF_WORKSTATION_TRUST_ACCOUNT", PyInt_FromLong(UF_WORKSTATION_TRUST_ACCOUNT));
-	PyModule_AddObject(m, "UF_INTERDOMAIN_TRUST_ACCOUNT", PyInt_FromLong(UF_INTERDOMAIN_TRUST_ACCOUNT));
-	PyModule_AddObject(m, "UF_PASSWD_NOTREQD", PyInt_FromLong(UF_PASSWD_NOTREQD));
-	PyModule_AddObject(m, "UF_ACCOUNTDISABLE", PyInt_FromLong(UF_ACCOUNTDISABLE));
+	PyModule_AddObject(m, "UF_NORMAL_ACCOUNT",
+					   PyInt_FromLong(UF_NORMAL_ACCOUNT));
+	PyModule_AddObject(m, "UF_TEMP_DUPLICATE_ACCOUNT",
+					   PyInt_FromLong(UF_TEMP_DUPLICATE_ACCOUNT));
+	PyModule_AddObject(m, "UF_SERVER_TRUST_ACCOUNT",
+					   PyInt_FromLong(UF_SERVER_TRUST_ACCOUNT));
+	PyModule_AddObject(m, "UF_WORKSTATION_TRUST_ACCOUNT",
+					   PyInt_FromLong(UF_WORKSTATION_TRUST_ACCOUNT));
+	PyModule_AddObject(m, "UF_INTERDOMAIN_TRUST_ACCOUNT",
+					   PyInt_FromLong(UF_INTERDOMAIN_TRUST_ACCOUNT));
+	PyModule_AddObject(m, "UF_PASSWD_NOTREQD",
+					   PyInt_FromLong(UF_PASSWD_NOTREQD));
+	PyModule_AddObject(m, "UF_ACCOUNTDISABLE",
+					   PyInt_FromLong(UF_ACCOUNTDISABLE));
 
 	/* "groupType" flags */
-	PyModule_AddObject(m, "GTYPE_SECURITY_BUILTIN_LOCAL_GROUP", PyInt_FromLong(GTYPE_SECURITY_BUILTIN_LOCAL_GROUP));
-	PyModule_AddObject(m, "GTYPE_SECURITY_GLOBAL_GROUP", PyInt_FromLong(GTYPE_SECURITY_GLOBAL_GROUP));
-	PyModule_AddObject(m, "GTYPE_SECURITY_DOMAIN_LOCAL_GROUP", PyInt_FromLong(GTYPE_SECURITY_DOMAIN_LOCAL_GROUP));
-	PyModule_AddObject(m, "GTYPE_SECURITY_UNIVERSAL_GROUP", PyInt_FromLong(GTYPE_SECURITY_UNIVERSAL_GROUP));
-	PyModule_AddObject(m, "GTYPE_DISTRIBUTION_GLOBAL_GROUP", PyInt_FromLong(GTYPE_DISTRIBUTION_GLOBAL_GROUP));
-	PyModule_AddObject(m, "GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP", PyInt_FromLong(GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP));
-	PyModule_AddObject(m, "GTYPE_DISTRIBUTION_UNIVERSAL_GROUP", PyInt_FromLong(GTYPE_DISTRIBUTION_UNIVERSAL_GROUP));
+	PyModule_AddObject(m, "GTYPE_SECURITY_BUILTIN_LOCAL_GROUP",
+					   PyInt_FromLong(GTYPE_SECURITY_BUILTIN_LOCAL_GROUP));
+	PyModule_AddObject(m, "GTYPE_SECURITY_GLOBAL_GROUP",
+					   PyInt_FromLong(GTYPE_SECURITY_GLOBAL_GROUP));
+	PyModule_AddObject(m, "GTYPE_SECURITY_DOMAIN_LOCAL_GROUP",
+					   PyInt_FromLong(GTYPE_SECURITY_DOMAIN_LOCAL_GROUP));
+	PyModule_AddObject(m, "GTYPE_SECURITY_UNIVERSAL_GROUP",
+					   PyInt_FromLong(GTYPE_SECURITY_UNIVERSAL_GROUP));
+	PyModule_AddObject(m, "GTYPE_DISTRIBUTION_GLOBAL_GROUP",
+					   PyInt_FromLong(GTYPE_DISTRIBUTION_GLOBAL_GROUP));
+	PyModule_AddObject(m, "GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP",
+					   PyInt_FromLong(GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP));
+	PyModule_AddObject(m, "GTYPE_DISTRIBUTION_UNIVERSAL_GROUP",
+					   PyInt_FromLong(GTYPE_DISTRIBUTION_UNIVERSAL_GROUP));
 
 	/* "sAMAccountType" flags */
-	PyModule_AddObject(m, "ATYPE_NORMAL_ACCOUNT", PyInt_FromLong(ATYPE_NORMAL_ACCOUNT));
-	PyModule_AddObject(m, "ATYPE_WORKSTATION_TRUST", PyInt_FromLong(ATYPE_WORKSTATION_TRUST));
-	PyModule_AddObject(m, "ATYPE_INTERDOMAIN_TRUST", PyInt_FromLong(ATYPE_INTERDOMAIN_TRUST));
-	PyModule_AddObject(m, "ATYPE_SECURITY_GLOBAL_GROUP", PyInt_FromLong(ATYPE_SECURITY_GLOBAL_GROUP));
-	PyModule_AddObject(m, "ATYPE_SECURITY_LOCAL_GROUP", PyInt_FromLong(ATYPE_SECURITY_LOCAL_GROUP));
-	PyModule_AddObject(m, "ATYPE_SECURITY_UNIVERSAL_GROUP", PyInt_FromLong(ATYPE_SECURITY_UNIVERSAL_GROUP));
-	PyModule_AddObject(m, "ATYPE_DISTRIBUTION_GLOBAL_GROUP", PyInt_FromLong(ATYPE_DISTRIBUTION_GLOBAL_GROUP));
-	PyModule_AddObject(m, "ATYPE_DISTRIBUTION_LOCAL_GROUP", PyInt_FromLong(ATYPE_DISTRIBUTION_LOCAL_GROUP));
-	PyModule_AddObject(m, "ATYPE_DISTRIBUTION_UNIVERSAL_GROUP", PyInt_FromLong(ATYPE_DISTRIBUTION_UNIVERSAL_GROUP));
+	PyModule_AddObject(m, "ATYPE_NORMAL_ACCOUNT",
+					   PyInt_FromLong(ATYPE_NORMAL_ACCOUNT));
+	PyModule_AddObject(m, "ATYPE_WORKSTATION_TRUST",
+					   PyInt_FromLong(ATYPE_WORKSTATION_TRUST));
+	PyModule_AddObject(m, "ATYPE_INTERDOMAIN_TRUST",
+					   PyInt_FromLong(ATYPE_INTERDOMAIN_TRUST));
+	PyModule_AddObject(m, "ATYPE_SECURITY_GLOBAL_GROUP",
+					   PyInt_FromLong(ATYPE_SECURITY_GLOBAL_GROUP));
+	PyModule_AddObject(m, "ATYPE_SECURITY_LOCAL_GROUP",
+					   PyInt_FromLong(ATYPE_SECURITY_LOCAL_GROUP));
+	PyModule_AddObject(m, "ATYPE_SECURITY_UNIVERSAL_GROUP",
+					   PyInt_FromLong(ATYPE_SECURITY_UNIVERSAL_GROUP));
+	PyModule_AddObject(m, "ATYPE_DISTRIBUTION_GLOBAL_GROUP",
+					   PyInt_FromLong(ATYPE_DISTRIBUTION_GLOBAL_GROUP));
+	PyModule_AddObject(m, "ATYPE_DISTRIBUTION_LOCAL_GROUP",
+					   PyInt_FromLong(ATYPE_DISTRIBUTION_LOCAL_GROUP));
+	PyModule_AddObject(m, "ATYPE_DISTRIBUTION_UNIVERSAL_GROUP",
+					   PyInt_FromLong(ATYPE_DISTRIBUTION_UNIVERSAL_GROUP));
 
 	/* "domainFunctionality", "forestFunctionality" flags in the rootDSE */
-	PyModule_AddObject(m, "DS_DOMAIN_FUNCTION_2000", PyInt_FromLong(DS_DOMAIN_FUNCTION_2000));
-	PyModule_AddObject(m, "DS_DOMAIN_FUNCTION_2003_MIXED", PyInt_FromLong(DS_DOMAIN_FUNCTION_2003_MIXED));
-	PyModule_AddObject(m, "DS_DOMAIN_FUNCTION_2003", PyInt_FromLong(DS_DOMAIN_FUNCTION_2003));
-	PyModule_AddObject(m, "DS_DOMAIN_FUNCTION_2008", PyInt_FromLong(DS_DOMAIN_FUNCTION_2008));
-	PyModule_AddObject(m, "DS_DOMAIN_FUNCTION_2008_R2", PyInt_FromLong(DS_DOMAIN_FUNCTION_2008_R2));
+	PyModule_AddObject(m, "DS_DOMAIN_FUNCTION_2000",
+					   PyInt_FromLong(DS_DOMAIN_FUNCTION_2000));
+	PyModule_AddObject(m, "DS_DOMAIN_FUNCTION_2003_MIXED",
+					   PyInt_FromLong(DS_DOMAIN_FUNCTION_2003_MIXED));
+	PyModule_AddObject(m, "DS_DOMAIN_FUNCTION_2003",
+					   PyInt_FromLong(DS_DOMAIN_FUNCTION_2003));
+	PyModule_AddObject(m, "DS_DOMAIN_FUNCTION_2008",
+					   PyInt_FromLong(DS_DOMAIN_FUNCTION_2008));
+	PyModule_AddObject(m, "DS_DOMAIN_FUNCTION_2008_R2",
+					   PyInt_FromLong(DS_DOMAIN_FUNCTION_2008_R2));
 
 	/* "domainControllerFunctionality" flags in the rootDSE */
-	PyModule_AddObject(m, "DS_DC_FUNCTION_2000", PyInt_FromLong(DS_DC_FUNCTION_2000));
-	PyModule_AddObject(m, "DS_DC_FUNCTION_2003", PyInt_FromLong(DS_DC_FUNCTION_2003));
-	PyModule_AddObject(m, "DS_DC_FUNCTION_2008", PyInt_FromLong(DS_DC_FUNCTION_2008));
-	PyModule_AddObject(m, "DS_DC_FUNCTION_2008_R2", PyInt_FromLong(DS_DC_FUNCTION_2008_R2));
+	PyModule_AddObject(m, "DS_DC_FUNCTION_2000",
+					   PyInt_FromLong(DS_DC_FUNCTION_2000));
+	PyModule_AddObject(m, "DS_DC_FUNCTION_2003",
+					   PyInt_FromLong(DS_DC_FUNCTION_2003));
+	PyModule_AddObject(m, "DS_DC_FUNCTION_2008",
+					   PyInt_FromLong(DS_DC_FUNCTION_2008));
+	PyModule_AddObject(m, "DS_DC_FUNCTION_2008_R2",
+					   PyInt_FromLong(DS_DC_FUNCTION_2008_R2));
 }
diff --git a/source4/scripting/python/pyglue.c b/source4/scripting/python/pyglue.c
index 8d19b06..bf6c30b 100644
--- a/source4/scripting/python/pyglue.c
+++ b/source4/scripting/python/pyglue.c
@@ -117,22 +117,6 @@ static PyObject *py_set_debug_level(PyObject *self, PyObject *args)
 	Py_RETURN_NONE;
 }
 
-static PyObject *py_dsdb_set_global_schema(PyObject *self, PyObject *args)
-{
-	PyObject *py_ldb;
-	struct ldb_context *ldb;
-	int ret;
-	if (!PyArg_ParseTuple(args, "O", &py_ldb))
-		return NULL;
-
-	PyErr_LDB_OR_RAISE(py_ldb, ldb);
-
-	ret = dsdb_set_global_schema(ldb);
-	PyErr_LDB_ERROR_IS_ERR_RAISE(py_ldb_get_exception(), ret, ldb);
-
-	Py_RETURN_NONE;
-}
-
 static PyObject *py_dsdb_set_schema_from_ldif(PyObject *self, PyObject *args)
 {
 	WERROR result;
@@ -310,8 +294,6 @@ static PyMethodDef py_misc_methods[] = {
 		"Generate random password with a length >= min and <= max." },
 	{ "unix2nttime", (PyCFunction)py_unix2nttime, METH_VARARGS,
 		"unix2nttime(timestamp) -> nttime" },
-	{ "dsdb_set_global_schema", (PyCFunction)py_dsdb_set_global_schema, METH_VARARGS,
-		NULL },
 	{ "dsdb_set_schema_from_ldif", (PyCFunction)py_dsdb_set_schema_from_ldif, METH_VARARGS,
 		NULL },
 	{ "dsdb_write_prefixes_from_schema_to_ldb", (PyCFunction)py_dsdb_write_prefixes_from_schema_to_ldb, METH_VARARGS,
diff --git a/source4/scripting/python/samba/netcmd/domainlevel.py b/source4/scripting/python/samba/netcmd/domainlevel.py
index fb26dd0..c97ed7b 100644
--- a/source4/scripting/python/samba/netcmd/domainlevel.py
+++ b/source4/scripting/python/samba/netcmd/domainlevel.py
@@ -73,12 +73,7 @@ class cmd_domainlevel(Command):
         lp = sambaopts.get_loadparm()
         creds = credopts.get_credentials(lp)
 
-        if H is not None:
-            url = H
-        else:
-            url = lp.get("sam database")
-
-        samdb = SamDB(url=url, session_info=system_session(),
+        samdb = SamDB(url=H, session_info=system_session(),
             credentials=creds, lp=lp)
 
         domain_dn = SamDB.domain_dn(samdb)
diff --git a/source4/scripting/python/samba/netcmd/dsacl.py b/source4/scripting/python/samba/netcmd/dsacl.py
index f846b26..58fb9c6 100644
--- a/source4/scripting/python/samba/netcmd/dsacl.py
+++ b/source4/scripting/python/samba/netcmd/dsacl.py
@@ -132,15 +132,11 @@ class cmd_ds_acl_set(Command):
         lp = sambaopts.get_loadparm()
         creds = credopts.get_credentials(lp)
 
-        if car == None or action == None or objectdn == None or trusteedn == None:
+        if (car is None or action is None or objectdn is None or 
+            trusteedn is None):
             return self.usage()
 
-        if host is not None:
-            url = host
-        else:
-            url = lp.get("sam database")
-
-        samdb = SamDB(url=url, session_info=system_session(),
+        samdb = SamDB(url=host, session_info=system_session(),
             credentials=creds, lp=lp)
         cars = {'change-rid' : GUID_DRS_CHANGE_RID_MASTER,
                 'change-pdc' : GUID_DRS_CHANGE_PDC,
diff --git a/source4/scripting/python/samba/netcmd/enableaccount.py b/source4/scripting/python/samba/netcmd/enableaccount.py
index d4af0a8..0e57b57 100644
--- a/source4/scripting/python/samba/netcmd/enableaccount.py
+++ b/source4/scripting/python/samba/netcmd/enableaccount.py
@@ -55,11 +55,6 @@ class cmd_enableaccount(Command):
         lp = sambaopts.get_loadparm()
         creds = credopts.get_credentials(lp)
 
-        if H is not None:
-            url = H
-        else:
-            url = lp.get("sam database")
-
-        samdb = SamDB(url=url, session_info=system_session(),
+        samdb = SamDB(url=H, session_info=system_session(),
             credentials=creds, lp=lp)
         samdb.enable_account(filter)
diff --git a/source4/scripting/python/samba/netcmd/fsmo.py b/source4/scripting/python/samba/netcmd/fsmo.py
index 171b89a..bcf80ce 100644
--- a/source4/scripting/python/samba/netcmd/fsmo.py
+++ b/source4/scripting/python/samba/netcmd/fsmo.py
@@ -135,12 +135,7 @@ all=all of the above"""),
         lp = sambaopts.get_loadparm()
         creds = credopts.get_credentials(lp)
 
-        if host is not None:
-            url = host
-        else:
-            url = lp.get("sam database")
-
-        samdb = SamDB(url=url, session_info=system_session(),
+        samdb = SamDB(url=host, session_info=system_session(),
             credentials=creds, lp=lp)
 
         domain_dn = SamDB.domain_dn(samdb)
diff --git a/source4/scripting/python/samba/netcmd/newuser.py b/source4/scripting/python/samba/netcmd/newuser.py
index 6f12de5..3815219 100644
--- a/source4/scripting/python/samba/netcmd/newuser.py
+++ b/source4/scripting/python/samba/netcmd/newuser.py
@@ -59,12 +59,7 @@ class cmd_newuser(Command):
         lp = sambaopts.get_loadparm()
         creds = credopts.get_credentials(lp)
 
-        if H is not None:
-            url = H
-        else:
-            url = lp.get("sam database")
-
-        samdb = SamDB(url=url, session_info=system_session(), credentials=creds,
+        samdb = SamDB(url=H, session_info=system_session(), credentials=creds,
             lp=lp)
         samdb.newuser(username, unixname, password,
             force_password_change_at_next_login_req=must_change_at_next_login)
diff --git a/source4/scripting/python/samba/netcmd/pwsettings.py b/source4/scripting/python/samba/netcmd/pwsettings.py
index 50525cc..dda009a 100644
--- a/source4/scripting/python/samba/netcmd/pwsettings.py
+++ b/source4/scripting/python/samba/netcmd/pwsettings.py
@@ -69,12 +69,7 @@ class cmd_pwsettings(Command):
         lp = sambaopts.get_loadparm()
         creds = credopts.get_credentials(lp)
 
-        if H is not None:
-            url = H
-        else:
-            url = lp.get("sam database")
-
-        samdb = SamDB(url=url, session_info=system_session(),
+        samdb = SamDB(url=H, session_info=system_session(),
             credentials=creds, lp=lp)
 
         domain_dn = SamDB.domain_dn(samdb)
diff --git a/source4/scripting/python/samba/netcmd/setexpiry.py b/source4/scripting/python/samba/netcmd/setexpiry.py
index 0c5dc5a..b95192a 100644
--- a/source4/scripting/python/samba/netcmd/setexpiry.py
+++ b/source4/scripting/python/samba/netcmd/setexpiry.py
@@ -61,12 +61,7 @@ class cmd_setexpiry(Command):
         if days is None:
             days = 0
 
-        if H is not None:
-            url = H
-        else:
-            url = lp.get("sam database")
-
-        samdb = SamDB(url=url, session_info=system_session(),
+        samdb = SamDB(url=H, session_info=system_session(),
             credentials=creds, lp=lp)
 
         samdb.setexpiry(filter, days*24*3600, no_expiry_req=noexpiry)
diff --git a/source4/scripting/python/samba/netcmd/setpassword.py b/source4/scripting/python/samba/netcmd/setpassword.py
index e86711d..c4a9b00 100644
--- a/source4/scripting/python/samba/netcmd/setpassword.py
+++ b/source4/scripting/python/samba/netcmd/setpassword.py
@@ -65,12 +65,7 @@ class cmd_setpassword(Command):
         lp = sambaopts.get_loadparm()
         creds = credopts.get_credentials(lp)
 
-        if H is not None:
-            url = H
-        else:
-            url = lp.get("sam database")
-
-        samdb = SamDB(url=url, session_info=system_session(),
+        samdb = SamDB(url=H, session_info=system_session(),
                       credentials=creds, lp=lp)
 
         samdb.setpassword(filter, password,
diff --git a/source4/scripting/python/samba/samdb.py b/source4/scripting/python/samba/samdb.py
index 8d4c3de..5d20359 100644
--- a/source4/scripting/python/samba/samdb.py
+++ b/source4/scripting/python/samba/samdb.py
@@ -48,7 +48,7 @@ class SamDB(samba.Ldb):
                 options=options)
 
         if global_schema:
-            glue.dsdb_set_global_schema(self)
+            dsdb.dsdb_set_global_schema(self)
 
     def connect(self, url=None, flags=0, options=None):
         super(SamDB, self).connect(url=self.lp.private_path(url), flags=flags,


-- 
Samba Shared Repository


More information about the samba-cvs mailing list