]>
Commit | Line | Data |
---|---|---|
c24f5e2a | 1 | diff -ur gajim-0.7-old/src/common/xmpp/transports.py gajim-0.7/src/common/xmpp/transports.py |
2 | --- gajim-0.7-old/src/common/xmpp/transports.py 2005-05-23 20:22:05.000000000 +0200 | |
3 | +++ gajim-0.7/src/common/xmpp/transports.py 2005-06-03 22:29:02.045692744 +0200 | |
4 | @@ -31,6 +31,7 @@ | |
5 | from simplexml import ustr | |
6 | from client import PlugIn | |
7 | from protocol import * | |
8 | +import dns.resolver | |
9 | ||
10 | class error: | |
11 | """An exception to be raised in case of low-level errors in methods of 'transports' module.""" | |
12 | @@ -50,6 +51,29 @@ | |
13 | PlugIn.__init__(self) | |
14 | self.DBG_LINE='socket' | |
15 | self._exported_methods=[self.send,self.disconnect] | |
16 | + | |
17 | + # SRV resolver hacks | |
18 | + host, port = server | |
19 | + possible_queries = [ | |
20 | + "_xmpp-client._tcp." + host, | |
21 | + "_jabber._tcp." + host, | |
22 | + ] | |
23 | + for query in possible_queries: | |
24 | + try: | |
25 | + answers = [x for x in dns.resolver.query (query, "SRV")] | |
26 | + if answers: | |
27 | + host = str (answers[0].target) | |
28 | + port = int (answers[0].port) | |
29 | + if port == 5223 and query[:5] == "_xmpp": | |
30 | + # temporary hack | |
31 | + port = 5222 | |
32 | + break | |
33 | + except: | |
34 | + pass | |
35 | + | |
36 | + server = (host, port) | |
37 | + # end of SRV resolver hacks | |
38 | + | |
39 | self._server = server | |
40 | ||
41 | def plugin(self, owner): |