Exemple #1
0
 def logon(self, user, password, iq):
     """ logon on the xmpp server. """
     try: self.auth(user, password, iq)
     except CannotAuth:
         logging.warn("%s - sleeping 20 seconds before register" % self.cfg.name)
         time.sleep(20)
         self.failure = ""
         self.stopped = False
         try: self.register(user, password)
         except Exception, ex: self.exit() ; raise
         time.sleep(5)
         iq = self.auth_sasl(user, password, iq, False)
         #self.auth(user, password, iq)
     XMLStream.logon(self)
Exemple #2
0
 def logon(self, user, password):
     """ logon on the xmpp server. """
     iq = self.initstream()
     if not iq: logging.error("sxmpp - cannot init stream") ; return
     if not self.auth(user, password, iq.id):
         logging.warn("%s - sleeping 20 seconds before register" % self.name)
         time.sleep(20)
         if self.register(user, password):
             time.sleep(5)
             self.auth(user, password)
         else:
             time.sleep(10)
             self.exit()
             return
     XMLStream.logon(self)
Exemple #3
0
                self.stopped = False
                try:
                    if not self.register(user, password):
                        self.exit()
                        return
                except Exception, ex:
                    self.exit()
                    raise
                time.sleep(5)
                iq = self.auth_sasl(user, password, iq, False)
            else:
                logging.error(
                    "stopping .. you can try to use --register to register the bot with the server"
                )
                raise CantLogon(user)
        XMLStream.logon(self)
        return True

    def register(self, jid, password):
        """ register the jid to the server. """
        try:
            resource = jid.split("/")[1]
        except IndexError:
            resource = "jsb"
        logging.debug('%s - registering %s' % (self.cfg.name, jid))
        iq = self.waiter(
            """<iq type='get'><query xmlns='jabber:iq:register'/></iq>""")
        if not iq:
            logging.error("%s - unable to register" % self.cfg.name)
            return
        iq = self.waiter(