From: Mark Andrews Date: Sat, 16 Mar 2024 04:55:37 +0000 (+1100) Subject: Re-enable EDNS if an EDNS flag gets set to 1 by +ednsflags X-Git-Tag: v9.19.23~29^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d74bba4fae2314818ac509088cd182d843d6b36a;p=thirdparty%2Fbind9.git Re-enable EDNS if an EDNS flag gets set to 1 by +ednsflags This is consistent with +dnssec and +nsid which only re-enable EDNS if do is set to 1 or nsid is requested. --- diff --git a/bin/dig/dig.c b/bin/dig/dig.c index 291490b7417..c98fa882775 100644 --- a/bin/dig/dig.c +++ b/bin/dig/dig.c @@ -1797,6 +1797,10 @@ plus_option(char *option, bool is_batchfile, bool *need_clone, "ednsflags"); goto exit_or_usage; } + if (lookup->edns == -1) { + lookup->edns = + DEFAULT_EDNS_VERSION; + } lookup->ednsflags = num; break; case 'n': diff --git a/bin/tools/mdig.c b/bin/tools/mdig.c index c1ac42978eb..0270edb31b5 100644 --- a/bin/tools/mdig.c +++ b/bin/tools/mdig.c @@ -1354,6 +1354,9 @@ plus_option(char *option, struct query *query, bool global) { "ednsflags"); CHECK("parse_xint(ednsflags)", result); + if (query->edns == -1) { + query->edns = 1; + } query->ednsflags = num; break; case 'o':