[Telepathy-commits] [telepathy-gabble/master] factor out socks5_connect
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Thu Feb 19 02:35:32 PST 2009
---
...offer-accept-private-dbus-stream-tube-socks5.py | 46 +++++++++++---------
1 files changed, 26 insertions(+), 20 deletions(-)
diff --git a/tests/twisted/tubes/offer-accept-private-dbus-stream-tube-socks5.py b/tests/twisted/tubes/offer-accept-private-dbus-stream-tube-socks5.py
index 634c0e6..bb365a2 100644
--- a/tests/twisted/tubes/offer-accept-private-dbus-stream-tube-socks5.py
+++ b/tests/twisted/tubes/offer-accept-private-dbus-stream-tube-socks5.py
@@ -82,6 +82,30 @@ def socks5_expect_connection(q, sid, initiator, target):
return transport
+def socks5_connect(q, host, port, sid, initiator, target):
+ reactor.connectTCP(host, port, S5BFactory(q.append))
+
+ event = q.expect('s5b-connected')
+ transport = event.transport
+ transport.write('\x05\x01\x00') #version 5, 1 auth method, no auth
+
+ event = q.expect('s5b-data-received')
+ event.data == '\x05\x00' # version 5, no auth
+
+ # version 5, connect, reserved, domain type
+ connect = '\x05\x01\x00\x03'
+ connect += chr(40) # len (SHA-1)
+ # sha-1(sid + initiator + target)
+ unhashed_domain = sid + initiator + target
+ connect += sha.new(unhashed_domain).hexdigest()
+ connect += '\x00\x00' # port
+ transport.write(connect)
+
+ event = q.expect('s5b-data-received')
+ event.data == '\x05\x00' # version 5, ok
+
+ return transport
+
def test(q, bus, conn, stream):
t.set_up_echo("")
t.set_up_echo("2")
@@ -539,27 +563,9 @@ def test(q, bus, conn, stream):
assert query['mode'] == 'tcp'
assert query['sid'] == dbus_stream_id
streamhost = xpath.queryForNodes('/query/streamhost', query)[0]
- reactor.connectTCP(streamhost['host'], int(streamhost['port']),
- S5BFactory(q.append))
-
- event = q.expect('s5b-connected')
- transport = event.transport
- transport.write('\x05\x01\x00') #version 5, 1 auth method, no auth
- event = q.expect('s5b-data-received')
- event.data == '\x05\x00' # version 5, no auth
-
- # version 5, connect, reserved, domain type
- connect = '\x05\x01\x00\x03'
- connect += chr(40) # len (SHA-1)
- # sha-1(sid + initiator + target)
- unhashed_domain = query['sid'] + 'test at localhost/Resource' + 'bob at localhost/Bob'
- connect += sha.new(unhashed_domain).hexdigest()
- connect += '\x00\x00' # port
- transport.write(connect)
-
- event = q.expect('s5b-data-received')
- event.data == '\x05\x00' # version 5, ok
+ transport = socks5_connect(q, streamhost['host'], int(streamhost['port']),
+ query['sid'], 'test at localhost/Resource', 'bob at localhost/Bob')
result = IQ(stream, 'result')
result['id'] = iq['id']
--
1.5.6.5
More information about the telepathy-commits
mailing list