summaryrefslogtreecommitdiff
path: root/usr/src/lib/libsocket/inet/rcmd.c
diff options
context:
space:
mode:
authorkcpoon <none@none>2006-07-24 23:50:09 -0700
committerkcpoon <none@none>2006-07-24 23:50:09 -0700
commitae347574c7f17d33bb822cb146d7f67c88ab1f68 (patch)
tree32acd48faeb75f69fb5f1433a4a9613b76d042ed /usr/src/lib/libsocket/inet/rcmd.c
parentb0f490f41a437c14fba5163cca1e65686e66c84b (diff)
downloadillumos-joyent-ae347574c7f17d33bb822cb146d7f67c88ab1f68.tar.gz
PSARC 2006/407 SO_EXCLBIND, socket exclusive binding
6410719 ASSERT() panic in ipsec_in_is_secure() 6442609 TCP_EXCLBIND handling has problem with server restarting 6445396 Add SO_EXCLBIND socket option
Diffstat (limited to 'usr/src/lib/libsocket/inet/rcmd.c')
-rw-r--r--usr/src/lib/libsocket/inet/rcmd.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/usr/src/lib/libsocket/inet/rcmd.c b/usr/src/lib/libsocket/inet/rcmd.c
index 0bfecc28c6..5cb0fb674f 100644
--- a/usr/src/lib/libsocket/inet/rcmd.c
+++ b/usr/src/lib/libsocket/inet/rcmd.c
@@ -444,10 +444,10 @@ _rresvport_addr(int *alport, struct sockaddr_storage *addr)
return (-1);
/*
- * Set TCP_EXCLBIND to get a "unique" port, which is not bound
+ * Set SO_EXCLBIND to get a "unique" port, which is not bound
* to any other sockets.
*/
- if (setsockopt(s, IPPROTO_TCP, TCP_EXCLBIND, &on, sizeof (on)) < 0) {
+ if (setsockopt(s, SOL_SOCKET, SO_EXCLBIND, &on, sizeof (on)) < 0) {
(void) close(s);
return (-1);
}
@@ -460,8 +460,8 @@ _rresvport_addr(int *alport, struct sockaddr_storage *addr)
sin6->sin6_port = htons((ushort_t)*alport);
}
if (bind(s, (struct sockaddr *)addr, len) >= 0) {
- /* To be safe, need to turn off TCP_EXCLBIND. */
- (void) setsockopt(s, IPPROTO_TCP, TCP_EXCLBIND, &off,
+ /* To be safe, need to turn off SO_EXCLBIND. */
+ (void) setsockopt(s, SOL_SOCKET, SO_EXCLBIND, &off,
sizeof (off));
return (s);
}
@@ -510,7 +510,7 @@ _rresvport_addr(int *alport, struct sockaddr_storage *addr)
*/
(void) setsockopt(s, IPPROTO_TCP, TCP_ANONPRIVBIND, &off,
sizeof (off));
- (void) setsockopt(s, IPPROTO_TCP, TCP_EXCLBIND, &off,
+ (void) setsockopt(s, SOL_SOCKET, SO_EXCLBIND, &off,
sizeof (off));
return (s);
}