aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorOlivier Houchard <cognet@FreeBSD.org>2005-10-04 12:50:11 +0000
committerOlivier Houchard <cognet@FreeBSD.org>2005-10-04 12:50:11 +0000
commit02fa0b3973006bfb1ff3a4d23ded745af5f960a7 (patch)
tree372e5a41badce5675592f02e39d8823ad2efa71f /usr.sbin
parent48f273d0480e6bbe0dfb94609623932897ee7ba5 (diff)
Notes
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/syslogd/syslogd.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c
index e506174f352e..e1c4ab1cf506 100644
--- a/usr.sbin/syslogd/syslogd.c
+++ b/usr.sbin/syslogd/syslogd.c
@@ -2546,13 +2546,13 @@ socksetup(int af, const char *bindhostname)
*socks = 0; /* num of sockets counter at start of array */
s = socks + 1;
for (r = res; r; r = r->ai_next) {
+ int on = 1;
*s = socket(r->ai_family, r->ai_socktype, r->ai_protocol);
if (*s < 0) {
logerror("socket");
continue;
}
if (r->ai_family == AF_INET6) {
- int on = 1;
if (setsockopt(*s, IPPROTO_IPV6, IPV6_V6ONLY,
(char *)&on, sizeof (on)) < 0) {
logerror("setsockopt");
@@ -2560,6 +2560,12 @@ socksetup(int af, const char *bindhostname)
continue;
}
}
+ if (setsockopt(*s, SOL_SOCKET, SO_REUSEADDR,
+ (char *)&on, sizeof (on)) < 0) {
+ logerror("setsockopt");
+ close(*s);
+ continue;
+ }
if (bind(*s, r->ai_addr, r->ai_addrlen) < 0) {
close(*s);
logerror("bind");