mirror of
https://github.com/samba-team/samba.git
synced 2025-08-02 00:22:11 +03:00
s4-provision: fixed the GUIDs in the provision using dbcheck
some DNs are are not setup with GUIDs during the provision because of circular dependencies between objects. This adds a dbcheck pass to the provision to fix those DNs Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
@ -80,6 +80,8 @@ import samba.param
|
||||
import samba.registry
|
||||
from samba.schema import Schema
|
||||
from samba.samdb import SamDB
|
||||
from samba.dbchecker import dbcheck
|
||||
|
||||
|
||||
VALID_NETBIOS_CHARS = " !#$%&'()-.@^_{}~"
|
||||
DEFAULT_POLICY_GUID = "31B2F340-016D-11D2-945F-00C04FB984F9"
|
||||
@ -1835,6 +1837,20 @@ def provision(logger, session_info, credentials, smbconf=None,
|
||||
logger.info("Failed to chown %s to bind gid %u",
|
||||
dns_keytab_path, paths.bind_gid)
|
||||
|
||||
# fix any dangling GUIDs from the provision
|
||||
logger.info("Fixing provision GUIDs")
|
||||
chk = dbcheck(samdb, samdb_schema=samdb, verbose=False, fix=True, yes=True, quiet=True)
|
||||
samdb.transaction_start()
|
||||
chk.check_database(DN=None, controls=["search_options:1:2", "show_deleted:1"],
|
||||
attrs=['defaultObjectCategory',
|
||||
'objectCategory',
|
||||
'ipsecOwnersReference',
|
||||
'ipsecFilterReference',
|
||||
'ipsecISAKMPReference',
|
||||
'ipsecNegotiationPolicyReference',
|
||||
'ipsecNFAReference'])
|
||||
samdb.transaction_commit()
|
||||
|
||||
|
||||
logger.info("Please install the phpLDAPadmin configuration located at %s into /etc/phpldapadmin/config.php",
|
||||
paths.phpldapadminconfig)
|
||||
|
Reference in New Issue
Block a user