diff -ur gajim-0.7-old/src/common/xmpp/transports.py gajim-0.7/src/common/xmpp/transports.py --- gajim-0.7-old/src/common/xmpp/transports.py 2005-05-23 20:22:05.000000000 +0200 +++ gajim-0.7/src/common/xmpp/transports.py 2005-06-03 22:29:02.045692744 +0200 @@ -31,6 +31,7 @@ from simplexml import ustr from client import PlugIn from protocol import * +import dns.resolver class error: """An exception to be raised in case of low-level errors in methods of 'transports' module.""" @@ -50,6 +51,29 @@ PlugIn.__init__(self) self.DBG_LINE='socket' self._exported_methods=[self.send,self.disconnect] + + # SRV resolver hacks + host, port = server + possible_queries = [ + "_xmpp-client._tcp." + host, + "_jabber._tcp." + host, + ] + for query in possible_queries: + try: + answers = [x for x in dns.resolver.query (query, "SRV")] + if answers: + host = str (answers[0].target) + port = int (answers[0].port) + if port == 5223 and query[:5] == "_xmpp": + # temporary hack + port = 5222 + break + except: + pass + + server = (host, port) + # end of SRV resolver hacks + self._server = server def plugin(self, owner):