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.
This commit is contained in:
Nick Mathewson 2014-08-18 13:19:43 -04:00
parent b45f0f8fb9
commit 1196ed7cc4
2 changed files with 17 additions and 1 deletions

10
changes/bug12700 Normal file
View File

@ -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.

View File

@ -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;
}
}