Browse Source

Fix our "not an HTTP Proxy" message in light of HTTPTunnelPort

When we added HTTPTunnelPort, the answer that we give when you try
to use your SOCKSPort as an HTTP proxy became wrong.  Now we explain
that Tor sorta _is_ an HTTP proxy, but a SOCKSPort isn't.

I have left the status line the same, in case anything is depending
on it.  I have removed the extra padding for Internet Explorer,
since the message is well over 512 bytes without it.

Fixes bug 23678; bugfix on 0.3.2.1-alpha.
Nick Mathewson 6 years ago
parent
commit
ad4dcd7d1a
2 changed files with 17 additions and 9 deletions
  1. 7 0
      changes/bug23678
  2. 10 9
      src/or/proto_socks.c

+ 7 - 0
changes/bug23678

@@ -0,0 +1,7 @@
+  o Minor bugfixes (warnings):
+    - When we get an HTTP request on a SOCKS port, tell the user about
+      the new HTTPTunnelPort option. Previously, we would give a
+      "Tor is not an HTTP Proxy" message, which stopped being true when
+      HTTPTunnelPort was introduced. Fixes bug 23678; bugfix on
+      0.3.2.1-alpha.
+

+ 10 - 9
src/or/proto_socks.c

@@ -160,23 +160,23 @@ static const char SOCKS_PROXY_IS_NOT_AN_HTTP_PROXY_MSG[] =
   "Content-Type: text/html; charset=iso-8859-1\r\n\r\n"
   "<html>\n"
   "<head>\n"
-  "<title>Tor is not an HTTP Proxy</title>\n"
+  "<title>This is a SOCKS Proxy, Not An HTTP Proxy</title>\n"
   "</head>\n"
   "<body>\n"
-  "<h1>Tor is not an HTTP Proxy</h1>\n"
+  "<h1>This is a SOCKs proxy, not an HTTP proxy.</h1>\n"
   "<p>\n"
-  "It appears you have configured your web browser to use Tor as "
-  "an HTTP proxy.\n\n"
-  "This is not correct: Tor is a SOCKS proxy, not an HTTP proxy.\n"
+  "It appears you have configured your web browser to use this Tor port as\n"
+  "an HTTP proxy.\n"
+  "</p><p>\n"
+  "This is not correct: This port is configured as a SOCKS proxy, not\n"
+  "an HTTP proxy. If you need an HTTP proxy tunnel, use the HTTPTunnelPort\n"
+  "configuration option in place of, or in addition to, SOCKSPort.\n"
   "Please configure your client accordingly.\n"
   "</p>\n"
   "<p>\n"
   "See <a href=\"https://www.torproject.org/documentation.html\">"
   "https://www.torproject.org/documentation.html</a> for more "
   "information.\n"
-  "<!-- Plus this comment, to make the body response more than 512 bytes, so "
-  "     IE will be willing to display it. Comment comment comment comment "
-  "     comment comment comment comment comment comment comment comment.-->\n"
   "</p>\n"
   "</body>\n"
   "</html>\n";
@@ -544,7 +544,8 @@ parse_socks(const char *data, size_t datalen, socks_request_t *req,
       /* fall through */
     default: /* version is not socks4 or socks5 */
       log_warn(LD_APP,
-               "Socks version %d not recognized. (Tor is not an http proxy.)",
+               "Socks version %d not recognized. (This port is not an "
+               "HTTP proxy; did you want to use HTTPTunnelPort?)",
                *(data));
       {
         /* Tell the controller the first 8 bytes. */