Commit dbf150bd authored by Roger Dingledine's avatar Roger Dingledine
Browse files

list the port and socks version when complaining about unsafe socks


svn:r2188
parent bc24c3f4
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -484,10 +484,7 @@ int fetch_from_buf_socks(buf_t *buf, socks_request_t *req) {
          log_fn(LOG_DEBUG,"socks5: ipv4 address type");
          if(buf->datalen < 10) /* ip/port there? */
            return 0; /* not yet */
          if(!have_warned_about_unsafe_socks) {
            log_fn(LOG_WARN,"Your application is giving Tor only an IP address. Applications that do DNS resolves themselves may leak information. Consider using Socks4A (e.g. via privoxy or socat) instead.");
//            have_warned_about_unsafe_socks = 1; // (for now, warn every time)
          }

          destip = ntohl(*(uint32_t*)(buf->mem+4));
          in.s_addr = htonl(destip);
          tmpbuf = inet_ntoa(in);
@@ -499,6 +496,10 @@ int fetch_from_buf_socks(buf_t *buf, socks_request_t *req) {
          strcpy(req->address,tmpbuf);
          req->port = ntohs(*(uint16_t*)(buf->mem+8));
          buf_remove_from_front(buf, 10);
          if(!have_warned_about_unsafe_socks) {
            log_fn(LOG_WARN,"Your application (socks5, on port %d) is giving Tor only an IP address. Applications that do DNS resolves themselves may leak information. Consider using Socks4A (e.g. via privoxy or socat) instead.", req->port);
//            have_warned_about_unsafe_socks = 1; // (for now, warn every time)
          }
          return 1;
        case 3: /* fqdn */
          log_fn(LOG_DEBUG,"socks5: fqdn address type");
@@ -565,7 +566,7 @@ int fetch_from_buf_socks(buf_t *buf, socks_request_t *req) {

      startaddr = next+1;
      if(socks4_prot != socks4a && !have_warned_about_unsafe_socks) {
        log_fn(LOG_WARN,"Your application is giving Tor only an IP address. Applications that do DNS resolves themselves may leak information. Consider using Socks4A (e.g. via privoxy or socat) instead.");
        log_fn(LOG_WARN,"Your application (socks4, on port %d) is giving Tor only an IP address. Applications that do DNS resolves themselves may leak information. Consider using Socks4A (e.g. via privoxy or socat) instead.", req->port);
//      have_warned_about_unsafe_socks = 1; // (for now, warn every time)
      }
      if(socks4_prot == socks4a) {