From eec29db7c237c70732f94e33147c960fa8df39fb Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 10 Jun 2013 11:43:18 +1000 Subject: [PATCH] python samba-tool drs: Correctly print KCC references to deleted servers Tested against Windows 2008R2, presumably before the KCC ran. Andrew Bartlett Reviewed-by: Stefan Metzmacher --- python/samba/netcmd/drs.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/python/samba/netcmd/drs.py b/python/samba/netcmd/drs.py index ff8d8304ebf..de78ac71c78 100644 --- a/python/samba/netcmd/drs.py +++ b/python/samba/netcmd/drs.py @@ -170,10 +170,19 @@ class cmd_drs_showrepl(Command): self.message("==== KCC CONNECTION OBJECTS ====\n") for c in conn: - c_rdn, sep, c_server_dn = c['fromServer'][0].partition(',') - c_server_res = self.samdb.search(base=c_server_dn, scope=ldb.SCOPE_BASE, attrs=["dnsHostName"]) - c_server_dns = c_server_res[0]["dnsHostName"][0] self.message("Connection --") + + c_rdn, sep, c_server_dn = c['fromServer'][0].partition(',') + try: + c_server_res = self.samdb.search(base=c_server_dn, scope=ldb.SCOPE_BASE, attrs=["dnsHostName"]) + c_server_dns = c_server_res[0]["dnsHostName"][0] + except ldb.LdbError, (errno, _): + if errno == ldb.ERR_NO_SUCH_OBJECT: + self.message("\tWARNING: Connection to DELETED server!") + c_server_dns = "" + except KeyError: + c_server_dns = "" + self.message("\tConnection name: %s" % c['name'][0]) self.message("\tEnabled : %s" % attr_default(c, 'enabledConnection', 'TRUE')) self.message("\tServer DNS name : %s" % c_server_dns) -- 2.34.1