@@ -884,21 +884,21 @@ def check_bindversion(ns_server, timeout):
884884 return version
885885
886886
887- def check_recursive (ns_server ):
887+ def check_recursive (ns_server , timeout ):
888888 """
889889 Check if a NS Server is recursive.
890890 """
891891 is_recursive = False
892892 query = dns .message .make_query ('www.google.com.' , dns .rdatatype .NS )
893893 try :
894- response = dns .query .udp (query , ns_server )
894+ response = dns .query .udp (query , ns_server , timeout )
895895 recursion_flag_pattern = "\.*RA\.*"
896896 flags = dns .flags .to_text (response .flags )
897897 result = re .findall (recursion_flag_pattern , flags )
898898 if (result ):
899899 print_error ("\t Recursion enabled on NS Server {0}" .format (ns_server ))
900900 is_recursive = True
901- except (socket .error ):
901+ except (socket .error , dns . exception . Timeout ):
902902 return is_recursive
903903 return is_recursive
904904
@@ -961,7 +961,7 @@ def general_enum(res, domain, do_axfr, do_google, do_spf, do_whois, zw):
961961 print_status ('\t {0} {1} {2}' .format (ns_rcrd [0 ], ns_rcrd [1 ], ns_rcrd [2 ]))
962962
963963 # Save dictionary of returned record
964- recursive = check_recursive (ns_rcrd [2 ])
964+ recursive = check_recursive (ns_rcrd [2 ], res . _res . timeout )
965965 bind_ver = check_bindversion (ns_rcrd [2 ], res ._res .timeout )
966966 returned_records .extend ([
967967 {'type' : ns_rcrd [0 ], "target" : ns_rcrd [1 ], 'address' : ns_rcrd [2 ], 'recursive' : str (recursive ),
0 commit comments