Merge branch 'bug8065_v2'

This commit is contained in:
Nick Mathewson 2013-02-19 15:02:22 -05:00
commit 8ddf4e218e
4 changed files with 18 additions and 2 deletions

6
changes/bug8065 Normal file
View File

@ -0,0 +1,6 @@
o Minor bugfixes:
- Downgrade an assertion in connection_ap_expire_beginning to
an LD_BUG message. The fix for bug 8024 should prevent this
message from displaying, but just in case a warn that we can
diagnose is better than more assert crashes. Fix for bug 8065;
bugfix on 0.2.4.8-alpha.

View File

@ -1269,7 +1269,7 @@ pathbias_get_scale_use_threshold(const or_options_t *options)
/**
* Convert a Guard's path state to string.
*/
static const char *
const char *
pathbias_state_to_string(path_state_t state)
{
switch (state) {

View File

@ -66,6 +66,7 @@ int pathbias_check_probe_response(circuit_t *circ, const cell_t *cell);
void pathbias_count_use_attempt(origin_circuit_t *circ);
void pathbias_mark_use_success(origin_circuit_t *circ);
void pathbias_mark_use_rollback(origin_circuit_t *circ);
const char *pathbias_state_to_string(path_state_t state);
#endif

View File

@ -651,7 +651,16 @@ connection_ap_expire_beginning(void)
}
continue;
}
tor_assert(circ->purpose == CIRCUIT_PURPOSE_C_GENERAL);
if (circ->purpose != CIRCUIT_PURPOSE_C_GENERAL) {
log_warn(LD_BUG, "circuit->purpose == CIRCUIT_PURPOSE_C_GENERAL failed. "
"The purpose on the circuit was %s; it was in state %s, "
"path_state %s.",
circuit_purpose_to_string(circ->purpose),
circuit_state_to_string(circ->state),
CIRCUIT_IS_ORIGIN(circ) ?
pathbias_state_to_string(TO_ORIGIN_CIRCUIT(circ)->path_state) :
"none");
}
log_fn(cutoff < 15 ? LOG_INFO : severity, LD_APP,
"We tried for %d seconds to connect to '%s' using exit %s."
" Retrying on a new circuit.",