From 6cb5383e564f37e681df922ffddc1894bf8b35fa Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Fri, 1 Oct 2010 13:32:38 -0400 Subject: [PATCH 1/2] log when we guess our ip address, not just when we fail --- changes/bug1534 | 6 ++++++ src/or/router.c | 5 +++++ 2 files changed, 11 insertions(+) create mode 100644 changes/bug1534 diff --git a/changes/bug1534 b/changes/bug1534 new file mode 100644 index 0000000000..523391f4ed --- /dev/null +++ b/changes/bug1534 @@ -0,0 +1,6 @@ + o Minor bugfixes: + - When we're trying to guess whether we know our IP address as + a relay, we would log various ways that we failed to guess + our address, but never log that we ended up guessing it + successfully. Now add a log line to help confused and anxious + relay operators. Bugfix on 0.1.2.1-alpha; fixes bug 1534. diff --git a/src/or/router.c b/src/or/router.c index 621cbaace5..56d88262d6 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -1257,6 +1257,8 @@ static int router_guess_address_from_dir_headers(uint32_t *guess); int router_pick_published_address(or_options_t *options, uint32_t *addr) { + char buf[INET_NTOA_BUF_LEN]; + struct in_addr a; if (resolve_my_address(LOG_INFO, options, addr, NULL) < 0) { log_info(LD_CONFIG, "Could not determine our address locally. " "Checking if directory headers provide any hints."); @@ -1266,6 +1268,9 @@ router_pick_published_address(or_options_t *options, uint32_t *addr) return -1; } } + a.s_addr = htonl(*addr); + tor_inet_ntoa(&a, buf, sizeof(buf)); + log_info(LD_CONFIG,"Success: chose address '%s'.", buf); return 0; } From 734ba2f93728af85d1a7d1e0ef7d7c4ae82783a5 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Fri, 1 Oct 2010 14:11:08 -0400 Subject: [PATCH 2/2] fix comment --- src/or/router.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/or/router.c b/src/or/router.c index 56d88262d6..8b3a1849ac 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -1294,7 +1294,7 @@ router_rebuild_descriptor(int force) if (router_pick_published_address(options, &addr) < 0) { /* Stop trying to rebuild our descriptor every second. We'll - * learn that it's time to try again when server_has_changed_ip() + * learn that it's time to try again when ip_address_changed() * marks it dirty. */ desc_clean_since = time(NULL); return -1;