[tor-commits] [tor/master] Prop 209: Add in hidserv path bias counts for usage.

nickm at torproject.org nickm at torproject.org
Wed Dec 26 04:34:55 UTC 2012


commit aa0e6e2c0337c5ddfc9f64ed593d8a59b3c4cb44
Author: Mike Perry <mikeperry-git at fscked.org>
Date:   Sat Nov 17 17:51:27 2012 -0800

    Prop 209: Add in hidserv path bias counts for usage.
---
 src/or/connection_edge.c |    4 ++++
 src/or/or.h              |    5 ++---
 src/or/rendclient.c      |    3 +++
 src/or/rendservice.c     |    3 +++
 4 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index cb2afe1..a654b61 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -2454,6 +2454,10 @@ connection_exit_begin_conn(cell_t *cell, circuit_t *circ)
     assert_circuit_ok(circ);
 
     connection_exit_connect(n_stream);
+
+    /* For path bias: This circuit was used successfully */
+    origin_circ->any_streams_succeeded = 1;
+
     tor_free(address);
     return 0;
   }
diff --git a/src/or/or.h b/src/or/or.h
index f26fc39..8501235 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -2873,9 +2873,8 @@ typedef struct origin_circuit_t {
   unsigned int isolation_any_streams_attached : 1;
 
   /**
-   * Did any SOCKS streams actually succeed on this circuit?
-   *
-   * XXX: We probably also need to set this for intro other hidserv circs..
+   * Did any SOCKS streams or hidserv introductions actually succeed on
+   * this circuit?
    */
   unsigned int any_streams_succeeded : 1;
 
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index 3fb4025..ec43041 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -378,6 +378,9 @@ rend_client_introduction_acked(origin_circuit_t *circ,
        * it to specify when a circuit entered the
        * _C_REND_READY_INTRO_ACKED state. */
       rendcirc->base_.timestamp_dirty = time(NULL);
+      
+      /* For path bias: This circuit was used successfully */
+      circ->any_streams_succeeded = 1;
     } else {
       log_info(LD_REND,"...Found no rend circ. Dropping on the floor.");
     }
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index 09792bd..775edd6 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -1383,6 +1383,9 @@ rend_service_introduce(origin_circuit_t *circuit, const uint8_t *request,
   if (circuit_init_cpath_crypto(cpath,keys+DIGEST_LEN,1)<0)
     goto err;
   memcpy(cpath->handshake_digest, keys, DIGEST_LEN);
+          
+  /* For path bias: This circuit was used successfully */
+  circuit->any_streams_succeeded = 1;
 
   goto done;
 





More information about the tor-commits mailing list