only complain about private IPs if we had to guess

svn:r1279
This commit is contained in:
Roger Dingledine 2004-03-15 04:04:16 +00:00
parent be18884765
commit 70cc557a18

View File

@ -349,8 +349,10 @@ static int resolve_my_address(or_options_t *options) {
struct in_addr in; struct in_addr in;
struct hostent *rent; struct hostent *rent;
char localhostname[256]; char localhostname[256];
int guessed=0;
if(!options->Address) { /* then we need to guess our address */ if(!options->Address) { /* then we need to guess our address */
guessed = 1;
if(gethostname(localhostname,sizeof(localhostname)) < 0) { if(gethostname(localhostname,sizeof(localhostname)) < 0) {
log_fn(LOG_WARN,"Error obtaining local hostname"); log_fn(LOG_WARN,"Error obtaining local hostname");
@ -376,7 +378,7 @@ static int resolve_my_address(or_options_t *options) {
} }
assert(rent->h_length == 4); assert(rent->h_length == 4);
memcpy(&in.s_addr, rent->h_addr,rent->h_length); memcpy(&in.s_addr, rent->h_addr,rent->h_length);
if(is_internal_IP(htonl(in.s_addr))) { if(guessed==1 && is_internal_IP(htonl(in.s_addr))) {
log_fn(LOG_WARN,"Address '%s' resolves to private IP '%s'. " log_fn(LOG_WARN,"Address '%s' resolves to private IP '%s'. "
"Please set the Address config option to be your public IP.", "Please set the Address config option to be your public IP.",
options->Address, inet_ntoa(in)); options->Address, inet_ntoa(in));