From: Roger Dingledine Date: Wed, 28 Apr 2004 20:57:03 +0000 (+0000) Subject: use tor_lookup_hostname for binding local addresses too X-Git-Tag: debian-version-0.0.5+0.0.6rc3-1~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dd335d9bb25b1e772f0d42aa35d25895d8031c36;p=thirdparty%2Ftor.git use tor_lookup_hostname for binding local addresses too svn:r1744 --- diff --git a/src/or/connection.c b/src/or/connection.c index 225b92b247..a2e1a95eea 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -257,7 +257,6 @@ void connection_expire_held_open(void) int connection_create_listener(char *bindaddress, uint16_t bindport, int type) { struct sockaddr_in bindaddr; /* where to bind */ - struct hostent *rent; connection_t *conn; int s; /* the socket we're going to make */ int one=1; @@ -265,14 +264,10 @@ int connection_create_listener(char *bindaddress, uint16_t bindport, int type) { memset(&bindaddr,0,sizeof(struct sockaddr_in)); bindaddr.sin_family = AF_INET; bindaddr.sin_port = htons(bindport); - rent = gethostbyname(bindaddress); - if (!rent) { + if(tor_lookup_hostname(bindaddress, &(bindaddr.sin_addr.s_addr)) != 0) { log_fn(LOG_WARN,"Can't resolve BindAddress %s",bindaddress); return -1; } - if(rent->h_length != 4) - return -1; /* XXX complain */ - memcpy(&(bindaddr.sin_addr.s_addr),rent->h_addr,rent->h_length); s = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP); if (s < 0) {