I ran into this error when I tried to use Scamblesuit+openvpn.
File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 586, in _doReadOrWrite
why = selectable.doRead()
File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 199, in doRead
rval = self.protocol.dataReceived(data)
File "/usr/local/lib/python2.7/dist-packages/obfsproxy-0.2.7-py2.7.egg/obfsproxy/network/socks5.py", line 162, in dataReceived
self.processAuthentication()
File "/usr/local/lib/python2.7/dist-packages/obfsproxy-0.2.7-py2.7.egg/obfsproxy/network/socks5.py", line 234, in processAuthentication
self.AUTH_METHOD_VTABLE[self.authMethod](self)
File "/usr/local/lib/python2.7/dist-packages/obfsproxy-0.2.7-py2.7.egg/obfsproxy/network/socks5.py", line 131, in <lambda>
(lambda self: self.processNoAuthRequired()),
File "/usr/local/lib/python2.7/dist-packages/obfsproxy-0.2.7-py2.7.egg/obfsproxy/network/socks5.py", line 320, in processNoAuthRequired
self.processRequest()
File "/usr/local/lib/python2.7/dist-packages/obfsproxy-0.2.7-py2.7.egg/obfsproxy/network/socks5.py", line 380, in processRequest
port = msg.get_uint16(True)
File "/usr/local/lib/python2.7/dist-packages/obfsproxy-0.2.7-py2.7.egg/obfsproxy/network/socks5.py", line 507, in get_uint16
ret = struct.unpack("!H", self[0:2])[0]
struct.error: unpack requires a string argument of length 2
2014-03-24 19:48:54,053 [DEBUG] socks_up_0xdabc30: Connection was lost (unpack requires a string argument of length 2).
2014-03-24 19:48:54,055 [DEBUG] socks_up_0xdabc30: Closing connection.
I think the length of self[0:2]
is 2. Can anyone shed some light on this, thanks.