[tbb-commits] [tor-browser-bundle/master] Bug 15482: Restrict circuit lifetime extension to SOCKS-auth streams.
mikeperry at torproject.org
mikeperry at torproject.org
Fri Mar 27 20:06:00 UTC 2015
commit 351ecc463ff860e617e690ec709e80ec76f0be53
Author: Mike Perry <mikeperry-git at torproject.org>
Date: Fri Mar 27 13:01:45 2015 -0700
Bug 15482: Restrict circuit lifetime extension to SOCKS-auth streams.
That way people's non-TBB activity won't be affected.
---
gitian/patches/bug15482.patch | 36 ++++++++++++++++++++++--------------
1 file changed, 22 insertions(+), 14 deletions(-)
diff --git a/gitian/patches/bug15482.patch b/gitian/patches/bug15482.patch
index 5250fe4..df8a156 100644
--- a/gitian/patches/bug15482.patch
+++ b/gitian/patches/bug15482.patch
@@ -1,29 +1,37 @@
-From a9c7e6dc3508e78f4b296e38603dd34174e2a14c Mon Sep 17 00:00:00 2001
+From 748414784f71126b093aa7466908e00f71a7b046 Mon Sep 17 00:00:00 2001
From: Mike Perry <mikeperry-git at torproject.org>
-Date: Thu, 26 Mar 2015 22:38:45 -0700
-Subject: [PATCH] Bug 15482: Don't abandon circuits that are still being used
- by TBB.
+Date: Fri, 27 Mar 2015 12:57:37 -0700
+Subject: [PATCH] Bug 15482: Don't abandon circuits that are still in use for
+ browsing.
-Reset timestamp_dirty every time we get a new stream request so that circuits
-are not abandoned while still in use.
+Only applies to connections with SOCKS auth set, so that non-web Tor
+activity is not affected.
+
+Simpler version of Nick's patch because the randomness worried me, and I'm not
+otherwise sure why we want a max here.
---
- src/or/circuituse.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
+ src/or/circuituse.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/or/circuituse.c b/src/or/circuituse.c
-index d0d31ad..fff46cd 100644
+index d0d31ad..6cce4bf 100644
--- a/src/or/circuituse.c
+++ b/src/or/circuituse.c
-@@ -2264,8 +2264,10 @@ connection_ap_handshake_attach_chosen_circuit(entry_connection_t *conn,
+@@ -2264,8 +2264,15 @@ connection_ap_handshake_attach_chosen_circuit(entry_connection_t *conn,
base_conn->state = AP_CONN_STATE_CIRCUIT_WAIT;
- if (!circ->base_.timestamp_dirty)
- circ->base_.timestamp_dirty = time(NULL);
-+ /* For Tor Browser, we want to avoid surprising the user by giving up on
-+ * circuits while they are still being used, so we always reset the
-+ * dirtiness timestamp. */
-+ circ->base_.timestamp_dirty = time(NULL);
++ if (!circ->base_.timestamp_dirty) {
++ circ->base_.timestamp_dirty = approx_time();
++ } else if ((conn->entry_cfg.isolation_flags & ISO_SOCKSAUTH) &&
++ (conn->socks_request->usernamelen ||
++ conn->socks_request->passwordlen)) {
++ /* When stream isolation is in use and controlled by an application
++ * we are willing to keep using the stream. */
++ circ->base_.timestamp_dirty = approx_time();
++ }
pathbias_count_use_attempt(circ);
More information about the tbb-commits
mailing list