mirror of
https://github.com/mirror/wget.git
synced 2025-01-24 11:20:13 +08:00
[svn] Turn on opt.ipv4_only if we're compiling with IPv6, and AI_ADDRINFO is not
available, and AF_INET6 sockets can't be created.
This commit is contained in:
parent
fea4fb28cb
commit
a0bae929ea
@ -1,3 +1,9 @@
|
|||||||
|
2003-11-13 Hrvoje Niksic <hniksic@xemacs.org>
|
||||||
|
|
||||||
|
* init.c (defaults): Turn on opt.ipv4_only if we're compiling with
|
||||||
|
IPv6, and AI_ADDRINFO is not available, and AF_INET6 sockets can't
|
||||||
|
be created.
|
||||||
|
|
||||||
2003-11-13 Hrvoje Niksic <hniksic@xemacs.org>
|
2003-11-13 Hrvoje Niksic <hniksic@xemacs.org>
|
||||||
|
|
||||||
* host.c (lookup_host): Document the fact that the addresses are
|
* host.c (lookup_host): Document the fact that the addresses are
|
||||||
|
23
src/init.c
23
src/init.c
@ -304,6 +304,29 @@ defaults (void)
|
|||||||
opt.restrict_files_os = restrict_windows;
|
opt.restrict_files_os = restrict_windows;
|
||||||
#endif
|
#endif
|
||||||
opt.restrict_files_ctrl = 1;
|
opt.restrict_files_ctrl = 1;
|
||||||
|
|
||||||
|
#ifdef ENABLE_IPV6
|
||||||
|
# ifndef HAVE_GETADDRINFO_AI_ADDRCONFIG
|
||||||
|
/* If IPv6 is enabled, but AI_ADDRCONFIG is missing, check whether
|
||||||
|
we can create AF_INET6 sockets. If we can't, turn on the
|
||||||
|
--inet4-only setting. This is necessary because on some systems
|
||||||
|
(e.g. RHL 9) getaddrinfo resolves AAAA records, but socket()
|
||||||
|
can't even create an AF_INET6 socket, let alone connect to IPv6
|
||||||
|
hosts. To avoid "address family not supported" error messages,
|
||||||
|
we set ipv4_only.
|
||||||
|
|
||||||
|
We do it as early as here, so that the user can revert the
|
||||||
|
settingn using --no-inet4-only, in case he wants to see the error
|
||||||
|
messages, for whatever reason. */
|
||||||
|
{
|
||||||
|
int sock = socket (AF_INET6, SOCK_STREAM, 0);
|
||||||
|
if (sock < 0)
|
||||||
|
opt.ipv4_only = 1;
|
||||||
|
else
|
||||||
|
close (sock);
|
||||||
|
}
|
||||||
|
# endif /* not HAVE_GETADDRINFO_AI_ADDRCONFIG */
|
||||||
|
#endif /* ENABLE_IPV6 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return the user's home directory (strdup-ed), or NULL if none is
|
/* Return the user's home directory (strdup-ed), or NULL if none is
|
||||||
|
Loading…
Reference in New Issue
Block a user