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

log the hostname that resolve_my_address() used to guess our IP

parent 2b4d4ccb
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -2089,6 +2089,8 @@ check_descriptor_ipaddress_changed(time_t now)
{
  uint32_t prev, cur;
  const or_options_t *options = get_options();
  char *hostname = NULL;

  (void) now;

  if (!desc_routerinfo)
@@ -2096,18 +2098,26 @@ check_descriptor_ipaddress_changed(time_t now)

  /* XXXX ipv6 */
  prev = desc_routerinfo->addr;
  if (resolve_my_address(LOG_INFO, options, &cur, NULL) < 0) {
  if (resolve_my_address(LOG_INFO, options, &cur, &hostname) < 0) {
    log_info(LD_CONFIG,"options->Address didn't resolve into an IP.");
    return;
  }

  if (prev != cur) {
    char *source;
    tor_addr_t tmp_prev, tmp_cur;

    tor_addr_from_ipv4h(&tmp_prev, prev);
    tor_addr_from_ipv4h(&tmp_cur, cur);
    log_addr_has_changed(LOG_NOTICE, &tmp_prev, &tmp_cur, "resolve");

    tor_asprintf(&source, "resolved from %s", hostname);
    log_addr_has_changed(LOG_NOTICE, &tmp_prev, &tmp_cur, source);
    tor_free(source);

    ip_address_changed(0);
  }

  tor_free(hostname);
}

/** The most recently guessed value of our IP address, based on directory