kpdyer / fteproxy

programmable proxy for censorship circumvention
https://fteproxy.org/
Apache License 2.0
149 stars 21 forks source link

Ensure backwards compatibility for previous versions of obfsproxy (managed mode) #126

Closed kpdyer closed 10 years ago

kpdyer commented 10 years ago

When running in managed mode we need to support all versions of obfsproxy in the 0.2.x chain.

Currently, we are getting

Traceback (most recent call last):
  File "/Applications/TorBrowser.app/Tor/PluggableTransports/twisted/python/log.py", line 88, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/Applications/TorBrowser.app/Tor/PluggableTransports/twisted/python/log.py", line 73, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/Applications/TorBrowser.app/Tor/PluggableTransports/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/Applications/TorBrowser.app/Tor/PluggableTransports/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
--- <exception caught here> ---
  File "/Applications/TorBrowser.app/Tor/PluggableTransports/twisted/internet/selectreactor.py", line 151, in _doReadOrWrite
    why = getattr(selectable, method)()
  File "/Applications/TorBrowser.app/Tor/PluggableTransports/twisted/internet/tcp.py", line 215, in doRead
    return self._dataReceived(data)
  File "/Applications/TorBrowser.app/Tor/PluggableTransports/twisted/internet/tcp.py", line 221, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "/Applications/TorBrowser.app/Tor/PluggableTransports/obfsproxy/network/socks.py", line 116, in dataReceived
    self.circuit.dataReceived(self.buffer, self)
  File "/Applications/TorBrowser.app/Tor/PluggableTransports/obfsproxy/network/network.py", line 154, in dataReceived
    self.transport.receivedUpstream(data, self)
exceptions.TypeError: receivedUpstream() takes exactly 2 arguments (3 given)

on obfsproxy 0.2.4. (As tested on OSX.)

kpdyer commented 10 years ago

Resolved.