Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2020-06-13T16:56:14Zhttps://gitlab.torproject.org/legacy/trac/-/issues/28905Please install packages for twisted gettor2020-06-13T16:56:14ZIsrael LeivaPlease install packages for twisted gettorA code refactor has been made to gettor using twisted (see #28152). The following packages are needed for it to work:
gcc python2.7 python-dev virtualenv sqlite3 python-pip
Thanks.A code refactor has been made to gettor using twisted (see #28152). The following packages are needed for it to work:
gcc python2.7 python-dev virtualenv sqlite3 python-pip
Thanks.https://gitlab.torproject.org/legacy/trac/-/issues/11558obfsproxy breaks with old versions of twisted2020-06-13T03:07:12ZYawning Angelobfsproxy breaks with old versions of twistedDebian apparently packages/ships Twisted 12.0.0 (presumably with patches), and I wrote a bunch of the recent code targeting 13.2.0.
Per the jenkins output:
* twisted.internet.error.UnsupportedAddressFamily is missing, requires Twisted ...Debian apparently packages/ships Twisted 12.0.0 (presumably with patches), and I wrote a bunch of the recent code targeting 13.2.0.
Per the jenkins output:
* twisted.internet.error.UnsupportedAddressFamily is missing, requires Twisted 12.1.0.
* twisted.internet.endpoints.HostNameEndpoint is missing, requires Twisted 13.2.0.
Unrelated to this, the jenkins setup is also choking on missing pyyaml.
Thanks to weasel who brought it to my attention.George KadianakisGeorge Kadianakishttps://gitlab.torproject.org/legacy/trac/-/issues/11197obfsproxy should provide congestion feedback2020-06-13T02:59:59ZYawning Angelobfsproxy should provide congestion feedbackI went over this in IRC tonight to a poor GSOC student who was thinking about doing a CBR plugin, so I'll file a bug while it's fresh on my mind.
Currently there is nothing in place to prevent unbound buffer growth in obfsproxy. This p...I went over this in IRC tonight to a poor GSOC student who was thinking about doing a CBR plugin, so I'll file a bug while it's fresh on my mind.
Currently there is nothing in place to prevent unbound buffer growth in obfsproxy. This problem arises when the bottleneck link is extremely narrow.
For example, examine the following network topology:
Client <-> obfsproxy <-> 14.4 kbit modem <-> ISP <-> 100 Mbit <-> obfsproxy <-> Server
The Client opens a connection, and initiates a bulk download from the Server. Since there is no mechanism to indicate congestion, the outgoing buffer in the Server side obfsproxy process will grow because feedback from the Client in the form of the shrinking TCP/IP receive window will not get propagated.
The same thing will happen on the Client side with a bulk upload, because the loopback interface has a gigantic amount of bandwidth compared to the bottleneck link.
Twisted connections have a producer/consumer interface (and can handle stopping reading once the send buffer reaches a certain threshold 'self.bufferSize'), so refactoring the base transport to use this interface to glue the upstream/downstream together would be the "correct" approach to solving this problem.
See https://twistedmatrix.com/documents/current/core/howto/producers.html for more details.