summaryrefslogtreecommitdiff
path: root/source4/scripting
diff options
context:
space:
mode:
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>2015-04-01 17:46:43 +1300
committerAndrew Bartlett <abartlet@samba.org>2015-05-29 11:08:21 +0200
commitd0f9f32d0a912972b5b23a4c9015a706d539b638 (patch)
treed647cd6979166e383b00be0e77f12b12417f3a4b /source4/scripting
parent7ac59745b399740b675d4cf9e635c709c7ac67ae (diff)
downloadsamba-d0f9f32d0a912972b5b23a4c9015a706d539b638.tar.gz
KCC: Fail earlier if there is no IP transport
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4/scripting')
-rwxr-xr-xsource4/scripting/bin/samba_kcc22
1 files changed, 8 insertions, 14 deletions
diff --git a/source4/scripting/bin/samba_kcc b/source4/scripting/bin/samba_kcc
index 5dcda3e0995..3696e26d79a 100755
--- a/source4/scripting/bin/samba_kcc
+++ b/source4/scripting/bin/samba_kcc
@@ -77,6 +77,7 @@ class KCC(object):
self.part_table = {} # partition objects
self.site_table = {}
self.transport_table = {}
+ self.ip_transport = None
self.sitelink_table = {}
self.dsa_by_dnstr = {}
self.dsa_by_guid = {}
@@ -123,14 +124,13 @@ class KCC(object):
transport = Transport(dnstr)
transport.load_transport(self.samdb)
+ self.transport_table.setdefault(str(transport.guid),
+ transport)
+ if transport.name == 'IP':
+ self.ip_transport = transport
- # already loaded
- if str(transport.guid) in self.transport_table:
- continue
-
- # Assign this transport to table
- # and index by guid
- self.transport_table[str(transport.guid)] = transport
+ if self.ip_transport is None:
+ raise KCCError("there doesn't seem to be an IP transport")
def load_all_sitelinks(self):
"""Loads the inter-site siteLink objects
@@ -1672,13 +1672,7 @@ class KCC(object):
partial_ok = False
# Utilize the IP transport only for now
- transport = None
- for transport in self.transport_table.values():
- if transport.name == "IP":
- break
-
- if transport is None:
- raise KCCError("Unable to find inter-site transport for IP")
+ transport = self.ip_transport
DEBUG("edge_list %s" % edge_list)
for e in edge_list: