def run(self, server=None, port=None): self.create_socket(socket.AF_INET, socket.SOCK_STREAM) self.log(logging.INFO, "Getting address of target server from mrim.mail.ru:2042") s = server or 'mrim.mail.ru' p = port or 2042 try: self.connect((s, p)) except socket.error, e: reason = utils.socket_error(e) self.failure_exit("Can't get address of target server (%s)" % reason)
def handle_error(self): t, err, tb = sys.exc_info() if t == socket.error: reason = utils.socket_error(err) if self.state == 'init': if reason != 'Broken pipe': self.failure_exit("Can't get address of target server (%s)" % reason) else: self.failure_exit(reason) else: traceback.print_exc()
def _send_packet(self, p): typ = p.getType() if not ((self.state=='session_established') or (typ in [MRIM_CS_HELLO, MRIM_CS_LOGIN2])): self.__outbuf.append(p) return p.getId() if typ!= MRIM_CS_PING: self.log(logging.DEBUG, "Send %s packet (type=%s):\n%s" % (num_type[typ],hex(int(typ)), self.dump_packet(p))) else: self.log(logging.DEBUG, "Ping") try: self.send(p.__str__()) except socket.error, e: self.failure_exit(utils.socket_error(e))