From: Garming Sam Date: Thu, 21 Jul 2016 04:01:20 +0000 (+1200) Subject: join.py: Don't add replica locations without the backend X-Git-Tag: tdb-1.3.10~239 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5d470d2886a782ad887a3d290d600c5dfa244fc0;p=thirdparty%2Fsamba.git join.py: Don't add replica locations without the backend BUG: https://bugzilla.samba.org/show_bug.cgi?id=9200 Signed-off-by: Garming Sam Reviewed-by: Andrew Bartlett --- diff --git a/python/samba/join.py b/python/samba/join.py index d84da6312f8..d1a1b085883 100644 --- a/python/samba/join.py +++ b/python/samba/join.py @@ -603,18 +603,21 @@ class dc_join(object): # Add the Replica-Locations or RO-Replica-Locations attributes # TODO Is this supposed to be for the schema partition too? expr = "(&(objectClass=crossRef)(ncName=%s))" % ldb.binary_encode(ctx.domaindns_zone) - domain = ctx.samdb.search(scope=ldb.SCOPE_ONELEVEL, + domain = (ctx.samdb.search(scope=ldb.SCOPE_ONELEVEL, attrs=[], base=ctx.samdb.get_partitions_dn(), - expression=expr) + expression=expr), ctx.domaindns_zone) expr = "(&(objectClass=crossRef)(ncName=%s))" % ldb.binary_encode(ctx.forestdns_zone) - forest = ctx.samdb.search(scope=ldb.SCOPE_ONELEVEL, + forest = (ctx.samdb.search(scope=ldb.SCOPE_ONELEVEL, attrs=[], base=ctx.samdb.get_partitions_dn(), - expression=expr) + expression=expr), ctx.forestdns_zone) + + for part, zone in (domain, forest): + if zone not in ctx.nc_list: + continue - for part in (domain, forest): if len(part) == 1: m = ldb.Message() m.dn = part[0].dn @@ -896,8 +899,6 @@ class dc_join(object): # At this point we should already have an entry in the ForestDNS # and DomainDNS NC (those under CN=Partions,DC=...) in order to # indicate that we hold a replica for this NC. - # - # FIXME make this optional based on --dns-backend= for nc in (ctx.domaindns_zone, ctx.forestdns_zone): if nc in ctx.nc_list: print "Replicating %s" % (str(nc))