diff --git a/DNS/Base.py b/DNS/Base.py index 34a6da7..a558889 100644 --- a/DNS/Base.py +++ b/DNS/Base.py @@ -15,6 +15,7 @@ import socket, string, types, time, select import errno from . import Type,Class,Opcode import asyncore +import os # # This random generator is used for transaction ids and port selection. This # is important to prevent spurious results from lost packets, and malicious @@ -50,8 +51,12 @@ defaults= { 'protocol':'udp', 'port':53, 'opcode':Opcode.QUERY, def ParseResolvConf(resolv_path="/etc/resolv.conf"): "parses the /etc/resolv.conf file and sets defaults for name servers" - with open(resolv_path, 'r') as stream: - return ParseResolvConfFromIterable(stream) + if os.path.exists(resolv_path): + with open(resolv_path, 'r') as stream: + return ParseResolvConfFromIterable(stream) + else: + defaults['server'].append('127.0.0.1') + return def ParseResolvConfFromIterable(lines): "parses a resolv.conf formatted stream and sets defaults for name servers"