]> sjero.net Git - wget/commitdiff
[svn] Set IPV6_V6ONLY socket option when -6 switch is used.
authormtortonesi <devnull@localhost>
Thu, 21 Apr 2005 01:26:33 +0000 (18:26 -0700)
committermtortonesi <devnull@localhost>
Thu, 21 Apr 2005 01:26:33 +0000 (18:26 -0700)
configure.in
src/ChangeLog
src/connect.c

index becfba3cf14bafffebdf85efa04f707ae415a6f7..20ad4c6b074dcd9030fc45f7f5f7978e6d741c47 100644 (file)
@@ -51,6 +51,7 @@ AC_DEFINE_UNQUOTED([OS_TYPE], "$host_os",
 dnl
 dnl Process features.
 dnl
+_AS_PATH_SEPARATOR_PREPARE
 
 AC_ARG_WITH(ssl,
 [[  --with-ssl[=SSL-ROOT]   link with SSL support [default=auto]
index 7327a4bde5fad5db3c17e718ab5c04b746d40e24..b5b26d34f17023634790b12a6d13825dfd793432 100644 (file)
@@ -1,3 +1,7 @@
+2005-04-20  Mauro Tortonesi  <mauro@ferrara.linux.it>
+
+       * connect.c: Set IPV6_V6ONLY socket option when -6 switch is used.
+
 2005-04-20  FUJISHIMA Satsuki  <sf@FreeBSD.org>
 
        * http.c (request_set_header): Fix the check whether a new header
index 10f984061a94827e4ef202f8e70f76b1a4ffba24..1aab01bb583638e016f9330c7beb540477f275fb 100644 (file)
@@ -283,6 +283,18 @@ connect_to_ip (const ip_address *ip, int port, const char *print)
   if (sock < 0)
     goto err;
 
+#if defined(ENABLE_IPV6) && defined(IPV6_V6ONLY)
+  if (opt.ipv6_only) {
+    int on = 1;
+    /* In case of error, we will go on anyway... */
+    int err = setsockopt (sock, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof (on));
+#ifdef ENABLE_DEBUG
+    if (err < 0) 
+      DEBUGP (("Failed setting IPV6_V6ONLY: %s", strerror (errno)));
+#endif
+  }
+#endif
+
   /* For very small rate limits, set the buffer size (and hence,
      hopefully, the kernel's TCP window size) to the per-second limit.
      That way we should never have to sleep for more than 1s between