Index: python/admember.py =================================================================== --- python/admember.py (Revision 52436) +++ python/admember.py (Arbeitskopie) @@ -265,9 +265,16 @@ ipaddr.IPAddress(ad_server) ips.append(ad_server) except ValueError: + dig_sources = ['',] if 'dns/forwarder1' in ucr: + dig_sources.append("@%s" % ucr['dns/forwarder1']) + dig_sources.reverse() + for dig_source in dig_sources: try: - cmd = ['dig', '@%s' % ucr['dns/forwarder1'], ad_server, '+short'] + cmd = ['dig',] + if dig_source: + cmd.append(dig_source) + cmd.extend([ad_server, '+short']) ud.debug(ud.MODULE, ud.PROCESS, "running %s" % cmd) p1 = subprocess.Popen(cmd, close_fds=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = p1.communicate() @@ -277,6 +284,8 @@ for i in stdout.split('\n'): if i: ips.append(i) + if ips: + break except OSError as ex: ud.debug(ud.MODULE, ud.ERROR, "%s failed: %s" % (cmd, ex.args[1]))