[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha2-563-g66df250

Jelmer Vernooij jelmer at samba.org
Fri Jan 25 00:42:40 GMT 2008


The branch, v4-0-test has been updated
       via  66df250ff355d3c1b7f0252fc1f95a8c79a28c6d (commit)
       via  9173c678efb6f74dbec64298bcb00952feff2ed7 (commit)
      from  859cffed9d3a62f9f7610d74472aa3c0d1979a35 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 66df250ff355d3c1b7f0252fc1f95a8c79a28c6d
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Jan 25 01:41:06 2008 +0100

    python/provision: Create private dir if it didn't exist yet.

commit 9173c678efb6f74dbec64298bcb00952feff2ed7
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri Jan 25 01:37:47 2008 +0100

    python: Add test for secretsdb_become_dc

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

Summary of changes:
 source/scripting/python/samba/tests/provision.py |   21 ++++++++++++++++++---
 source/setup/provision.py                        |   14 ++++++++------
 2 files changed, 26 insertions(+), 9 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/scripting/python/samba/tests/provision.py b/source/scripting/python/samba/tests/provision.py
index f5a0339..83952df 100644
--- a/source/scripting/python/samba/tests/provision.py
+++ b/source/scripting/python/samba/tests/provision.py
@@ -1,7 +1,7 @@
 #!/usr/bin/python
 
 # Unix SMB/CIFS implementation.
-# Copyright (C) Jelmer Vernooij <jelmer at samba.org> 2007
+# Copyright (C) Jelmer Vernooij <jelmer at samba.org> 2007-2008
 #   
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -18,7 +18,7 @@
 #
 
 import os
-from samba.provision import setup_secretsdb
+from samba.provision import setup_secretsdb, secretsdb_become_dc
 import samba.tests
 from ldb import Dn
 
@@ -37,7 +37,22 @@ class ProvisionTestCase(samba.tests.TestCaseInTempDir):
         finally:
             del ldb
             os.unlink(path)
-
+            
+    def test_become_dc(self):
+        path = os.path.join(self.tempdir, "secrets.ldb")
+        secrets_ldb = setup_secretsdb(path, setup_path, None, None, None)
+        try:
+            secretsdb_become_dc(secrets_ldb, setup_path, domain="EXAMPLE", 
+                   realm="example", netbiosname="myhost", 
+                   domainsid="S-5-22", keytab_path="keytab.path", 
+                   samdb_url="ldap://url/", 
+                   dns_keytab_path="dns.keytab", dnspass="bla", 
+                           machinepass="machinepass", dnsdomain="example.com")
+            self.assertEquals(1, 
+                    len(secrets_ldb.search("samAccountName=krbtgt,flatname=EXAMPLE,CN=Principals")))
+        finally:
+            del secrets_ldb
+            os.unlink(path)
 
 class Disabled:
     def test_setup_templatesdb(self):
diff --git a/source/setup/provision.py b/source/setup/provision.py
index 743a947..c8087f7 100755
--- a/source/setup/provision.py
+++ b/source/setup/provision.py
@@ -2,7 +2,8 @@
 #
 # Unix SMB/CIFS implementation.
 # provision a Samba4 server
-# Copyright (C) Jelmer Vernooij <jelmer at samba.org> 2007
+# Copyright (C) Jelmer Vernooij <jelmer at samba.org> 2007-2008
+# Copyright (C) Andrew Bartlett <abartlet at samba.org> 2008
 #
 # Based on the original in EJS:
 # Copyright (C) Andrew Tridgell 2005
@@ -115,11 +116,15 @@ if opts.realm is None or opts.domain is None:
 	sys.exit(1)
 
 # cope with an initially blank smb.conf 
+private_dir = None
 lp = sambaopts.get_loadparm()
 if opts.targetdir is not None:
     if not os.path.exists(opts.targetdir):
         os.mkdir(opts.targetdir)
-    lp.set("private dir", os.path.abspath(opts.targetdir))
+    private_dir = os.path.join(opts.targetdir, "private")
+    if not os.path.exists(private_dir):
+        os.mkdir(private_dir)
+    lp.set("private dir", os.path.abspath(private_dir))
     lp.set("lock dir", os.path.abspath(opts.targetdir))
 lp.set("realm", opts.realm)
 lp.set("workgroup", opts.domain)
@@ -129,9 +134,6 @@ lp.set("server role", opts.server_role or "domain controller")
 if opts.aci is not None:
 	print "set ACI: %s" % opts.aci
 
-private_dir = None
-if opts.targetdir is not None:
-    private_dir = os.path.join(opts.targetdir, "private")
 paths = provision_paths_from_lp(lp, opts.realm.lower(), private_dir)
 paths.smbconf = sambaopts.get_loadparm_path()
 
@@ -168,4 +170,4 @@ def shell_escape(arg):
     return arg
 message(" ".join([shell_escape(arg) for arg in sys.argv]))
 
-message("All OK")
\ No newline at end of file
+message("All OK")


-- 
Samba Shared Repository


More information about the samba-cvs mailing list