diff options
author | Nick Mathewson <nickm@torproject.org> | 2010-02-09 12:58:25 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2010-02-09 12:58:25 -0500 |
commit | a6a1b8b815fd78845b44ff212c01263151fd2a10 (patch) | |
tree | ee2aaf6f0320da7ef8830450b469a6e0273544a9 /src | |
parent | a4065cd832dcbbe034dac1f42db7bdd315a7d734 (diff) | |
parent | a168cd2a54355c77a72e6553e5e4c5dc844fca50 (diff) | |
download | tor-a6a1b8b815fd78845b44ff212c01263151fd2a10.tar.gz tor-a6a1b8b815fd78845b44ff212c01263151fd2a10.zip |
Merge remote branch 'origin/maint-0.2.1'
Diffstat (limited to 'src')
-rw-r--r-- | src/or/config.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/or/config.c b/src/or/config.c index b8356e2fc0..8421bfaa2d 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -2193,7 +2193,7 @@ resolve_my_address(int warn_severity, or_options_t *options, uint32_t *addr_out, char **hostname_out) { struct in_addr in; - struct hostent *rent; + uint32_t addr; char hostname[256]; int explicit_ip=1; int explicit_hostname=1; @@ -2223,8 +2223,7 @@ resolve_my_address(int warn_severity, or_options_t *options, if (tor_inet_aton(hostname, &in) == 0) { /* then we have to resolve it */ explicit_ip = 0; - rent = (struct hostent *)gethostbyname(hostname); - if (!rent) { + if(!tor_lookup_hostname(hostname, &addr)) { uint32_t interface_ip; if (explicit_hostname) { @@ -2247,8 +2246,7 @@ resolve_my_address(int warn_severity, or_options_t *options, "local interface. Using that.", tmpbuf); strlcpy(hostname, "<guessed from interfaces>", sizeof(hostname)); } else { - tor_assert(rent->h_length == 4); - memcpy(&in.s_addr, rent->h_addr, rent->h_length); + in.s_addr = htonl(addr); if (!explicit_hostname && is_internal_IP(ntohl(in.s_addr), 0)) { |