]>
Commit | Line | Data |
---|---|---|
a5072f60 RK |
1 | diff -urN gajim-0.7.1/src/common/xmpp/transports.py fix/gajim-0.7.1/src/common/xmpp/transports.py |
2 | --- gajim-0.7.1/src/common/xmpp/transports.py 2005-06-05 12:56:36.000000000 +0200 | |
3 | +++ fix/gajim-0.7.1/src/common/xmpp/transports.py 2005-06-15 01:47:56.000000000 +0200 | |
4 | @@ -32,6 +32,12 @@ | |
c24f5e2a | 5 | from client import PlugIn |
6 | from protocol import * | |
c24f5e2a | 7 | |
a5072f60 RK |
8 | +try: |
9 | + import dns.resolver | |
10 | +except: | |
11 | + pass | |
12 | + | |
13 | + | |
c24f5e2a | 14 | class error: |
15 | """An exception to be raised in case of low-level errors in methods of 'transports' module.""" | |
a5072f60 RK |
16 | def __init__(self,comment): |
17 | @@ -50,6 +56,28 @@ | |
c24f5e2a | 18 | PlugIn.__init__(self) |
19 | self.DBG_LINE='socket' | |
20 | self._exported_methods=[self.send,self.disconnect] | |
c24f5e2a | 21 | + |
a5072f60 RK |
22 | + # SRV resolver |
23 | + if 'dns' in globals(): # if dnspython is available support SRV | |
24 | + host, port = server | |
25 | + possible_queries = [ | |
26 | + "_xmpp-client._tcp." + host, | |
27 | + "_jabber._tcp." + host, | |
28 | + ] | |
29 | + | |
30 | + for query in possible_queries: | |
31 | + try: | |
32 | + answers = [x for x in dns.resolver.query(query, 'SRV')] | |
33 | + if answers: | |
34 | + host = str (answers[0].target) | |
35 | + port = int (answers[0].port) | |
36 | + break | |
37 | + except: | |
38 | + pass | |
39 | + | |
40 | + server = (host, port) | |
41 | + # end of SRV resolver | |
42 | + | |
c24f5e2a | 43 | self._server = server |
44 | ||
45 | def plugin(self, owner): |