Reword the router_check_descriptor_address_port_consistency log message

The new message covers static and dynamic public IPv4 addresses,
and external / internal addresses in NAT setups.
This commit is contained in:
teor 2016-08-16 14:40:16 +10:00 committed by Nick Mathewson
parent 4b4389280e
commit a60ef72345

View File

@ -1929,18 +1929,16 @@ router_check_descriptor_address_port_consistency(uint32_t ipv4h_desc_addr,
tor_addr_from_ipv4h(&desc_addr, ipv4h_desc_addr); tor_addr_from_ipv4h(&desc_addr, ipv4h_desc_addr);
tor_addr_to_str(desc_addr_str, &desc_addr, TOR_ADDR_BUF_LEN, 0); tor_addr_to_str(desc_addr_str, &desc_addr, TOR_ADDR_BUF_LEN, 0);
log_warn(LD_CONFIG, "The configured IPv4 %sPort address %s does not " const char *listener_str = (listener_type == CONN_TYPE_OR_LISTENER ?
"match the address %s in the descriptor. Please configure " "OR" : "Dir");
"the matching IPv4 addresses for this Tor relay as " log_warn(LD_CONFIG, "The IPv4 %sPort address %s does not match the "
"Address <IPv4 address> in the torrc configuration file if " "descriptor address %s. If you have a static public IPv4 "
"you have multiple public IP addresses. If you are behind a " "address, use 'Address <IPv4>' and 'OutboundBindAddress "
"NAT and have the right ports forwarded, you can ignore this " "<IPv4>'. If you are behind a NAT, use two %sPort lines: "
"warning or, to remove it, use 2 %sPort lines with options " "'%sPort <PublicPort> NoListen' and '%sPort <InternalPort> "
"NoListen (for the public IPv4 address line) and NoAdvertise " "NoAdvertise'.",
"(for the internal NAT IPv4 address line).", listener_str, port_addr_str, desc_addr_str, listener_str,
listener_type ? "OR" : "Dir", listener_str, listener_str);
port_addr_str, desc_addr_str,
listener_type ? "OR" : "Dir");
} }
} }