summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2004-02-26 03:43:00 +0000
committerKen Raeburn <raeburn@mit.edu>2004-02-26 03:43:00 +0000
commitcb16b02fc4372c3cb8ae377a5e9e2e7caa5e6dfc (patch)
tree0170519ee8202a164280985e7f9c15713d0381b7 /src
parent14d541f9a3e0a8763830590bc63da7f48077c606 (diff)
downloadkrb5-cb16b02fc4372c3cb8ae377a5e9e2e7caa5e6dfc.tar.gz
krb5-cb16b02fc4372c3cb8ae377a5e9e2e7caa5e6dfc.tar.xz
krb5-cb16b02fc4372c3cb8ae377a5e9e2e7caa5e6dfc.zip
* network.c (setup_a_tcp_listener): Call setreuseaddr before calling bind.
(setup_tcp_listener_ports): Don't call setreuseaddr. Log info about socket option IPV6_V6ONLY in unsupported and success cases. ticket: 2285 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16124 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/kdc/ChangeLog7
-rw-r--r--src/kdc/network.c19
2 files changed, 18 insertions, 8 deletions
diff --git a/src/kdc/ChangeLog b/src/kdc/ChangeLog
index b95a6ac7ed..6c6378f4d8 100644
--- a/src/kdc/ChangeLog
+++ b/src/kdc/ChangeLog
@@ -1,3 +1,10 @@
+2004-02-25 Ken Raeburn <raeburn@mit.edu>
+
+ * network.c (setup_a_tcp_listener): Call setreuseaddr before
+ calling bind.
+ (setup_tcp_listener_ports): Don't call setreuseaddr. Log info
+ about socket option IPV6_V6ONLY in unsupported and success cases.
+
2004-02-24 Sam Hartman <hartmans@avalanche-breakdown.mit.edu>
* kerberos_v4.c (compat_decrypt_key): As below.
diff --git a/src/kdc/network.c b/src/kdc/network.c
index 4c49102a94..cc79b80935 100644
--- a/src/kdc/network.c
+++ b/src/kdc/network.c
@@ -358,6 +358,9 @@ setup_a_tcp_listener(struct socksetup *data, struct sockaddr *addr)
paddr(addr));
return -1;
}
+ if (setreuseaddr(sock, 1) < 0)
+ com_err(data->prog, errno,
+ "Cannot enable SO_REUSEADDR on fd %d", sock);
if (bind(sock, addr, socklen(addr)) == -1) {
com_err(data->prog, errno,
"Cannot bind TCP server socket on %s", paddr(addr));
@@ -434,16 +437,12 @@ setup_tcp_listener_ports(struct socksetup *data)
#ifdef IPV6_V6ONLY
if (setv6only(s6, 0))
com_err(data->prog, errno, "setsockopt(IPV6_V6ONLY,0) failed");
+ else
+ com_err(data->prog, 0, "setsockopt(IPV6_V6ONLY,0) worked");
+#else
+ krb5_klog_syslog(LOG_INFO, "no IPV6_V6ONLY socket option support");
#endif
- if (setreuseaddr(s6, 0) < 0) {
- com_err(data->prog, errno,
- "disabling SO_REUSEADDR on IPv6 TCP socket for port %d",
- port);
- close(s6);
- return -1;
- }
-
s4 = setup_a_tcp_listener(data, (struct sockaddr *)&sin4);
#endif /* KRB5_USE_INET6 */
}
@@ -803,6 +802,10 @@ static void accept_tcp_connection(struct connection *conn, const char *prog,
strcpy(p, tmpbuf);
}
}
+#if 0
+ krb5_klog_syslog(LOG_INFO, "accepted TCP connection on socket %d from %s",
+ s, newconn->u.tcp.addrbuf);
+#endif
newconn->u.tcp.addr_s = addr_s;
newconn->u.tcp.addrlen = addrlen;