diff options
Diffstat (limited to 'source4/scripting/python')
-rw-r--r-- | source4/scripting/python/samba/join.py | 2 | ||||
-rw-r--r-- | source4/scripting/python/samba/samdb.py | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/source4/scripting/python/samba/join.py b/source4/scripting/python/samba/join.py index 2cb1e3da0b..679dc5bf99 100644 --- a/source4/scripting/python/samba/join.py +++ b/source4/scripting/python/samba/join.py @@ -69,6 +69,8 @@ def join_rodc(server=None, creds=None, lp=None, site=None, netbios_name=None, def find_dc(ctx, domain): '''find a writeable DC for the given domain''' ctx.cldap_ret = ctx.net.finddc(domain, nbt.NBT_SERVER_LDAP | nbt.NBT_SERVER_DS | nbt.NBT_SERVER_WRITABLE) + if ctx.cldap_ret.client_site is not None and ctx.cldap_ret.client_site != "": + ctx.site = ctx.cldap_ret.client_site return ctx.cldap_ret.pdc_dns_name; diff --git a/source4/scripting/python/samba/samdb.py b/source4/scripting/python/samba/samdb.py index e2ac37a240..bbc52a9ebd 100644 --- a/source4/scripting/python/samba/samdb.py +++ b/source4/scripting/python/samba/samdb.py @@ -40,7 +40,7 @@ class SamDB(samba.Ldb): def __init__(self, url=None, lp=None, modules_dir=None, session_info=None, credentials=None, flags=0, options=None, global_schema=True, - auto_connect=True, am_rodc=False): + auto_connect=True, am_rodc=None): self.lp = lp if not auto_connect: url = None @@ -54,7 +54,8 @@ class SamDB(samba.Ldb): if global_schema: dsdb._dsdb_set_global_schema(self) - dsdb._dsdb_set_am_rodc(self, am_rodc) + if am_rodc is not None: + dsdb._dsdb_set_am_rodc(self, am_rodc) def connect(self, url=None, flags=0, options=None): if self.lp is not None: @@ -63,6 +64,9 @@ class SamDB(samba.Ldb): super(SamDB, self).connect(url=url, flags=flags, options=options) + def am_rodc(self): + return dsdb._am_rodc(self) + def domain_dn(self): # find the DNs for the domain res = self.search(base="", |