aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2023-04-02 21:18:25 +0000
committerMike Perry <mikeperry-git@torproject.org>2023-04-06 15:57:11 +0000
commit2bb8988629b6d7ddb5a15d5490154c9a92e0c866 (patch)
tree1669656b2ba01699a1de8089f4ca92d82bf9180c /doc
parent7c70f713c31c0989a0008c7d0d92a1f12d498e32 (diff)
downloadtor-2bb8988629b6d7ddb5a15d5490154c9a92e0c866.tar.gz
tor-2bb8988629b6d7ddb5a15d5490154c9a92e0c866.zip
Fix cases where edge connections can stall.
We discovered two cases where edge connections can stall during testing: 1. Due to final data sitting in the edge inbuf when it was resumed 2. Due to flag synchronization between the token bucket and XON/XOFF The first issue has always existed in C-Tor, but we were able to tickle it in scp testing. If the last data from the protocol is able to fit in the inbuf, but not large enough to send, if an XOFF or connection block comes in at exactly that point, when the edge connection resumes, there will be no data to read from the socket, but the inbuf can just sit there, never draining. We noticed the second issue along the way to finding the first. It seems wrong, but it didn't seem to affect anything in practice. These are extremely rare in normal operation, but with conflux, XON/XOFF activity is more common, so we hit these. Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'doc')
0 files changed, 0 insertions, 0 deletions