The "Bind" directive sets a binding address which the outgoing connections

will use.
This commit is contained in:
Robert James Kaes 2002-04-22 19:35:24 +00:00
parent 1953348c90
commit 08077cc9e1

View File

@ -1,4 +1,4 @@
/* $Id: sock.c,v 1.31 2002-04-18 21:54:50 rjkaes Exp $ /* $Id: sock.c,v 1.32 2002-04-22 19:35:24 rjkaes Exp $
* *
* Sockets are created and destroyed here. When a new connection comes in from * Sockets are created and destroyed here. When a new connection comes in from
* a client, we need to copy the socket and the create a second socket to the * a client, we need to copy the socket and the create a second socket to the
@ -111,15 +111,15 @@ opensock(char *ip_addr, uint16_t port)
} }
/* Bind to our listening address*/ /* Bind to our listening address*/
if (config.ipAddr) { if (bind_address) {
memset(&bind_addr, 0, sizeof(bind_addr)); memset(&bind_addr, 0, sizeof(bind_addr));
bind_addr.sin_family = AF_INET; bind_addr.sin_family = AF_INET;
bind_addr.sin_addr.s_addr = inet_addr(config.ipAddr); bind_addr.sin_addr.s_addr = inet_addr(bind_address);
ret = bind(sock_fd, (struct sockaddr *)&bind_addr, sizeof(bind_addr)); ret = bind(sock_fd, (struct sockaddr *)&bind_addr, sizeof(bind_addr));
if (ret < 0) { if (ret < 0) {
log_message(LOG_ERR, "Could not bind local address \"%\" because of %s", log_message(LOG_ERR, "Could not bind local address \"%\" because of %s",
config.ipAddr, bind_address,
strerror(errno)); strerror(errno));
return -1; return -1;
} }