- Give a better error message when an overzealous init script says,
"sudo -u username tor --user username". Makes Bug 882 easier
for users to diagnose.
+ - When a directory authority gives us a new guess for our IP address,
+ log which authority we used. Hopefully this will help us debug
+ the recent complaints about bad IP address guesses.
o Minor features (controller):
- New CONSENSUS_ARRIVED event to note when a new consensus has
/** Note at log level severity that our best guess of address has changed from
* <b>prev</b> to <b>cur</b>. */
static void
-log_addr_has_changed(int severity, uint32_t prev, uint32_t cur)
+log_addr_has_changed(int severity, uint32_t prev, uint32_t cur,
+ const char *source)
{
char addrbuf_prev[INET_NTOA_BUF_LEN];
char addrbuf_cur[INET_NTOA_BUF_LEN];
if (prev)
log_fn(severity, LD_GENERAL,
"Our IP Address has changed from %s to %s; "
- "rebuilding descriptor.",
- addrbuf_prev, addrbuf_cur);
+ "rebuilding descriptor (source: %s).",
+ addrbuf_prev, addrbuf_cur, source);
else
log_notice(LD_GENERAL,
"Guessed our IP address as %s.",
}
if (prev != cur) {
- log_addr_has_changed(LOG_INFO, prev, cur);
+ log_addr_has_changed(LOG_INFO, prev, cur, "resolve");
ip_address_changed(0);
}
}
control_event_server_status(LOG_NOTICE,
"EXTERNAL_ADDRESS ADDRESS=%s METHOD=DIRSERV",
suggestion);
- log_addr_has_changed(LOG_NOTICE, last_guessed_ip, addr);
+ log_addr_has_changed(LOG_NOTICE, last_guessed_ip, addr,
+ d_conn->_base.address);
ip_address_changed(0);
last_guessed_ip = addr; /* router_rebuild_descriptor() will fetch it */
}