From 0fb7a7de952262c84310f720c798903d0fbeb780 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Sat, 30 Sep 2006 20:14:15 +0000 Subject: Bugfix: when we tunnel our dir fetches via tor, don't believe the X-Forwarded-For header. svn:r8553 --- src/or/directory.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/or/directory.c b/src/or/directory.c index a922d81ad..3ac11b6c5 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -837,7 +837,6 @@ connection_dir_client_reached_eof(dir_connection_t *conn) int skewed=0; int allow_partial = conn->_base.purpose == DIR_PURPOSE_FETCH_SERVERDESC; int was_compressed=0; - char *guess; switch (fetch_from_buf_http(conn->_base.inbuf, &headers, MAX_HEADERS_SIZE, @@ -871,10 +870,12 @@ connection_dir_client_reached_eof(dir_connection_t *conn) escaped(reason)); /* now check if it's got any hints for us about our IP address. */ - guess = http_get_header(headers, X_ADDRESS_HEADER); - if (guess) { - router_new_address_suggestion(guess); - tor_free(guess); + if (conn->dirconn_direct) { + char *guess = http_get_header(headers, X_ADDRESS_HEADER); + if (guess) { + router_new_address_suggestion(guess); + tor_free(guess); + } } if (date_header > 0) { -- cgit v1.2.3