|
265 |
ipaddr.IPAddress(ad_server) |
265 |
ipaddr.IPAddress(ad_server) |
266 |
ips.append(ad_server) |
266 |
ips.append(ad_server) |
267 |
except ValueError: |
267 |
except ValueError: |
|
|
268 |
dig_sources = ['',] |
268 |
if 'dns/forwarder1' in ucr: |
269 |
if 'dns/forwarder1' in ucr: |
|
|
270 |
dig_sources.append("@%s" % ucr['dns/forwarder1']) |
271 |
dig_sources.reverse() |
272 |
for dig_source in dig_sources: |
269 |
try: |
273 |
try: |
270 |
cmd = ['dig', '@%s' % ucr['dns/forwarder1'], ad_server, '+short'] |
274 |
cmd = ['dig',] |
|
|
275 |
if dig_source: |
276 |
cmd.append(dig_source) |
277 |
cmd.extend([ad_server, '+short']) |
271 |
ud.debug(ud.MODULE, ud.PROCESS, "running %s" % cmd) |
278 |
ud.debug(ud.MODULE, ud.PROCESS, "running %s" % cmd) |
272 |
p1 = subprocess.Popen(cmd, close_fds=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) |
279 |
p1 = subprocess.Popen(cmd, close_fds=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) |
273 |
stdout, stderr = p1.communicate() |
280 |
stdout, stderr = p1.communicate() |
|
277 |
for i in stdout.split('\n'): |
284 |
for i in stdout.split('\n'): |
278 |
if i: |
285 |
if i: |
279 |
ips.append(i) |
286 |
ips.append(i) |
|
|
287 |
if ips: |
288 |
break |
280 |
except OSError as ex: |
289 |
except OSError as ex: |
281 |
ud.debug(ud.MODULE, ud.ERROR, "%s failed: %s" % (cmd, ex.args[1])) |
290 |
ud.debug(ud.MODULE, ud.ERROR, "%s failed: %s" % (cmd, ex.args[1])) |
282 |
|
291 |
|