aboutsummaryrefslogtreecommitdiff
path: root/changes/bug7708
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-12-11 17:46:12 -0500
committerNick Mathewson <nickm@torproject.org>2013-02-01 17:10:15 -0500
commitb4429307899afd637ae33e8e6a1400f30b57085e (patch)
treec542793187e680f62d73e043658c38a93980336b /changes/bug7708
parentae15b55173abff1175e0f56759abd29e2870b16c (diff)
downloadtor-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/bug77085
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.