summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-08-18 13:19:43 -0400
committerNick Mathewson <nickm@torproject.org>2014-08-18 13:21:40 -0400
commit1196ed7cc4fc202e43ca102a73befe62aa65767d (patch)
tree792eaef2e5ee343b97361d70bb989016302ff4db
parentb45f0f8fb9b11effcd48159c078f09a3fbc04b11 (diff)
downloadtor-1196ed7cc4fc202e43ca102a73befe62aa65767d.tar.gz
tor-1196ed7cc4fc202e43ca102a73befe62aa65767d.zip
Fix relay_command_to_string(); solve 12700.
Two bugs here: 1) We didn't add EXTEND2/EXTENDED2 to relay_command_to_string(). 2) relay_command_to_string() didn't log the value of unrecognized commands. Both fixed here.
-rw-r--r--changes/bug1270010
-rw-r--r--src/or/relay.c8
2 files changed, 17 insertions, 1 deletions
diff --git a/changes/bug12700 b/changes/bug12700
new file mode 100644
index 0000000000..1d8caeb8bd
--- /dev/null
+++ b/changes/bug12700
@@ -0,0 +1,10 @@
+ o Minor bugfixes:
+ - When logging information about an EXTEND2 or EXTENDED2 cell, log
+ their names correctly. Fixes part of bug 12700; bugfix on
+ 0.2.4.8-alpha.
+
+ o Minor bugfixes:
+ - When logging information about a relay cell whose command we
+ don't recognize, log its command as an integer. Fixes part of
+ bug 12700; bugfix on 0.2.1.10-alpha.
+
diff --git a/src/or/relay.c b/src/or/relay.c
index 7f06c6e145..fffd45d522 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -517,6 +517,7 @@ relay_header_unpack(relay_header_t *dest, const uint8_t *src)
static const char *
relay_command_to_string(uint8_t command)
{
+ static char buf[64];
switch (command) {
case RELAY_COMMAND_BEGIN: return "BEGIN";
case RELAY_COMMAND_DATA: return "DATA";
@@ -541,7 +542,12 @@ relay_command_to_string(uint8_t command)
case RELAY_COMMAND_RENDEZVOUS_ESTABLISHED:
return "RENDEZVOUS_ESTABLISHED";
case RELAY_COMMAND_INTRODUCE_ACK: return "INTRODUCE_ACK";
- default: return "(unrecognized)";
+ case RELAY_COMMAND_EXTEND2: return "EXTEND2";
+ case RELAY_COMMAND_EXTENDED2: return "EXTENDED2";
+ default:
+ tor_snprintf(buf, sizeof(buf), "Unrecognized relay command %u",
+ (unsigned)command);
+ return buf;
}
}