Tor rejects all POSTDESCRIPTOR controller requests
In legacy/trac#30091 (moved), we replaced this code:
if (!strcasecmpstart(option, "purpose=")) {
option += strlen("purpose=");
purpose = router_purpose_from_string(option);
if (purpose == ROUTER_PURPOSE_UNKNOWN) {
connection_printf_to_buf(conn, "552 Unknown purpose \"%s\"\r\n",
option);
goto done;
}
}
With this code:
line = config_line_find_case(args->kwargs, "purpose");
if (line) {
purpose = router_purpose_from_string(line->value);
connection_printf_to_buf(conn, "552 Unknown purpose \"%s\"\r\n",
line->value);
goto done;
}
There's no purpose check any more (if (purpose == ROUTER_PURPOSE_UNKNOWN) {
), so Tor rejects all POSTDESCRIPTOR requests.
I'm assigning this bug to nickm and cc'ing catalyst, because they were the author and reviewer.