Esempio n. 1
0
	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)
Esempio n. 2
0
	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()
Esempio n. 3
0
	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))