From: Nick Mathewson Date: Fri, 29 Aug 2014 20:05:58 +0000 (-0400) Subject: Improve "Tried to establish rendezvous on non-OR or non-edge circuit" X-Git-Tag: tor-0.2.6.1-alpha~176^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4a6f5bb2dda188ed1d1a80455bf9c9b0b3f00066;p=thirdparty%2Ftor.git Improve "Tried to establish rendezvous on non-OR or non-edge circuit" Instead of putting it all in one warning message, log what exactly was wrong with the circuit. Resolves ticket 12997. --- diff --git a/changes/bug12997 b/changes/bug12997 new file mode 100644 index 0000000000..fb6e7a8459 --- /dev/null +++ b/changes/bug12997 @@ -0,0 +1,3 @@ + o Minor features: + - Log more specific warnings when we get an ESTABLISH_RENDEZVOUS cell + on a cannibalized or non-OR circuit. Resolves ticket 12997. diff --git a/src/or/rendmid.c b/src/or/rendmid.c index 1103816806..d89cdf6bed 100644 --- a/src/or/rendmid.c +++ b/src/or/rendmid.c @@ -224,9 +224,16 @@ rend_mid_establish_rendezvous(or_circuit_t *circ, const uint8_t *request, log_info(LD_REND, "Received an ESTABLISH_RENDEZVOUS request on circuit %u", (unsigned)circ->p_circ_id); - if (circ->base_.purpose != CIRCUIT_PURPOSE_OR || circ->base_.n_chan) { + if (circ->base_.purpose != CIRCUIT_PURPOSE_OR) { + log_warn(LD_PROTOCOL, + "Tried to establish rendezvous on non-OR circuit with purpose %s", + circuit_purpose_to_string(circ->base_.purpose)); + goto err; + } + + if (circ->base_.n_chan) { log_warn(LD_PROTOCOL, - "Tried to establish rendezvous on non-OR or non-edge circuit."); + "Tried to establish rendezvous on non-edge circuit"); goto err; }