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