The branch, master has been updated via 43f23b5 s4-s3-upgrade rename samba-tool domain samba3upgrade --libdir to --dbdir for clarity via be9378e s4-s3-upgrade fix format string for secrets.tdb exception via 036b23a s4-s3-upgrade test upgrade without a wins.dat via 596d6cc s4-s3-upgrade Fix samba3upgrade code to cope with a missing wins.dat via 75689ef s4-smb_server do not set credentials on gensec twice from 5c5fc5d build: added deletion of stale .so and .o files
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 43f23b55c44094b29c8a7017fda8e6b030e2eba4 Author: Andrew Bartlett <abart...@samba.org> Date: Wed Oct 19 09:37:47 2011 +1100 s4-s3-upgrade rename samba-tool domain samba3upgrade --libdir to --dbdir for clarity The things pointed at are not typically in a directory called lib, so avoid confusing our administrators. Andrew Bartlett Autobuild-User: Andrew Bartlett <abart...@samba.org> Autobuild-Date: Wed Oct 19 15:43:04 CEST 2011 on sn-devel-104 commit be9378e41ec677eb36b262db7abf4ddcec6a0675 Author: Andrew Bartlett <abart...@samba.org> Date: Wed Oct 19 09:31:40 2011 +1100 s4-s3-upgrade fix format string for secrets.tdb exception commit 036b23a1063066a0eb4878ddf047f655de77f3ca Author: Andrew Bartlett <abart...@samba.org> Date: Wed Oct 19 23:07:14 2011 +1100 s4-s3-upgrade test upgrade without a wins.dat commit 596d6cceab851798de37fc02eddf64a7b2fd1d93 Author: Andrew Bartlett <abart...@samba.org> Date: Wed Oct 19 09:31:16 2011 +1100 s4-s3-upgrade Fix samba3upgrade code to cope with a missing wins.dat commit 75689effdfa2a54515fddaf823aedd07f562efc1 Author: Andrew Bartlett <abart...@samba.org> Date: Wed Oct 19 08:31:48 2011 +1100 s4-smb_server do not set credentials on gensec twice The samba_server_gensec_start() has already set the credentials on the gensec_security context. Andrew Bartlett ----------------------------------------------------------------------- Summary of changes: source4/scripting/python/samba/netcmd/domain.py | 30 +++++++++++----------- source4/scripting/python/samba/upgrade.py | 13 ++++++++- source4/setup/tests/blackbox_s3upgrade.sh | 7 ++++- source4/smb_server/smb/negprot.c | 4 --- 4 files changed, 31 insertions(+), 23 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/scripting/python/samba/netcmd/domain.py b/source4/scripting/python/samba/netcmd/domain.py index 47b7e4a..715b376 100644 --- a/source4/scripting/python/samba/netcmd/domain.py +++ b/source4/scripting/python/samba/netcmd/domain.py @@ -530,7 +530,7 @@ class cmd_domain_passwordsettings(Command): class cmd_domain_samba3upgrade(Command): """Upgrade from Samba3 database to Samba4 AD database. - Specify either samba3 database directory (with --libdir) or + Specify either a directory with all samba3 databases and state files (with --dbdir) or samba3 testparm utility (with --testparm). """ @@ -542,7 +542,7 @@ class cmd_domain_samba3upgrade(Command): } takes_options = [ - Option("--libdir", type="string", metavar="DIR", + Option("--dbdir", type="string", metavar="DIR", help="Path to samba3 database directory"), Option("--testparm", type="string", metavar="PATH", help="Path to samba3 testparm utility from the previous installation. This allows the default paths of the previous installation to be followed"), @@ -555,7 +555,7 @@ class cmd_domain_samba3upgrade(Command): takes_args = ["smbconf"] - def run(self, smbconf=None, targetdir=None, libdir=None, testparm=None, + def run(self, smbconf=None, targetdir=None, dbdir=None, testparm=None, quiet=None, use_xattrs=None, sambaopts=None, versionopts=None): if not os.path.exists(smbconf): @@ -564,15 +564,15 @@ class cmd_domain_samba3upgrade(Command): if testparm and not os.path.exists(testparm): raise CommandError("Testparm utility %s does not exist" % testparm) - if libdir and not os.path.exists(libdir): - raise CommandError("Directory %s does not exist" % libdir) + if dbdir and not os.path.exists(dbdir): + raise CommandError("Directory %s does not exist" % dbdir) - if not libdir and not testparm: - raise CommandError("Please specify either libdir or testparm") + if not dbdir and not testparm: + raise CommandError("Please specify either dbdir or testparm") - if libdir and testparm: - self.outf.write("warning: both libdir and testparm specified, ignoring libdir.\n") - libdir = None + if dbdir and testparm: + self.outf.write("warning: both dbdir and testparm specified, ignoring dbdir.\n") + dbdir = None logger = self.get_logger() if quiet: @@ -605,12 +605,12 @@ class cmd_domain_samba3upgrade(Command): "If you intend to use this provision in production, rerun the script as root on a system supporting xattrs.") tmpfile.close() - # Set correct default values from libdir or testparm + # Set correct default values from dbdir or testparm paths = {} - if libdir: - paths["state directory"] = libdir - paths["private dir"] = libdir - paths["lock directory"] = libdir + if dbdir: + paths["state directory"] = dbdir + paths["private dir"] = dbdir + paths["lock directory"] = dbdir else: paths["state directory"] = get_testparm_var(testparm, smbconf, "state directory") paths["private dir"] = get_testparm_var(testparm, smbconf, "private dir") diff --git a/source4/scripting/python/samba/upgrade.py b/source4/scripting/python/samba/upgrade.py index 265bdbd..67dd333 100644 --- a/source4/scripting/python/samba/upgrade.py +++ b/source4/scripting/python/samba/upgrade.py @@ -243,6 +243,7 @@ def import_wins(samba4_winsdb, samba3_winsdb): :param samba4_winsdb: WINS database to import to :param samba3_winsdb: WINS database to import from """ + version_id = 0 for (name, (ttl, ips, nb_flags)) in samba3_winsdb.items(): @@ -472,7 +473,7 @@ def upgrade_from_samba3(samba3, logger, targetdir, session_info=None, useeadb=Fa try: secrets_db = samba3.get_secrets_db() except IOError, e: - raise ProvisioningError("Could not open '%s', the Samba3 secrets database: %s. Perhaps you specified the incorrect smb.conf, --testparm or --libdir option?" % samba3.privatedir_path("secrets.tdb"), str(e)) + raise ProvisioningError("Could not open '%s', the Samba3 secrets database: %s. Perhaps you specified the incorrect smb.conf, --testparm or --dbdir option?" % (samba3.privatedir_path("secrets.tdb"), str(e))) if not domainname: domainname = secrets_db.domains()[0] @@ -641,7 +642,15 @@ Please fix this account before attempting to upgrade again # Import WINS database logger.info("Importing WINS database") - import_wins(Ldb(result.paths.winsdb), samba3.get_wins_db()) + + samba3_winsdb = None + try: + samba3_winsdb = samba3.get_wins_db() + except IOError, e: + logger.warn('Cannot open wins database, Ignoring: %s', str(e)) + + if samba3_winsdb: + import_wins(Ldb(result.paths.winsdb), samba3_winsdb) # Set Account policy logger.info("Importing Account policy") diff --git a/source4/setup/tests/blackbox_s3upgrade.sh b/source4/setup/tests/blackbox_s3upgrade.sh index a4c4b79..f93b43f 100755 --- a/source4/setup/tests/blackbox_s3upgrade.sh +++ b/source4/setup/tests/blackbox_s3upgrade.sh @@ -38,7 +38,7 @@ cat - > $PREFIX/samba3-upgrade/samba3/smb1.conf <<EOF debug level = 0 EOF -testit "samba3-upgrade-member" $samba_tool domain samba3upgrade $PREFIX/samba3-upgrade/samba3/smb1.conf --targetdir=$PREFIX/samba3-upgrade/s4_1 --libdir=$PREFIX/samba3-upgrade/samba3 +testit "samba3-upgrade-member" $samba_tool domain samba3upgrade $PREFIX/samba3-upgrade/samba3/smb1.conf --targetdir=$PREFIX/samba3-upgrade/s4_1 --dbdir=$PREFIX/samba3-upgrade/samba3 # Test 2 (s3 dc) cat - > $PREFIX/samba3-upgrade/samba3/smb2.conf <<EOF @@ -59,7 +59,10 @@ cat - > $PREFIX/samba3-upgrade/samba3/smb2.conf <<EOF domain logons = yes EOF -testit "samba3-upgrade-dc" $samba_tool domain samba3upgrade $PREFIX/samba3-upgrade/samba3/smb2.conf --targetdir=$PREFIX/samba3-upgrade/s4_2 --libdir=$PREFIX/samba3-upgrade/samba3 +testit "samba3-upgrade-dc" $samba_tool domain samba3upgrade $PREFIX/samba3-upgrade/samba3/smb2.conf --targetdir=$PREFIX/samba3-upgrade/s4_2 --dbdir=$PREFIX/samba3-upgrade/samba3 + +#Run final test without a wins.dat +rm -f $PREFIX/samba3-upgrade/samba3/wins.dat # Test 3 (s3 dc using testparm hook) cat - > $PREFIX/samba3-upgrade/samba3/smb3.conf <<EOF diff --git a/source4/smb_server/smb/negprot.c b/source4/smb_server/smb/negprot.c index 739881d..2a31f9f 100644 --- a/source4/smb_server/smb/negprot.c +++ b/source4/smb_server/smb/negprot.c @@ -383,10 +383,6 @@ static void reply_nt1(struct smbsrv_request *req, uint16_t choice) } req->smb_conn->negotiate.server_credentials = talloc_reparent(req, req->smb_conn, server_credentials); - gensec_set_target_service(gensec_security, "cifs"); - - gensec_set_credentials(gensec_security, server_credentials); - oid = GENSEC_OID_SPNEGO; nt_status = gensec_start_mech_by_oid(gensec_security, oid); -- Samba Shared Repository