diff --git a/.gitignore b/.gitignore index 0fe2c40..788de4c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *.pyc +.project build/ diff --git a/sleekxmpp/__init__.py b/sleekxmpp/__init__.py index 773f793..e2cfb1b 100644 --- a/sleekxmpp/__init__.py +++ b/sleekxmpp/__init__.py @@ -96,7 +96,7 @@ class ClientXMPP(basexmpp, XMLStream): else: logging.debug("Since no address is supplied, attempting SRV lookup.") try: - answers = dns.resolver.query("_xmpp-client._tcp.%s" % self.server, "SRV") + answers = dns.resolver.query("_xmpp-client._tcp.%s" % self.server) except dns.resolver.NXDOMAIN: logging.debug("No appropriate SRV record found. Using JID server name.") else: @@ -131,10 +131,14 @@ class ClientXMPP(basexmpp, XMLStream): def reconnect(self): logging.info("Reconnecting") self.event("disconnected") + self.authenticated = False + self.sessionstarted = False XMLStream.reconnect(self) def disconnect(self, init=True, close=False, reconnect=False): self.event("disconnected") + self.authenticated = False + self.sessionstarted = False XMLStream.disconnect(self, reconnect) def registerFeature(self, mask, pointer, breaker = False): diff --git a/sleekxmpp/xmlstream/xmlstream.py b/sleekxmpp/xmlstream/xmlstream.py index 025884b..13a87a6 100644 --- a/sleekxmpp/xmlstream/xmlstream.py +++ b/sleekxmpp/xmlstream/xmlstream.py @@ -199,9 +199,11 @@ class XMLStream(object): traceback.print_exc() self.disconnect(reconnect=True) if self.state['reconnect']: + self.state.set('connected', False) + self.state.set('processing', False) self.reconnect() - self.state.set('processing', False) - self.eventqueue.put(('quit', None, None)) + else: + self.eventqueue.put(('quit', None, None)) #self.__thread['readXML'] = threading.Thread(name='readXML', target=self.__readXML) #self.__thread['readXML'].start() #self.__thread['spawnEvents'] = threading.Thread(name='spawnEvents', target=self.__spawnEvents)