Only reject POSTDESCRIPTOR purpose= when the purpose is unrecognized

Fixes bug 30580; bugfix on 0.4.1.1-alpha.
This commit is contained in:
Nick Mathewson
2019-05-23 08:24:29 -04:00
parent ebe39dcb92
commit 57ee0e3af9
2 changed files with 9 additions and 3 deletions
+4
View File
@@ -0,0 +1,4 @@
o Minor bugfixes (controller):
- POSTDESCRIPTOR requests should work again. Previously, they were
broken if a "purpose=" flag was specified. Fixes bug 30580;
bugfix on 0.4.1.1-alpha.
+5 -3
View File
@@ -1049,9 +1049,11 @@ handle_control_postdescriptor(control_connection_t *conn,
line = config_line_find_case(args->kwargs, "purpose");
if (line) {
purpose = router_purpose_from_string(line->value);
control_printf_endreply(conn, 552, "Unknown purpose \"%s\"",
line->value);
goto done;
if (purpose == ROUTER_PURPOSE_UNKNOWN) {
control_printf_endreply(conn, 552, "Unknown purpose \"%s\"",
line->value);
goto done;
}
}
line = config_line_find_case(args->kwargs, "cache");
if (line) {