diff options
author | Amitay Isaacs <amitay@gmail.com> | 2012-01-06 10:28:52 +1100 |
---|---|---|
committer | Amitay Isaacs <amitay@samba.org> | 2012-01-06 02:41:22 +0100 |
commit | 200c22b9940f8e222f20f95691bc61dcb883b609 (patch) | |
tree | 30aeaf6858c880d8f663d06b438fe00aeee6f275 /source4/scripting/python | |
parent | f8163195b083d0c2bff25a6078224605d37562e1 (diff) | |
download | samba-200c22b9940f8e222f20f95691bc61dcb883b609.tar.gz samba-200c22b9940f8e222f20f95691bc61dcb883b609.tar.bz2 samba-200c22b9940f8e222f20f95691bc61dcb883b609.zip |
samba-tool:dns: Check through all the DNS records for a match
There can be multiple dns records for a specified record type.
Autobuild-User: Amitay Isaacs <amitay@samba.org>
Autobuild-Date: Fri Jan 6 02:41:22 CET 2012 on sn-devel-104
Diffstat (limited to 'source4/scripting/python')
-rw-r--r-- | source4/scripting/python/samba/netcmd/dns.py | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/source4/scripting/python/samba/netcmd/dns.py b/source4/scripting/python/samba/netcmd/dns.py index 002c5a2eab..74b649ee1e 100644 --- a/source4/scripting/python/samba/netcmd/dns.py +++ b/source4/scripting/python/samba/netcmd/dns.py @@ -457,6 +457,7 @@ class SRVRecord(dnsserver.DNS_RPC_RECORD): srv.nameTarget.len = len(target) self.data = srv +# Match a dns record with specified data def dns_record_match(dns_conn, server, zone, name, record_type, data): select_flags = dnsserver.DNS_RPC_VIEW_AUTHORITY_DATA @@ -474,36 +475,35 @@ def dns_record_match(dns_conn, server, zone, name, record_type, data): except RuntimeError, e: return None + if not res or res.count == 0: + return None + rec_match = None - if res and res.count > 0: - recs = res.rec[0] - for rec in recs.records: - if rec.wType == record_type: - rec_match = rec - break - - if rec_match: + for rec in res.rec[0].records: + if rec.wType != record_type: + continue + found = False if record_type == dnsp.DNS_TYPE_A: - if rec_match.data == data: + if rec.data == data: found = True elif record_type == dnsp.DNS_TYPE_AAAA: - if rec_match.data == data: + if rec.data == data: found = True elif record_type == dnsp.DNS_TYPE_PTR: - if rec_match.data.str.rstrip('.') == data.rstrip('.'): + if rec.data.str.rstrip('.') == data.rstrip('.'): found = True elif record_type == dnsp.DNS_TYPE_CNAME: - if rec_match.data.str.rstrip('.') == data.rstrip('.'): + if rec.data.str.rstrip('.') == data.rstrip('.'): found = True elif record_type == dnsp.DNS_TYPE_NS: - if rec_match.data.str.rstrip('.') == data.rstrip('.'): + if rec.data.str.rstrip('.') == data.rstrip('.'): found = True - if found: - return rec_match + rec_match = rec + break - return None + return rec_match class cmd_serverinfo(Command): |