commit 57ee0e3af98e5dce398e8bc7f6f2b77e53208288
parent ebe39dcb9225ffe43c6b6d2fe49d4b99d155ff33
Author: Nick Mathewson <nickm@torproject.org>
Date: Thu, 23 May 2019 08:24:29 -0400
Only reject POSTDESCRIPTOR purpose= when the purpose is unrecognized
Fixes bug 30580; bugfix on 0.4.1.1-alpha.
Diffstat:
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/changes/ticket30580 b/changes/ticket30580
@@ -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.
diff --git a/src/feature/control/control_cmd.c b/src/feature/control/control_cmd.c
@@ -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) {