diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/or/buffers.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/or/buffers.c b/src/or/buffers.c index 0f15e7bbfe..01b73bfe56 100644 --- a/src/or/buffers.c +++ b/src/or/buffers.c @@ -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) { |