diff options
Diffstat (limited to 'ipalib/plugins')
-rw-r--r-- | ipalib/plugins/dns.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/ipalib/plugins/dns.py b/ipalib/plugins/dns.py index 88baee81..ced13efc 100644 --- a/ipalib/plugins/dns.py +++ b/ipalib/plugins/dns.py @@ -923,9 +923,17 @@ class dns_resolve(Command): query = '%s.%s.' % (query, api.env.domain) if query[-1] != '.': query = query + '.' - rr = dnsclient.query(query, dnsclient.DNS_C_IN, dnsclient.DNS_T_A) - self.log.debug('%s' % rr) - if len(rr) == 0: + reca = dnsclient.query(query, dnsclient.DNS_C_IN, dnsclient.DNS_T_A) + rec6 = dnsclient.query(query, dnsclient.DNS_C_IN, dnsclient.DNS_T_AAAA) + records = reca + rec6 + found = False + for rec in records: + if rec.dns_type == dnsclient.DNS_T_A or \ + rec.dns_type == dnsclient.DNS_T_AAAA: + found = True + break + + if not found: raise errors.NotFound(reason=_('Host \'%(host)s\' not found' % {'host':query})) return dict(result=True, value=query) |