From 66cc6d43f6ec5874a0b46dc02c42c64287cbc763 Mon Sep 17 00:00:00 2001 From: hniksic Date: Sat, 15 Nov 2003 16:31:58 -0800 Subject: [PATCH] [svn] Don't allow opt.ipv4_only and opt.ipv6_only to both be set. --- src/ChangeLog | 8 ++++++++ src/init.c | 3 ++- src/main.c | 12 ++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index d58e371e..23e8a3e4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2003-11-16 Hrvoje Niksic + + * main.c (main): Don't allow setting of both opt.ipv4_only and + opt.ipv6_only. + + * init.c (defaults): Mark opt.ipv4_only specially when set + automatically. + 2003-11-15 Hrvoje Niksic * host.c (lookup_host): Use AI_ADDRCONFIG only if the family is diff --git a/src/init.c b/src/init.c index e93d6226..220c8c00 100644 --- a/src/init.c +++ b/src/init.c @@ -321,7 +321,8 @@ defaults (void) { int sock = socket (AF_INET6, SOCK_STREAM, 0); if (sock < 0) - opt.ipv4_only = 1; + opt.ipv4_only = -1; /* special value -1 because the option + was not specified by the user. */ else close (sock); } diff --git a/src/main.c b/src/main.c index a857dcac..f702bd4b 100644 --- a/src/main.c +++ b/src/main.c @@ -806,6 +806,18 @@ Can't timestamp and not clobber old files at the same time.\n")); print_usage (); exit (1); } + if (opt.ipv4_only && opt.ipv6_only) + { + if (opt.ipv4_only == -1) + /* ipv4_only was set automatically because the system doesn't + support IPv6. */ + printf (_("Cannot use --inet6-only on a system without IPv6 support.\n")); + else + printf (_("Cannot specify both --inet4-only and --inet6-only.\n")); + print_usage (); + exit (1); + } + nurl = argc - optind; if (!nurl && !opt.input_filename) { -- 2.39.2