aboutsummaryrefslogtreecommitdiff
path: root/changes/ticket28970
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2019-10-23 10:20:09 -0400
committerDavid Goulet <dgoulet@torproject.org>2019-10-24 08:50:01 -0400
commited57a04a65a59ee744910a9db22a81359dac3491 (patch)
treeb6f269448559b3a9d7ecc2bd9fe46cc44d8c1800 /changes/ticket28970
parentd175e70817ccff01cd9eb73d8da9e306745fb469 (diff)
downloadtor-ed57a04a65a59ee744910a9db22a81359dac3491.tar.gz
tor-ed57a04a65a59ee744910a9db22a81359dac3491.zip
hs-v3: Remove a BUG() caused by an acceptable race
hs_client_purge_state() and hs_cache_clean_as_client() can remove a descriptor from the client cache with a NEWNYM or simply when the descriptor expires. Which means that for an INTRO circuit being established during that time, once it opens, we lookup the descriptor to get the IP object but hey surprised, no more descriptor. The approach here is minimalist that is accept the race and close the circuit since we can not continue. Before that, the circuit would stay opened and the client wait the SockTimeout. Fixers #28970. Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'changes/ticket28970')
-rw-r--r--changes/ticket289706
1 files changed, 6 insertions, 0 deletions
diff --git a/changes/ticket28970 b/changes/ticket28970
new file mode 100644
index 0000000000..138c575fcc
--- /dev/null
+++ b/changes/ticket28970
@@ -0,0 +1,6 @@
+ o Minor bugfixes (clietn, hidden service v3):
+ - Fix a BUG() assertion that occurs within a very small race window between
+ a client intro circuit opens and its descriptor that gets cleaned up from
+ the cache. The circuit is now closed which will trigger a re-fetch of the
+ descriptor and continue the HS connection. Fixes bug 28970; bugfix on
+ 0.3.2.1-alpha.