rcolebaugh / rpms / openssh

Forked from rpms/openssh 2 years ago
Clone
Tomáš Mráz 2cb0e7
--- sshd.c	2007-06-05 01:22:32.000000000 -0700
Tomáš Mráz 2cb0e7
+++ sshd.c.new	2007-11-17 00:07:08.000000000 -0800
Tomáš Mráz 2cb0e7
@@ -971,12 +971,27 @@
Tomáš Mráz 2cb0e7
 		}
Tomáš Mráz 2cb0e7
 		/*
Tomáš Mráz 2cb0e7
 		 * Set socket options.
Tomáš Mráz 2cb0e7
+		 */
Tomáš Mráz 2cb0e7
+
Tomáš Mráz 2cb0e7
+		/*
Tomáš Mráz 2cb0e7
 		 * Allow local port reuse in TIME_WAIT.
Tomáš Mráz 2cb0e7
 		 */
Tomáš Mráz 2cb0e7
 		if (setsockopt(listen_sock, SOL_SOCKET, SO_REUSEADDR,
Tomáš Mráz 2cb0e7
 		    &on, sizeof(on)) == -1)
Tomáš Mráz 2cb0e7
 			error("setsockopt SO_REUSEADDR: %s", strerror(errno));
Tomáš Mráz 2cb0e7
 
Tomáš Mráz 2cb0e7
+#ifdef IPV6_V6ONLY
Tomáš Mráz 2cb0e7
+		if (ai->ai_family == AF_INET6) {
Tomáš Mráz 2cb0e7
+			/*
Tomáš Mráz 2cb0e7
+			 * Only communicate in IPv6 over AF_INET6 sockets.
Tomáš Mráz 2cb0e7
+			 */
Tomáš Mráz 2cb0e7
+			if (setsockopt(listen_sock, IPPROTO_IPV6, IPV6_V6ONLY,
Tomáš Mráz 2cb0e7
+			    &on, sizeof(on)) == -1)
Tomáš Mráz 2cb0e7
+				error("setsockopt IPV6_V6ONLY: %s",
Tomáš Mráz 2cb0e7
+				    strerror(errno));
Tomáš Mráz 2cb0e7
+		}
Tomáš Mráz 2cb0e7
+#endif
Tomáš Mráz 2cb0e7
+
Tomáš Mráz 2cb0e7
 		debug("Bind to port %s on %s.", strport, ntop);
Tomáš Mráz 2cb0e7
 
Tomáš Mráz 2cb0e7
 		/* Bind the socket to the desired port. */