summaryrefslogtreecommitdiff
path: root/src/or/circuitbuild.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2016-11-30 08:49:39 -0500
committerNick Mathewson <nickm@torproject.org>2016-12-16 11:06:20 -0500
commit87f9b42179bd23418c3e698938bdeead56da1c43 (patch)
tree0d72e49c2c201b79dfc61003fb916b92264d1f3c /src/or/circuitbuild.h
parent17c3faa2e393c59e9ee4aeca6986b0905d17f3b5 (diff)
downloadtor-87f9b42179bd23418c3e698938bdeead56da1c43.tar.gz
tor-87f9b42179bd23418c3e698938bdeead56da1c43.zip
Implement support for per-circuit guard restrictions.
This is an important thing I hadn't considered when writing prop271: sometimes you have to restrict what guard you use for a particular circuit. Most frequently, that would be because you plan to use a certain node as your exit, and so you can't choose that for your guard. This change means that the upgrade-waiting-circuits algorithm needs a slight tweak too: circuit A cannot block circuit B from upgrading if circuit B needs to follow a restriction that circuit A does not follow.
Diffstat (limited to 'src/or/circuitbuild.h')
-rw-r--r--src/or/circuitbuild.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/or/circuitbuild.h b/src/or/circuitbuild.h
index 2c83a16550..b85dbecf7e 100644
--- a/src/or/circuitbuild.h
+++ b/src/or/circuitbuild.h
@@ -61,6 +61,7 @@ int extend_info_supports_ntor(const extend_info_t* ei);
int circuit_can_use_tap(const origin_circuit_t *circ);
int circuit_has_usable_onion_key(const origin_circuit_t *circ);
int extend_info_has_preferred_onion_key(const extend_info_t* ei);
+const uint8_t *build_state_get_exit_rsa_id(cpath_build_state_t *state);
const node_t *build_state_get_exit_node(cpath_build_state_t *state);
const char *build_state_get_exit_nickname(cpath_build_state_t *state);