[Telepathy-commits] [telepathy-gabble/master] split _socks5_expect_connection to smaller private functions
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Wed Feb 25 04:44:16 PST 2009
---
tests/twisted/bytestream.py | 29 +++++++++++++++++++----------
1 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/tests/twisted/bytestream.py b/tests/twisted/bytestream.py
index 16157a9..3766d84 100644
--- a/tests/twisted/bytestream.py
+++ b/tests/twisted/bytestream.py
@@ -124,24 +124,34 @@ class BytestreamS5B(Bytestream):
streamhost['port'] = str(port)
self.stream.send(iq)
- def _socks5_expect_connection(self, q, sid, initiator, target):
- event = q.expect('s5b-data-received')
+ def _wait_auth_request(self):
+ event = self.q.expect('s5b-data-received')
assert event.data == '\x05\x01\x00' # version 5, 1 auth method, no auth
- transport = event.transport
- transport.write('\x05\x00') # version 5, no auth
- event = q.expect('s5b-data-received')
+ self.transport = event.transport
+
+ def _send_auth_reply(self):
+ self.transport.write('\x05\x00') # version 5, no auth
+
+ def _wait_connect_cmd(self):
+ event = self.q.expect('s5b-data-received', transport=self.transport)
# version 5, connect, reserved, domain type
expected_connect = '\x05\x01\x00\x03'
expected_connect += chr(40) # len (SHA-1)
# sha-1(sid + initiator + target)
- unhashed_domain = sid + initiator + target
+ unhashed_domain = self.stream_id + self.initiator + self.target
expected_connect += sha.new(unhashed_domain).hexdigest()
expected_connect += '\x00\x00' # port
assert event.data == expected_connect
- transport.write('\x05\x00') #version 5, ok
+ def _send_connect_reply(self):
+ # FIXME: This is wrong. Change once SOCKS5 is fixed
+ self.transport.write('\x05\x00') #version 5, ok
- return transport
+ def _socks5_expect_connection(self):
+ self._wait_auth_request()
+ self._send_auth_reply()
+ self._wait_connect_cmd()
+ self._send_connect_reply()
def _listen_socks5(self):
for port in range(5000,5100):
@@ -164,8 +174,7 @@ class BytestreamS5B(Bytestream):
else:
event = None
- self.transport = self._socks5_expect_connection(self.q, self.stream_id,
- self.initiator, self.target)
+ self._socks5_expect_connection()
return event
--
1.5.6.5
More information about the telepathy-commits
mailing list