Loading src/core/or/circuitbuild.c +3 −9 Original line number Original line Diff line number Diff line Loading @@ -1359,7 +1359,9 @@ route_len_for_purpose(uint8_t purpose, extend_info_t *exit_ei) int routelen = DEFAULT_ROUTE_LEN; int routelen = DEFAULT_ROUTE_LEN; int known_purpose = 0; int known_purpose = 0; if (circuit_should_use_vanguards(purpose)) { /* If we're using L3 vanguards, we need longer paths for onion services */ if (circuit_purpose_is_hidden_service(purpose) && get_options()->HSLayer3Nodes) { /* Clients want an extra hop for rends to avoid linkability. /* Clients want an extra hop for rends to avoid linkability. * Services want it for intro points to avoid publishing their * Services want it for intro points to avoid publishing their * layer3 guards. They want it for hsdir posts to use * layer3 guards. They want it for hsdir posts to use Loading @@ -1374,14 +1376,6 @@ route_len_for_purpose(uint8_t purpose, extend_info_t *exit_ei) purpose == CIRCUIT_PURPOSE_S_ESTABLISH_INTRO) purpose == CIRCUIT_PURPOSE_S_ESTABLISH_INTRO) return routelen+1; return routelen+1; /* If we only have Layer2 vanguards, then we do not need * the extra hop for linkabilty reasons (see below). * This means all hops can be of the form: * S/C - G - L2 - M - R/HSDir/I */ if (get_options()->HSLayer2Nodes && !get_options()->HSLayer3Nodes) return routelen+1; /* For connections to hsdirs, clients want two extra hops /* For connections to hsdirs, clients want two extra hops * when using layer3 guards, to avoid linkability. * when using layer3 guards, to avoid linkability. * Same goes for intro points. Note that the route len * Same goes for intro points. Note that the route len Loading Loading
src/core/or/circuitbuild.c +3 −9 Original line number Original line Diff line number Diff line Loading @@ -1359,7 +1359,9 @@ route_len_for_purpose(uint8_t purpose, extend_info_t *exit_ei) int routelen = DEFAULT_ROUTE_LEN; int routelen = DEFAULT_ROUTE_LEN; int known_purpose = 0; int known_purpose = 0; if (circuit_should_use_vanguards(purpose)) { /* If we're using L3 vanguards, we need longer paths for onion services */ if (circuit_purpose_is_hidden_service(purpose) && get_options()->HSLayer3Nodes) { /* Clients want an extra hop for rends to avoid linkability. /* Clients want an extra hop for rends to avoid linkability. * Services want it for intro points to avoid publishing their * Services want it for intro points to avoid publishing their * layer3 guards. They want it for hsdir posts to use * layer3 guards. They want it for hsdir posts to use Loading @@ -1374,14 +1376,6 @@ route_len_for_purpose(uint8_t purpose, extend_info_t *exit_ei) purpose == CIRCUIT_PURPOSE_S_ESTABLISH_INTRO) purpose == CIRCUIT_PURPOSE_S_ESTABLISH_INTRO) return routelen+1; return routelen+1; /* If we only have Layer2 vanguards, then we do not need * the extra hop for linkabilty reasons (see below). * This means all hops can be of the form: * S/C - G - L2 - M - R/HSDir/I */ if (get_options()->HSLayer2Nodes && !get_options()->HSLayer3Nodes) return routelen+1; /* For connections to hsdirs, clients want two extra hops /* For connections to hsdirs, clients want two extra hops * when using layer3 guards, to avoid linkability. * when using layer3 guards, to avoid linkability. * Same goes for intro points. Note that the route len * Same goes for intro points. Note that the route len Loading