Unverified Commit 6028b2c1 authored by Panagiotis Vasilopoulos's avatar Panagiotis Vasilopoulos
Browse files

tor-resolve: Added notice for .exit domains


Signed-off-by: Panagiotis Vasilopoulos's avatarPanagiotis Vasilopoulos <hello@alwayslivid.com>
parent 62614f0b
Pipeline #4815 passed with stage
in 18 minutes and 44 seconds
......@@ -253,7 +253,7 @@ build_socks_resolve_request(uint8_t **out,
}
static void
onion_warning(const char *hostname)
onion_hs_warning(const char *hostname)
{
log_warn(LD_NET,
"%s is a hidden service; those don't have IP addresses. "
......@@ -264,6 +264,15 @@ onion_warning(const char *hostname)
hostname);
}
static void
onion_exit_warning(const char *hostname)
{
log_warn(LD_NET,
"%s is a link pointing to an exit node; however, .exit domains"
"have been long defunct and are not valid anymore.",
hostname);
}
/** Given a <b>len</b>-byte SOCKS4a response in <b>response</b>, set
* *<b>addr_out</b> to the address it contains (in host order).
* Return 0 on success, -1 on error.
......@@ -306,9 +315,15 @@ parse_socks4a_resolve_response(const char *hostname,
if (status != 90) {
log_warn(LD_NET,"Got status response '%d': socks request failed.", status);
if (!strcasecmpend(hostname, ".onion")) {
onion_warning(hostname);
onion_hs_warning(hostname);
result = -1; goto cleanup;
}
if (!strcasecmpend(hostname, ".exit")) {
onion_exit_warning(hostname);
result = -1; goto cleanup;
}
result = -1; goto cleanup;
}
......@@ -493,7 +508,11 @@ do_resolve(const char *hostname,
(unsigned)reply_field,
socks5_reason_to_string(reply_field));
if (reply_field == 4 && !strcasecmpend(hostname, ".onion")) {
onion_warning(hostname);
onion_hs_warning(hostname);
}
if (reply_field == 4 && !strcasecmpend(hostname, ".exit")) {
onion_exit_warning(hostname);
}
socks5_server_reply_free(reply);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment