--- /dev/null
+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):
+++ /dev/null
-diff -ur gajim-0.7-old/src/common/connection.py gajim-0.7/src/common/connection.py
---- gajim-0.7-old/src/common/connection.py 2005-05-23 20:22:06.000000000 +0200
-+++ gajim-0.7/src/common/connection.py 2005-06-03 22:29:02.033694568 +0200
-@@ -157,7 +157,10 @@
- def _vCardCB(self, con, vc):
- """Called when we recieve a vCard
- Parse the vCard and send it to plugins"""
-- vcard = {'jid': vc.getFrom().getStripped()}
-+ try:
-+ vcard = {'jid': vc.getFrom().getStripped()}
-+ except:
-+ vcard = {}
- if vc.getTag('vCard').getNamespace() == common.xmpp.NS_VCARD:
- card = vc.getChildren()[0]
- for info in card.getChildren():
-diff -ur gajim-0.7-old/src/common/xmpp/auth.py gajim-0.7/src/common/xmpp/auth.py
---- gajim-0.7-old/src/common/xmpp/auth.py 2005-05-23 20:22:05.000000000 +0200
-+++ gajim-0.7/src/common/xmpp/auth.py 2005-06-03 22:29:02.037693960 +0200
-@@ -109,7 +109,8 @@
- two Dispatcher.Process() calls. """
- self.username=username
- self.password=password
-- if self._owner.Dispatcher.Stream.features:
-+ if self.startsasl: pass
-+ elif self._owner.Dispatcher.Stream.features:
- try: self.FeaturesHandler(self._owner.Dispatcher,self._owner.Dispatcher.Stream.features)
- except NodeProcessed: pass
- else: self._owner.RegisterHandler('features',self.FeaturesHandler,xmlns=NS_STREAMS)
-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):