|
@@ -2646,8 +2646,24 @@ pathbias_count_first_hop(origin_circuit_t *circ)
|
|
|
char *rate_msg = NULL;
|
|
|
|
|
|
/* Completely ignore one hop circuits */
|
|
|
- if (circ->build_state->onehop_tunnel) {
|
|
|
- tor_assert(circ->build_state->desired_path_len == 1);
|
|
|
+ if (circ->build_state->onehop_tunnel ||
|
|
|
+ circ->build_state->desired_path_len == 1) {
|
|
|
+ /* Check for inconsistency */
|
|
|
+ if (circ->build_state->desired_path_len != 1 ||
|
|
|
+ !circ->build_state->onehop_tunnel) {
|
|
|
+ if ((rate_msg = rate_limit_log(&first_hop_notice_limit,
|
|
|
+ approx_time()))) {
|
|
|
+ log_info(LD_BUG,
|
|
|
+ "One-hop circuit has length %d. Path state is %s. "
|
|
|
+ "Circuit is a %s currently %s. %s",
|
|
|
+ circ->build_state->desired_path_len,
|
|
|
+ pathbias_state_to_string(circ->path_state),
|
|
|
+ circuit_purpose_to_string(circ->_base.purpose),
|
|
|
+ circuit_state_to_string(circ->_base.state),
|
|
|
+ rate_msg);
|
|
|
+ }
|
|
|
+ tor_fragile_assert();
|
|
|
+ }
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -2740,8 +2756,24 @@ pathbias_count_success(origin_circuit_t *circ)
|
|
|
char *rate_msg = NULL;
|
|
|
|
|
|
/* Ignore one hop circuits */
|
|
|
- if (circ->build_state->onehop_tunnel) {
|
|
|
- tor_assert(circ->build_state->desired_path_len == 1);
|
|
|
+ if (circ->build_state->onehop_tunnel ||
|
|
|
+ circ->build_state->desired_path_len == 1) {
|
|
|
+ /* Check for consistency */
|
|
|
+ if (circ->build_state->desired_path_len != 1 ||
|
|
|
+ !circ->build_state->onehop_tunnel) {
|
|
|
+ if ((rate_msg = rate_limit_log(&success_notice_limit,
|
|
|
+ approx_time()))) {
|
|
|
+ log_info(LD_BUG,
|
|
|
+ "One-hop circuit has length %d. Path state is %s. "
|
|
|
+ "Circuit is a %s currently %s. %s",
|
|
|
+ circ->build_state->desired_path_len,
|
|
|
+ pathbias_state_to_string(circ->path_state),
|
|
|
+ circuit_purpose_to_string(circ->_base.purpose),
|
|
|
+ circuit_state_to_string(circ->_base.state),
|
|
|
+ rate_msg);
|
|
|
+ }
|
|
|
+ tor_fragile_assert();
|
|
|
+ }
|
|
|
return;
|
|
|
}
|
|
|
|