aboutsummaryrefslogtreecommitdiff
path: root/src/or/or.h
diff options
context:
space:
mode:
authorMike Perry <mikeperry-git@fscked.org>2012-12-11 17:49:12 -0800
committerMike Perry <mikeperry-git@fscked.org>2012-12-11 17:49:12 -0800
commitccaeef22e168af34e9b6a63d65ce17e58dd702e2 (patch)
tree114633471fe0c31b9687c2de69a16d21d109a2c3 /src/or/or.h
parentaf9011f82430a5fac0a6db368f1afb1aa4bbc9f6 (diff)
downloadtor-ccaeef22e168af34e9b6a63d65ce17e58dd702e2.tar.gz
tor-ccaeef22e168af34e9b6a63d65ce17e58dd702e2.zip
Tags on relay cells can result in certain reason codes.
Close the circuit (it's probably junk anyways), and make sure we don't probe it/count it as a success.
Diffstat (limited to 'src/or/or.h')
-rw-r--r--src/or/or.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/or/or.h b/src/or/or.h
index aaf817d450..ccc20b94d7 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -2779,6 +2779,12 @@ typedef enum {
* just tag at a later point.
*/
PATH_STATE_USE_SUCCEEDED = 3,
+
+ /**
+ * This is a special state to indicate that we got a corrupted
+ * relay cell on a circuit and we don't intend to probe it.
+ */
+ PATH_STATE_USE_FAILED = 4,
} path_state_t;
/** An origin_circuit_t holds data necessary to build and use a circuit.
@@ -2816,7 +2822,7 @@ typedef struct origin_circuit_t {
/** Kludge to help us prevent the warn in bug #6475 and eventually
* debug why we are not seeing first hops in some cases. */
- path_state_t path_state : 2;
+ path_state_t path_state : 3;
/** Set iff this is a hidden-service circuit which has timed out
* according to our current circuit-build timeout, but which has