FTE breaks with latest obfsproxy (because of move to SOCKS5)
Hello,
Arturo was trying to setup FTE in his OONI machine today. In his attempts, FTE would crash when Tor tried to spawn it.
Here is what Arturo told me during his debugging session:
16:29 < asn> 16:07 < hellais> I get a useful error message
16:29 < asn> 16:08 < hellais> AttributeError: 'module' object has no attribute 'SOCKSv4Factory'
16:29 < asn> 16:08 < hellais> could it be that I have an outdated version of obfsproxy?
16:29 < asn> 16:11 < hellais> oh no, I have a too new version of obfsproxy
16:29 < asn> 16:12 < hellais> I think that obfsproxy.network.socks.OBFSSOCKSv4Factor used to be called obfsproxy.network.socks.SOCKSv4Factor
16:29 < asn> 16:13 < hellais> actually all the SOCKSv4 stuff got removed in the last version of obfsproxy wereas they used to be present
16:29 < asn> 16:13 < hellais> so users of the old API will break
16:29 < asn> 16:14 < hellais> I would suggest you add into the obfsproxy.network.socks a subclass of OBFSSOCKSv5Factory called SOCKSv5Factory that writes a warning log stating that it's now deprecated
We recently moved from SOCKS4 to SOCSK5 on obfsproxy, and I forgot that FTE was borrowing code from obfsproxy, so we accidentally broke FTE. Sorry for that.
kpdyer, how would you like to fix this?