]> git.pld-linux.org Git - packages/gajim.git/blob - gajim-SRV.patch
- up to 0.7.1
[packages/gajim.git] / gajim-SRV.patch
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):
This page took 0.046814 seconds and 3 git commands to generate.