]> git.pld-linux.org Git - packages/gajim.git/blob - gajim-SRV.patch
- enhancement
[packages/gajim.git] / gajim-SRV.patch
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 @@
5  from client import PlugIn
6  from protocol import *
7  
8 +try:
9 +    import dns.resolver
10 +except:
11 +    pass
12 +        
13 +
14  class error:
15      """An exception to be raised in case of low-level errors in methods of 'transports' module."""
16      def __init__(self,comment):
17 @@ -50,6 +56,28 @@
18          PlugIn.__init__(self)
19          self.DBG_LINE='socket'
20          self._exported_methods=[self.send,self.disconnect]
21 +
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 +
43          self._server = server
44  
45      def plugin(self, owner):
This page took 0.031439 seconds and 3 git commands to generate.