Doesn't fail if host has NO SRV record

Just catch an other exception type coming from the dns resolver that
could be raised with hosts like "anon.example.com" which just don't have
any SRV record.
This commit is contained in:
Florent Le Coz 2010-11-08 09:14:17 +08:00 committed by Lance Stout
parent 4fb77ac878
commit 9dbf246f0b
3 changed files with 2 additions and 11 deletions

View file

@ -28,15 +28,6 @@ from sleekxmpp.xmlstream.handler import *
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
# Flag indicating if DNS SRV records are available for use.
SRV_SUPPORT = True
try:
import dns.resolver
except:
SRV_SUPPORT = False
# In order to make sure that Unicode is handled properly # In order to make sure that Unicode is handled properly
# in Python 2.x, reset the default encoding. # in Python 2.x, reset the default encoding.
if sys.version_info < (3, 0): if sys.version_info < (3, 0):

View file

@ -164,7 +164,7 @@ class ClientXMPP(BaseXMPP):
try: try:
xmpp_srv = "_xmpp-client._tcp.%s" % self.server xmpp_srv = "_xmpp-client._tcp.%s" % self.server
answers = dns.resolver.query(xmpp_srv, dns.rdatatype.SRV) answers = dns.resolver.query(xmpp_srv, dns.rdatatype.SRV)
except dns.resolver.NXDOMAIN: except (dns.resolver.NXDOMAIN, dns.resolver.NoAnswer):
log.debug("No appropriate SRV record found." + \ log.debug("No appropriate SRV record found." + \
" Using JID server name.") " Using JID server name.")
else: else:

View file

@ -15,7 +15,7 @@ import hashlib
from sleekxmpp import plugins from sleekxmpp import plugins
from sleekxmpp import stanza from sleekxmpp import stanza
from sleekxmpp.basexmpp import BaseXMPP, SRV_SUPPORT from sleekxmpp.basexmpp import BaseXMPP
from sleekxmpp.xmlstream import XMLStream, RestartStream from sleekxmpp.xmlstream import XMLStream, RestartStream
from sleekxmpp.xmlstream import StanzaBase, ET from sleekxmpp.xmlstream import StanzaBase, ET
from sleekxmpp.xmlstream.matcher import * from sleekxmpp.xmlstream.matcher import *