summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2018-02-02 21:06:38 +0100
committerStefan Metzmacher <metze@samba.org>2018-02-27 16:00:11 +0100
commit92f0b55258defdafd0922b206a622f3fc687140f (patch)
tree5dd012527fbe36c43ee85b961c5a6e4e56bab826 /python
parent46f9507734eb04eafd5f1732950d48a408d9bd38 (diff)
downloadsamba-92f0b55258defdafd0922b206a622f3fc687140f.tar.gz
provision: fix the 'dnsdomain' for the local sam of a domain member
A member has a local AD database, which should not use the 'dnsdomain' as the one on domain controllers. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13285 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> (cherry picked from commit b02de5ad3e04babe1565868c69422cfc778458d9)
Diffstat (limited to 'python')
-rw-r--r--python/samba/provision/__init__.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/python/samba/provision/__init__.py b/python/samba/provision/__init__.py
index 2a926bbecf2..558587c3124 100644
--- a/python/samba/provision/__init__.py
+++ b/python/samba/provision/__init__.py
@@ -654,6 +654,22 @@ def guess_names(lp=None, hostname=None, domain=None, dnsdomain=None,
if domain == realm and not domain_names_forced:
raise ProvisioningError("guess_names: Realm '%s' must not be equal to short domain name '%s'!" % (realm, domain))
+ if serverrole != "active directory domain controller":
+ #
+ # This is the code path for a domain member
+ # where we provision the database as if we where
+ # on a domain controller, so we should not use
+ # the same dnsdomain as the domain controllers
+ # of our primary domain.
+ #
+ # This will be important if we start doing
+ # SID/name filtering and reject the local
+ # sid and names if they come from a domain
+ # controller.
+ #
+ realm = netbiosname
+ dnsdomain = netbiosname.lower()
+
if rootdn is None:
rootdn = domaindn