allow manual control port authenticate via netcat

This commit is contained in:
Roger Dingledine 2011-04-11 16:51:10 -04:00 committed by Sebastian Hahn
parent c4a4ac7de6
commit 67650a869d
2 changed files with 9 additions and 4 deletions

5
changes/bug2893 Normal file
View File

@ -0,0 +1,5 @@
o Minor bugfixes:
- Allow manual 'authenticate' commands to the controller interface
from nc as well as telnet. We were rejecting them because they
didn't come with the expected whitespace at the end of the command.
Bugfix on 0.1.1.1-alpha; fixes bug 2893.

View File

@ -1055,7 +1055,10 @@ handle_control_authenticate(control_connection_t *conn, uint32_t len,
int bad_cookie=0, bad_password=0;
smartlist_t *sl = NULL;
if (TOR_ISXDIGIT(body[0])) {
if (!len || TOR_ISSPACE(body[0])) {
password = tor_strdup("");
password_len = 0;
} else if (TOR_ISXDIGIT(body[0])) {
cp = body;
while (TOR_ISXDIGIT(*cp))
++cp;
@ -1072,9 +1075,6 @@ handle_control_authenticate(control_connection_t *conn, uint32_t len,
tor_free(password);
return 0;
}
} else if (TOR_ISSPACE(body[0])) {
password = tor_strdup("");
password_len = 0;
} else {
if (!decode_escaped_string(body, len, &password, &password_len)) {
connection_write_str_to_buf("551 Invalid quoted string. You need "