summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <marius.bakke@usit.uio.no>2021-05-06 18:06:11 +0200
committerMarius Bakke <marius.bakke@usit.uio.no>2021-05-06 18:06:11 +0200
commitbdb885aa9b96730179b85dc42f07ec3357de45aa (patch)
treededf232b62a3c0ec3c665bd620d6495acd5df4a4
parent2d6630c50663e9cd55d7485642bac2eda02e96a0 (diff)
downloaddnspython-bdb885aa9b96730179b85dc42f07ec3357de45aa.tar.gz
Prevent import failure when /etc/protocols is unavailable.
Fixes #662. * dns/rdtypes/IN/WKS.py: Wrap TCP and UDP protocol lookups in try...except.
-rw-r--r--dns/rdtypes/IN/WKS.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/dns/rdtypes/IN/WKS.py b/dns/rdtypes/IN/WKS.py
index 0d36281..e9bc33c 100644
--- a/dns/rdtypes/IN/WKS.py
+++ b/dns/rdtypes/IN/WKS.py
@@ -22,9 +22,13 @@ import dns.ipv4
import dns.immutable
import dns.rdata
-_proto_tcp = socket.getprotobyname('tcp')
-_proto_udp = socket.getprotobyname('udp')
-
+try:
+ _proto_tcp = socket.getprotobyname('tcp')
+ _proto_udp = socket.getprotobyname('udp')
+except OSError:
+ # Fall back to defaults in case /etc/protocols is unavailable.
+ _proto_tcp = 6
+ _proto_udp = 17
@dns.immutable.immutable
class WKS(dns.rdata.Rdata):