Subject: Re: ipv6 for wget
To: None <tech-pkg@NetBSD.org>
From: Yokoyama, Atsushi <a.yokoyama@pobox.com>
List: tech-pkg
Date: 01/23/2005 21:27:30
Hi folks,

Does wget-1.9.1 work with --enable-ipv6 option on NetBSD?
The option should be enabled by default?

Recently I've noticed that wget-1.9.1nb3 didn't work even
for IPv4 HTTP acquisition.  My kernel is 1.6.2 and IPv6
enabled.

> --20:50:24--  http://www.somewhere.net/foo.html
>            => `foo.html'
> Resolving www.somewhere.net... 1.2.3.4
> Connecting to www.somewhere.net[1.2.3.4]:80... failed: Invalid > argument.
> Retrying.

When I disabled it as '--disable-ipv6', the problem has gone.

With --enable-ipv6, I found that the following connect() in
connect.c failed and errno became EINVAL (22).  The given
ctx->addr seemed IPv4-mapped address.

> static void
> connect_with_timeout_callback (void *arg)
> {
>   struct cwt_context *ctx = (struct cwt_context *)arg;
>   ctx->result = connect (ctx->fd, ctx->addr, ctx->addrlen);
> }
> 
> /* Like connect, but specifies a timeout.  If connecting takes longer
>    than TIMEOUT seconds, -1 is returned and errno is set to
>    ETIMEDOUT.  */

According to http://orange.kame.net/dev/cvsweb.cgi/kame/kame/kame/v6test/conf/transition-abuse.conf?rev=1.22,
the current NetBSD kernel does not allow IPv4-mapped address
by default.

Does the problem occur on my kernel configuration only?

Regards,

---
Yokoyama, Atsushi
Saitama, JAPAN