diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-12-11 17:46:12 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2013-02-01 17:10:15 -0500 |
commit | b4429307899afd637ae33e8e6a1400f30b57085e (patch) | |
tree | c542793187e680f62d73e043658c38a93980336b /changes/bug7708 | |
parent | ae15b55173abff1175e0f56759abd29e2870b16c (diff) | |
download | tor-b4429307899afd637ae33e8e6a1400f30b57085e.tar tor-b4429307899afd637ae33e8e6a1400f30b57085e.tar.gz |
Fix serious breakage in connection_handle_write_impl
When we first implemented TLS, we assumed in conneciton_handle_write
that a TOR_TLS_WANT_WRITE from flush_buf_tls meant that nothing had
been written. But when we moved our buffers to a ring buffer
implementation back in 0.1.0.5-rc (!), we broke that invariant: it's
possible that some bytes have been written but nothing.
That's bad. It means that if we do a sequence of TLS writes that ends
with a WANTWRITE, we don't notice that we flushed any bytes, and we
don't (I think) decrement buckets.
Fixes bug 7708; bugfix on 0.1.0.5-rc
Diffstat (limited to 'changes/bug7708')
-rw-r--r-- | changes/bug7708 | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/changes/bug7708 b/changes/bug7708 new file mode 100644 index 000000000..e272adf22 --- /dev/null +++ b/changes/bug7708 @@ -0,0 +1,5 @@ + o Major bugfixes: + - When a TLS write is partially successful but incomplete, remember + that the flushed part has been flushed, and notice that bytes were + actually written. Reported and fixed pseudonymously. Fixes bug + 7708; bugfix on Tor 0.1.0.5-rc. |