def connect_stream(self): try: #protection against None stream self.hash = self.j.s5bserver.conn_id(self.sid, self.j.stream.me, self.jid) except AttributeError: self.event("stream_connect_failed") return self.j.s5bserver.add_hash(self.hash) i = Iq(to_jid=self.jid, stanza_type='set') b = ByteStreams(sid=self.sid) if pref('jabber.use_direct_ft'): if not pref('jabber.use_faulty_localhost_ips'): [ b.add_host(self.j.stream.me, h[0], h[1]) for h in self.j.s5bserver.hosts ] else: [ b.add_host(self.j.stream.me, h[0].replace("192", "129"), h[1]) for h in self.j.s5bserver.hosts ] if pref('jabber.use_proxy_ft'): b.hosts.extend( set(h for hosts in self.j.known_s5b_proxies.values() for h in hosts)) if pref('jabber.use_jabber_org_proxy', True): b.add_host("proxy.jabber.org", "208.245.212.98", 7777) b.as_xml(i.get_node()) self.j.send_cb(i, success=self.handle_ready, error=self.handle_error, timeout=self.timed_out)
def handle_proxy_connect(self): log.info('handle_proxy_connect called') self.conn.set_terminator(0) #activate streamhost = self.streamhost sh_jid = streamhost.jid targ_jid = self.jid b = ByteStreams(None, self.sid) b.activate = targ_jid i = Iq(to_jid=sh_jid, stanza_type='set') b.as_xml(i.get_node()) self.j.send_cb(i, success=self.handle_proxy_activate, error=self.handle_proxy_failure2, timeout=self.proxy_activate_timeout)
def on_succ(self, num_tries_taken, sock): host_used = self.hosts_bytestreams.hosts[num_tries_taken-1].jid self.my_sock = sock i2 = Iq(to_jid=self.from_, stanza_type="result", stanza_id = self.respond_id) b = ByteStreams() b.host_used = JID(host_used) b.as_xml(i2.get_node()) self.my_sock.found_terminator = self.close self.my_sock.collect_incoming_data = self.collect_incoming_data self.my_sock.set_terminator(self.si_ft.file.size) self.my_sock.bind_event("socket_closed", self.closed) self.my_sock.bind_event("socket_error", self.stream_error) self.j.send(i2) self.log.info("S5BFileXferHandler connect succeeded to %s", host_used) self.event("stream_connected")
def connect_stream(self): try: #protection against None stream self.hash = self.j.s5bserver.conn_id(self.sid, self.j.stream.me, self.jid) except AttributeError: self.event("stream_connect_failed") return self.j.s5bserver.add_hash(self.hash) i = Iq(to_jid=self.jid, stanza_type='set') b = ByteStreams(sid = self.sid ) if pref('jabber.use_direct_ft'): if not pref('jabber.use_faulty_localhost_ips'): [b.add_host(self.j.stream.me, h[0], h[1]) for h in self.j.s5bserver.hosts] else: [b.add_host(self.j.stream.me, h[0].replace("192", "129"), h[1]) for h in self.j.s5bserver.hosts] if pref('jabber.use_proxy_ft'): b.hosts.extend(set(h for hosts in self.j.known_s5b_proxies.values() for h in hosts)) if pref('jabber.use_jabber_org_proxy', True): b.add_host("proxy.jabber.org", "208.245.212.98", 7777) b.as_xml(i.get_node()) self.j.send_cb(i, success=self.handle_ready, error=self.handle_error, timeout=self.timed_out)