[tbb-commits] [tor-browser-bundle/master] Bug 15482: Don't surprise users with new circuits while a page is in use

mikeperry at torproject.org mikeperry at torproject.org
Fri Mar 27 06:52:37 UTC 2015


commit f73953b08c7df47dc47a9c9d4aa16e794a156acf
Author: Mike Perry <mikeperry-git at torproject.org>
Date:   Thu Mar 26 23:05:23 2015 -0700

    Bug 15482: Don't surprise users with new circuits while a page is in use
    
    This patch resets timestamp_dirty every time a new stream is attached to a
    circuit.
---
 gitian/descriptors/linux/gitian-tor.yml   |    3 +++
 gitian/descriptors/mac/gitian-tor.yml     |    3 +++
 gitian/descriptors/windows/gitian-tor.yml |    3 +++
 gitian/patches/bug15482.patch             |   32 +++++++++++++++++++++++++++++
 4 files changed, 41 insertions(+)

diff --git a/gitian/descriptors/linux/gitian-tor.yml b/gitian/descriptors/linux/gitian-tor.yml
index 7338f2d..b218486 100644
--- a/gitian/descriptors/linux/gitian-tor.yml
+++ b/gitian/descriptors/linux/gitian-tor.yml
@@ -21,6 +21,7 @@ files:
 - "versions"
 - "bug8402-master.patch"
 - "bug8405.patch"
+- "bug15482.patch"
 - "dzip.sh"
 - "openssl-linux32-utils.zip"
 - "openssl-linux64-utils.zip"
@@ -80,6 +81,8 @@ script: |
   then
       git am ~/build/bug8405.patch
       git am ~/build/bug8402-master.patch
+  else
+      git am ~/build/bug15482.patch
   fi
   mkdir -p $OUTDIR/src
   #git archive HEAD | tar -x -C $OUTDIR/src
diff --git a/gitian/descriptors/mac/gitian-tor.yml b/gitian/descriptors/mac/gitian-tor.yml
index 08408f8..3d0e0c6 100644
--- a/gitian/descriptors/mac/gitian-tor.yml
+++ b/gitian/descriptors/mac/gitian-tor.yml
@@ -17,6 +17,7 @@ files:
 - "versions"
 - "bug8402-master.patch"
 - "bug8405.patch"
+- "bug15482.patch"
 - "apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb"
 - "multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz"
 - "dzip.sh"
@@ -58,6 +59,8 @@ script: |
   then
       git am ~/build/bug8405.patch
       git am ~/build/bug8402-master.patch
+  else
+      git am ~/build/bug15482.patch
   fi
   mkdir -p $OUTDIR/src
   #git archive HEAD | tar -x -C $OUTDIR/src
diff --git a/gitian/descriptors/windows/gitian-tor.yml b/gitian/descriptors/windows/gitian-tor.yml
index 7db511b..87e1dc2 100644
--- a/gitian/descriptors/windows/gitian-tor.yml
+++ b/gitian/descriptors/windows/gitian-tor.yml
@@ -17,6 +17,7 @@ files:
 - "versions"
 - "bug8402-master.patch"
 - "bug8405.patch"
+- "bug15482.patch"
 - "binutils.tar.bz2"
 - "dzip.sh"
 - "mingw-w64-win32-utils.zip"
@@ -58,6 +59,8 @@ script: |
   then
       git am ~/build/bug8405.patch
       git am ~/build/bug8402-master.patch
+  else
+      git am ~/build/bug15482.patch
   fi
   mkdir -p $OUTDIR/src
   #git archive HEAD | tar -x -C $OUTDIR/src
diff --git a/gitian/patches/bug15482.patch b/gitian/patches/bug15482.patch
new file mode 100644
index 0000000..5250fe4
--- /dev/null
+++ b/gitian/patches/bug15482.patch
@@ -0,0 +1,32 @@
+From a9c7e6dc3508e78f4b296e38603dd34174e2a14c 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.
+
+Reset timestamp_dirty every time we get a new stream request so that circuits
+are not abandoned while still in use.
+---
+ src/or/circuituse.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/or/circuituse.c b/src/or/circuituse.c
+index d0d31ad..fff46cd 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,
+ 
+   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);
+ 
+   pathbias_count_use_attempt(circ);
+ 
+-- 
+1.9.1
+





More information about the tbb-commits mailing list