|
@@ -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;
|
|
|
}
|
|
|
|