1
0
mirror of https://github.com/samba-team/samba.git synced 2025-07-14 12:59:07 +03:00

s4-rodc: get the domain name from the partitions DN

don't rely on the netbios domain name being the first part of the
realm

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Andrew Tridgell
2010-09-09 18:02:08 +10:00
parent c95c3863df
commit b9c0b59034
2 changed files with 9 additions and 7 deletions

View File

@ -40,7 +40,7 @@ class join_ctx:
pass
def join_rodc(server=None, creds=None, lp=None, site=None, netbios_name=None,
targetdir=None):
targetdir=None, domain=None):
"""join as a RODC"""
if server is None:
@ -77,16 +77,18 @@ def join_rodc(server=None, creds=None, lp=None, site=None, netbios_name=None,
res = samdb.search(base="", scope=ldb.SCOPE_BASE, attrs=["dnsHostName"])
return res[0]["dnsHostName"][0]
def get_domain_name(samdb):
'''get netbios name of the domain from the partitions record'''
partitions_dn = samdb.get_partitions_dn()
res = samdb.search(base=partitions_dn, scope=ldb.SCOPE_ONELEVEL, attrs=["nETBIOSName"],
expression='ncName=%s' % samdb.get_default_basedn())
return res[0]["nETBIOSName"][0]
def get_mysid(samdb):
res = samdb.search(base="", scope=ldb.SCOPE_BASE, attrs=["tokenGroups"])
binsid = res[0]["tokenGroups"][0]
return samdb.schema_format_value("objectSID", binsid)
def get_domain_name(samdb):
# this should be done via CLDAP
res = samdb.search(base=samdb.get_default_basedn(), scope=ldb.SCOPE_BASE, attrs=["name"])
return res[0]["name"][0]
def join_add_objects(ctx):
'''add the various objects needed for the join'''
print "Adding %s" % ctx.acct_dn