The branch, v4-0-test has been updated
via b4da374a998caac18c288a0a6e3fcd2c50cbffa7 (commit)
via edb7af0685983543c321e3d8b90f6ae07af2e4e3 (commit)
via 1b15f374a89b99f3c43d9c2ce06dde9c67383e66 (commit)
from 0641a43cd6fd081cac0275f5bde2ad70fa6a71bb (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test
- Log -----------------------------------------------------------------
commit b4da374a998caac18c288a0a6e3fcd2c50cbffa7
Author: Andrew Bartlett <[EMAIL PROTECTED]>
Date: Tue Mar 11 14:41:10 2008 +1100
Fix provision script to work without smb.conf location specified.
Andrew Bartlett
commit edb7af0685983543c321e3d8b90f6ae07af2e4e3
Author: Andrew Bartlett <[EMAIL PROTECTED]>
Date: Tue Mar 11 14:21:53 2008 +1100
Extend testsuite to cover specifying a domain SID.
Andrew Bartlett
commit 1b15f374a89b99f3c43d9c2ce06dde9c67383e66
Author: Andrew Bartlett <[EMAIL PROTECTED]>
Date: Tue Mar 11 14:20:42 2008 +1100
Make error handling in ldb more consistant.
This change ensures we give an immidiate error if the DN won't parse.
Also clean up strcmp use to be more standard.
Andrew Bartlett
-----------------------------------------------------------------------
Summary of changes:
source/lib/ldb/ldb.i | 5 ++++-
source/scripting/python/samba/provision.py | 5 +++--
source/setup/provision | 3 ++-
source/setup/tests/blackbox_provision.sh | 2 +-
4 files changed, 10 insertions(+), 5 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/lib/ldb/ldb.i b/source/lib/ldb/ldb.i
index 0d9679d..bd41e1e 100644
--- a/source/lib/ldb/ldb.i
+++ b/source/lib/ldb/ldb.i
@@ -258,6 +258,9 @@ int ldb_dn_from_pyobject(TALLOC_CTX *mem_ctx, PyObject
*object,
struct ldb_dn *odn;
if (ldb_ctx != NULL && PyString_Check(object)) {
*dn = ldb_dn_new(mem_ctx, ldb_ctx, PyString_AsString(object));
+ if (!*dn) {
+ return SWIG_ERROR;
+ }
return 0;
}
ret = SWIG_ConvertPtr(object, (void **)&odn, SWIGTYPE_p_ldb_dn,
@@ -566,7 +569,7 @@ PyObject *PyExc_LdbError;
$1->elements = talloc_zero_array($1, struct ldb_message_element,
PyDict_Size($input));
msg_pos = dict_pos = 0;
while (PyDict_Next($input, &dict_pos, &key, &value)) {
- if (!strcmp(PyString_AsString(key), "dn")) {
+ if (strcmp(PyString_AsString(key), "dn") == 0) {
/* using argp0 (magic SWIG value) here is a hack */
if (ldb_dn_from_pyobject($1, value, argp1, &$1->dn) != 0) {
SWIG_exception(SWIG_TypeError, "unable to import dn
object");
diff --git a/source/scripting/python/samba/provision.py
b/source/scripting/python/samba/provision.py
index ebca1f8..24870c2 100644
--- a/source/scripting/python/samba/provision.py
+++ b/source/scripting/python/samba/provision.py
@@ -51,7 +51,6 @@ class InvalidNetbiosName(Exception):
class ProvisionPaths:
def __init__(self):
- self.smbconf = None
self.shareconf = None
self.hklm = None
self.hkcu = None
@@ -217,7 +216,6 @@ def provision_paths_from_lp(lp, dnsdomain):
paths.dns = os.path.join(paths.private_dir, dnsdomain + ".zone")
paths.winsdb = os.path.join(paths.private_dir, "wins.ldb")
paths.s4_ldapi_path = os.path.join(paths.private_dir, "ldapi")
- paths.smbconf = os.path.join(paths.private_dir, "smb.conf")
paths.phpldapadminconfig = os.path.join(paths.private_dir,
"phpldapadmin-config.php")
paths.hklm = "hklm.ldb"
@@ -759,6 +757,9 @@ def provision(setup_dir, message, session_info,
if domainsid is None:
domainsid = security.random_sid()
+ else:
+ domainsid = security.Sid(domainsid)
+
if policyguid is None:
policyguid = uuid.random()
if adminpass is None:
diff --git a/source/setup/provision b/source/setup/provision
index 629bfa1..b0363d8 100755
--- a/source/setup/provision
+++ b/source/setup/provision
@@ -27,6 +27,7 @@ import optparse
import os, sys
import samba
+import param
from auth import system_session
import samba.getopt as options
@@ -110,7 +111,7 @@ if opts.realm is None or opts.domain is None:
parser.print_usage()
sys.exit(1)
-smbconf = sambaopts.get_loadparm_path()
+smbconf = sambaopts.get_loadparm().configfile()
if opts.aci is not None:
print "set ACI: %s" % opts.aci
diff --git a/source/setup/tests/blackbox_provision.sh
b/source/setup/tests/blackbox_provision.sh
index 83c045e..75d4fcf 100755
--- a/source/setup/tests/blackbox_provision.sh
+++ b/source/setup/tests/blackbox_provision.sh
@@ -28,7 +28,7 @@ testit() {
}
testit "simple-default" $PYTHON ./setup/provision $CONFIGURATION --domain=FOO
--realm=foo.example.com --targetdir=$PREFIX/simple-default
-testit "simple-dc" $PYTHON ./setup/provision $CONFIGURATION --server-role="dc"
--domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-dc
+testit "simple-dc" $PYTHON ./setup/provision $CONFIGURATION --server-role="dc"
--domain=FOO --realm=foo.example.com
--domain-sid=S-1-5-21-4177067393-1453636373-93818738
--targetdir=$PREFIX/simple-dc
testit "simple-member" $PYTHON ./setup/provision $CONFIGURATION
--server-role="member" --domain=FOO --realm=foo.example.com
--targetdir=$PREFIX/simple-member
testit "simple-standalone" $PYTHON ./setup/provision $CONFIGURATION
--server-role="standalone" --domain=FOO --realm=foo.example.com
--targetdir=$PREFIX/simple-standalone
--
Samba Shared Repository