1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-03 04:22:09 +03:00

Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-gmake3

Conflicts:

	source/Makefile
	source/build/smb_build/makefile.pm
	source/librpc/config.mk
(This used to be commit 3e02fcfd3f)
This commit is contained in:
Jelmer Vernooij
2008-03-03 10:50:53 +01:00
26 changed files with 910 additions and 415 deletions

View File

@ -127,7 +127,7 @@ class Ldb(ldb.Ldb):
try:
self.delete(msg.dn)
except ldb.LdbError, (LDB_ERR_NO_SUCH_OBJECT, _):
# Ignor eno such object errors
# Ignore no such object errors
pass
res = self.search(basedn, ldb.SCOPE_SUBTREE, "(&(|(objectclass=*)(distinguishedName=*))(!(distinguishedName=@BASEINFO)))", ["distinguishedName"])
@ -151,7 +151,14 @@ class Ldb(ldb.Ldb):
previous_remaining = current_remaining
current_remaining = len(res2)
for msg in res2:
self.delete(msg.dn)
try:
self.delete(msg.dn)
# Ignore no such object errors
except ldb.LdbError, (LDB_ERR_NO_SUCH_OBJECT, _):
pass
# Ignore not allowed on non leaf errors
except ldb.LdbError, (LDB_ERR_NOT_ALLOWED_ON_NON_LEAF, _):
pass
def load_ldif_file_add(self, ldif_path):
"""Load a LDIF file.

View File

@ -279,8 +279,6 @@ def setup_samdb_partitions(samdb_path, setup_path, message, lp, session_info,
Alternatively, provision() may call this, and then populate the database.
:param erase: Remove the existing data present in the database.
:note: This will wipe the Sam Database!
:note: This function always removes the local SAM LDB file. The erase
@ -289,10 +287,15 @@ def setup_samdb_partitions(samdb_path, setup_path, message, lp, session_info,
"""
assert session_info is not None
if os.path.exists(samdb_path):
samdb = SamDB(samdb_path, session_info=session_info,
credentials=credentials, lp=lp)
# Wipes the database
try:
samdb.erase()
except:
os.unlink(samdb_path)
# Also wipes the database
samdb = SamDB(samdb_path, session_info=session_info,
credentials=credentials, lp=lp)
@ -547,7 +550,7 @@ def setup_self_join(samdb, configdn, schemadn, domaindn,
def setup_samdb(path, setup_path, session_info, credentials, lp,
schemadn, configdn, domaindn, dnsdomain, realm,
netbiosname, message, hostname, rootdn, erase,
netbiosname, message, hostname, rootdn,
domainsid, aci, domainguid, policyguid,
domainname, fill, adminpass, krbtgtpass,
machinepass, hostguid, invocationid, dnspass,
@ -560,6 +563,8 @@ def setup_samdb(path, setup_path, session_info, credentials, lp,
assert serverrole in ("domain controller", "member server")
erase = (fill != FILL_DRS)
# Also wipes the database
setup_samdb_partitions(path, setup_path, schemadn=schemadn, configdn=configdn,
domaindn=domaindn, message=message, lp=lp,
@ -726,7 +731,7 @@ def provision(lp, setup_dir, message, paths, session_info,
hostguid=None, adminpass=None, krbtgtpass=None, domainguid=None,
policyguid=None, invocationid=None, machinepass=None,
dnspass=None, root=None, nobody=None, nogroup=None, users=None,
wheel=None, backup=None, aci=None, serverrole=None, erase=False,
wheel=None, backup=None, aci=None, serverrole=None,
ldap_backend=None, ldap_backend_type=None, sitename=DEFAULTSITE):
"""Provision samba4
@ -830,7 +835,7 @@ def provision(lp, setup_dir, message, paths, session_info,
message("Setting up smb.conf")
if serverrole == "domain controller":
smbconfsuffix = "dc"
elif serverrole == "member":
elif serverrole == "member server":
smbconfsuffix = "member"
setup_file(setup_path("provision.smb.conf.%s" % smbconfsuffix),
paths.smbconf, {
@ -873,7 +878,7 @@ def provision(lp, setup_dir, message, paths, session_info,
configdn=configdn, domaindn=domaindn,
dnsdomain=dnsdomain, netbiosname=netbiosname,
realm=realm, message=message, hostname=hostname,
rootdn=rootdn, erase=erase, domainsid=domainsid,
rootdn=rootdn, domainsid=domainsid,
aci=aci, domainguid=domainguid, policyguid=policyguid,
domainname=domain, fill=samdb_fill,
adminpass=adminpass, krbtgtpass=krbtgtpass,