silence traceback if dns.resolver.query(query, 'SRV') returns NoAnswer
dns.resolver.NoAnswer should be ignored in this case. here is a patch.
Index: src/common/connection.py
===================================================================
--- src/common/connection.py (revision 4322)
+++ src/common/connection.py (working copy)
@@ -1547,13 +1547,16 @@
query = '_xmpp-client._tcp.' + h.encode('utf-8')
try:
if HAS_DNSPYTHON:
- answers = [x for x in dns.resolver.query(query, 'SRV')]
- if answers:
- for a in answers:
- hosts.append({'host': str(a.target),
- 'port': int(a.port),
- 'prio': int(a.priority),
- 'weight': int(a.weight)})
+ try:
+ answers = [x for x in dns.resolver.query(query, 'SRV')]
+ if answers:
+ for a in answers:
+ hosts.append({'host': str(a.target),
+ 'port': int(a.port),
+ 'prio': int(a.priority),
+ 'weight': int(a.weight)})
+ except dns.resolver.NoAnswer:
+ pass
elif HAS_PYDNS:
# ensure we haven't cached an old configuration
DNS.ParseResolvConf()