mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
use tor_lookup_hostname for binding local addresses too
svn:r1744
This commit is contained in:
parent
3a66f523a1
commit
dd335d9bb2
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user