1717EXIT_SUCCESS = 0
1818
1919PROGNAME = 'domaincheck'
20- VERSION = '0.4 '
20+ VERSION = '0.5 '
2121
2222# A data structure to hold our findings.
2323# This conveniently serializes directly to JSON.
@@ -202,7 +202,7 @@ def lookup(dns_aspect, domain_name, rr, pattern=""):
202202
203203 return True
204204
205- def lookup2 (dns_aspect , domain_name , rr , pattern = "" ):
205+ def lookup2 (dns_aspect , domain_name , rr , pattern = "" , resolver = None ):
206206 result = {}
207207 data = None
208208
@@ -212,10 +212,8 @@ def lookup2(dns_aspect, domain_name, rr, pattern=""):
212212 return
213213
214214 try :
215- r = dns .resolver .Resolver ()
216- r .timeout = 1
217- r .lifetime = 1
218- r .nameservers = ["8.8.8.8" ]
215+ print ("lookup2: resolver=" , resolver )
216+ r = getResolver (resolver )
219217 data = r .resolve (domain_name , rr )
220218 except dns .resolver .LifetimeTimeout :
221219 result [domain_name ]['timeout' ] = True
@@ -249,12 +247,13 @@ def performAllChecks(domain):
249247 config = LOOKUPS [key ]
250248 lookup (key , config ['domain_prefix' ] + domain ,
251249 config ['rr' ], config ['pattern' ])
252- def performAllChecks2 (domain ):
250+ def performAllChecks2 (domain , resolver ):
253251 result = {}
252+ print ("performAllChecks2: resolver=" , resolver )
254253 for key in LOOKUPS .keys ():
255254 config = LOOKUPS [key ]
256255 result [key ]= lookup2 (key , config ['domain_prefix' ] + domain ,
257- config ['rr' ], config ['pattern' ])
256+ config ['rr' ], config ['pattern' ], resolver )
258257 return (result )
259258
260259def printCsv (domain , lineNum ):
@@ -388,16 +387,15 @@ def verbose(msg, level=1):
388387###
389388def main (domains , lookup_types = None , output_format = 'json' , resolver = None , verbosity = 0 ):
390389
391- global LOOKUPS_WANTED , OUTPUT_FORMAT , RESOLVER , VERBOSITY
390+ global LOOKUPS_WANTED , OUTPUT_FORMAT , VERBOSITY
392391 LOOKUPS_WANTED = lookup_types or ['all' ]
393392 OUTPUT_FORMAT = output_format
394- RESOLVER = getResolver (resolver )
395393 VERBOSITY = verbosity
396394 result = {}
397395 for domain in domains :
398396 verbose (f"Checking domain '{ domain } '..." )
399397 if 'all' in LOOKUPS_WANTED :
400- result [domain ]= performAllChecks2 (domain )
398+ result [domain ]= performAllChecks2 (domain , resolver )
401399 else :
402400 for l in LOOKUPS_WANTED :
403401 config = LOOKUPS [l ]
0 commit comments