[tor-commits] [tor/main] tor-resolve: Added notice for .exit domains

dgoulet at torproject.org dgoulet at torproject.org
Thu May 27 14:14:08 UTC 2021


commit 6028b2c10ca943a9b675feff10cae140a3d146d6
Author: Panagiotis Vasilopoulos <hello at alwayslivid.com>
Date:   Sun Apr 11 20:21:31 2021 +0300

    tor-resolve: Added notice for .exit domains
    
    Signed-off-by: Panagiotis Vasilopoulos <hello at alwayslivid.com>
---
 src/tools/tor-resolve.c | 25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/src/tools/tor-resolve.c b/src/tools/tor-resolve.c
index 09ff8df4ab..ad52fdaa22 100644
--- a/src/tools/tor-resolve.c
+++ b/src/tools/tor-resolve.c
@@ -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);





More information about the tor-commits mailing list