Skip to content
Snippets Groups Projects
Commit 2cddd1d6 authored by Nick Mathewson's avatar Nick Mathewson :game_die:
Browse files

Move logging of bad hostnames into parse_extended_hostname

This fixes bug 3325, where a bad .exit would get logged as a bad .onion
parent 411cf8f7
No related branches found
No related tags found
No related merge requests found
o Minor bugfixes:
- When logging about a disallowed .exit name, do not also call it
an "invalid onion address". Fixes bug 3325; bugfix on 0.2.2.9-alpha.
......@@ -1894,8 +1894,6 @@ connection_ap_handshake_rewrite_and_attach(entry_connection_t *conn,
remapped_to_exit || options->AllowDotExit);
if (addresstype == BAD_HOSTNAME) {
log_warn(LD_APP, "Invalid onion hostname %s; rejecting",
safe_str_client(socks->address));
control_event_client_status(LOG_WARN, "SOCKS_BAD_HOSTNAME HOSTNAME=%s",
escaped(socks->address));
connection_mark_unattached_ap(conn, END_STREAM_REASON_TORPROTOCOL);
......@@ -3410,9 +3408,15 @@ connection_ap_can_use_exit(const entry_connection_t *conn, const node_t *exit)
/** If address is of the form "y.onion" with a well-formed handle y:
* Put a NUL after y, lower-case it, and return ONION_HOSTNAME.
*
* If address is of the form "y.onion" with a badly-formed handle y:
* Return BAD_HOSTNAME and log a message.
*
* If address is of the form "y.exit" and <b>allowdotexit</b> is true:
* Put a NUL after y and return EXIT_HOSTNAME.
*
* If address is of the form "y.exit" and <b>allowdotexit</b> is false:
* Return BAD_HOSTNAME and log a message.
*
* Otherwise:
* Return NORMAL_HOSTNAME and change nothing.
*/
......@@ -3451,6 +3455,8 @@ parse_extended_hostname(char *address, int allowdotexit)
failed:
/* otherwise, return to previous state and return 0 */
*s = '.';
log_warn(LD_APP, "Invalid onion hostname %s; rejecting",
safe_str_client(address));
return BAD_HOSTNAME;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment