diff options
| author | Marcin Juszkiewicz <hrw@openembedded.org> | 2007-08-09 08:41:19 +0000 |
|---|---|---|
| committer | Marcin Juszkiewicz <hrw@openembedded.org> | 2007-08-09 08:41:19 +0000 |
| commit | 9d829ed05c295df608b4fc108eb1c628fd06fd39 (patch) | |
| tree | c1b27cfe4498f8abef1a61325922906f3e6a32ff /packages/wget/wget-1.9.1/ipv6-fix.patch | |
| parent | 1434b204e16e87b7f59f074f3036d5dcbcf0116f (diff) | |
| parent | 6ccac10beeaaa02a86081bd6179fd57c208ad6b1 (diff) | |
merge of '76e1e69496801009ea0aa69c84f76e858978ab99'
and 'db976a98427dd6a195e2cf167e225de2d0206aea'
Diffstat (limited to 'packages/wget/wget-1.9.1/ipv6-fix.patch')
| -rw-r--r-- | packages/wget/wget-1.9.1/ipv6-fix.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/packages/wget/wget-1.9.1/ipv6-fix.patch b/packages/wget/wget-1.9.1/ipv6-fix.patch new file mode 100644 index 0000000000..315dd25c00 --- /dev/null +++ b/packages/wget/wget-1.9.1/ipv6-fix.patch @@ -0,0 +1,31 @@ +If the kernel has IPv6 support then wget tries to create sockets using +AF_INET6 and then gets an EAFNOSUPPORT error, which it treats as a +connection failure, resulting in wget not being able to work. This patch +makes it switch it's default protocol to IPv4 when it sees that IPv6 isn't +supported in the kernel. + +Index: wget-1.9.1/src/connect.c +=================================================================== +--- wget-1.9.1.orig/src/connect.c 2003-11-02 01:08:22.000000000 +1100 ++++ wget-1.9.1/src/connect.c 2007-06-02 01:39:55.000000000 +1000 +@@ -244,12 +244,20 @@ + { + ip_address addr; + int sock; ++retry: + address_list_copy_one (al, i, &addr); + + sock = connect_to_one (&addr, port, silent); + if (sock >= 0) + /* Success. */ + return sock; ++ ++ if (errno == EAFNOSUPPORT && ip_default_family == AF_INET6) ++ { ++ DEBUGP (("No IPv6 support, changing default to IPv4.\n")); ++ ip_default_family = AF_INET; ++ goto retry; ++ } + + address_list_set_faulty (al, i); + |
