mirror of
https://github.com/samba-team/samba.git
synced 2025-08-02 00:22:11 +03:00
s4:provision Give a more useful error message in guess_names
The problem here is that as we start to get 'real users' they still decide to do silly things, like load empty but existing smb.conf files. Let's give them a better chance to discover what they did wrong. Andrew Bartlett
This commit is contained in:
@ -359,12 +359,16 @@ def guess_names(lp=None, hostname=None, domain=None, dnsdomain=None,
|
||||
|
||||
if dnsdomain is None:
|
||||
dnsdomain = lp.get("realm")
|
||||
assert dnsdomain is not None
|
||||
if dnsdomain is None or dnsdomain == "":
|
||||
raise ProvisioningError("guess_names: 'realm' not specified in supplied smb.conf!")
|
||||
|
||||
dnsdomain = dnsdomain.lower()
|
||||
|
||||
if serverrole is None:
|
||||
serverrole = lp.get("server role")
|
||||
assert serverrole is not None
|
||||
if serverrole is None:
|
||||
raise ProvisioningError("guess_names: 'server role' not specified in supplied smb.conf!")
|
||||
|
||||
serverrole = serverrole.lower()
|
||||
|
||||
realm = dnsdomain.upper()
|
||||
@ -372,10 +376,14 @@ def guess_names(lp=None, hostname=None, domain=None, dnsdomain=None,
|
||||
if lp.get("realm").upper() != realm:
|
||||
raise ProvisioningError("guess_names: Realm '%s' in smb.conf must match chosen realm '%s'!", lp.get("realm").upper(), realm)
|
||||
|
||||
if lp.get("server role").lower() != serverrole:
|
||||
raise ProvisioningError("guess_names: server role '%s' in smb.conf must match chosen server role '%s'!", lp.get("server role").upper(), serverrole)
|
||||
|
||||
if serverrole == "domain controller":
|
||||
if domain is None:
|
||||
domain = lp.get("workgroup")
|
||||
assert domain is not None
|
||||
if domain is None:
|
||||
raise ProvisioningError("guess_names: 'workgroup' not specified in supplied smb.conf!")
|
||||
domain = domain.upper()
|
||||
|
||||
if lp.get("workgroup").upper() != domain:
|
||||
|
Reference in New Issue
Block a user