[tor-commits] [tor/master] Log find_rp_for_intro_() failures at LOG_PROTOCOL_WARN.
nickm at torproject.org
nickm at torproject.org
Wed May 11 16:37:00 UTC 2016
commit b59d79134e1089d310278a70788401835c1e5c10
Author: Nick Mathewson <nickm at torproject.org>
Date: Tue Apr 26 20:46:44 2016 -0400
Log find_rp_for_intro_() failures at LOG_PROTOCOL_WARN.
Closes ticket 18761.
Also fix a whitespace issue.
---
changes/bug18761 | 3 +++
src/or/rendservice.c | 15 ++++++++++-----
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/changes/bug18761 b/changes/bug18761
new file mode 100644
index 0000000..78500a8
--- /dev/null
+++ b/changes/bug18761
@@ -0,0 +1,3 @@
+ o Minor feature (logging):
+ - When rejecting a misformed INTRODUCE2 cell, only log at PROTOCOL_WARN
+ severity. Closes ticket 18761.
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index 39e5831..6f41f3b 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -1445,6 +1445,7 @@ rend_service_receive_introduction(origin_circuit_t *circuit,
int status = 0, result;
const or_options_t *options = get_options();
char *err_msg = NULL;
+ int err_msg_severity = LOG_WARN;
const char *stage_descr = NULL;
int reason = END_CIRC_REASON_TORPROTOCOL;
/* Service/circuit/key stuff we can learn before parsing */
@@ -1596,8 +1597,10 @@ rend_service_receive_introduction(origin_circuit_t *circuit,
/* Find the rendezvous point */
rp = find_rp_for_intro(parsed_req, &err_msg);
- if (!rp)
+ if (!rp) {
+ err_msg_severity = LOG_PROTOCOL_WARN;
goto log_error;
+ }
/* Check if we'd refuse to talk to this router */
if (options->StrictNodes &&
@@ -1735,7 +1738,7 @@ rend_service_receive_introduction(origin_circuit_t *circuit,
}
}
- log_warn(LD_REND, "%s on circ %u", err_msg,
+ log_fn(err_msg_severity, LD_REND, "%s on circ %u", err_msg,
(unsigned)circuit->base_.n_circ_id);
err:
status = -1;
@@ -1797,7 +1800,7 @@ find_rp_for_intro(const rend_intro_cell_t *intro,
if (!rp) {
if (err_msg_out) {
tor_asprintf(&err_msg,
- "Could build extend_info_t for router %s named "
+ "Couldn't build extend_info_t for router %s named "
"in INTRODUCE2 cell",
escaped_safe_str_client(rp_nickname));
}
@@ -1833,8 +1836,10 @@ find_rp_for_intro(const rend_intro_cell_t *intro,
goto done;
err:
- if (err_msg_out) *err_msg_out = err_msg;
- else tor_free(err_msg);
+ if (err_msg_out)
+ *err_msg_out = err_msg;
+ else
+ tor_free(err_msg);
done:
return rp;
More information about the tor-commits
mailing list