From d74bba4fae2314818ac509088cd182d843d6b36a Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Sat, 16 Mar 2024 15:55:37 +1100 Subject: [PATCH] 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. --- bin/dig/dig.c | 4 ++++ bin/tools/mdig.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/bin/dig/dig.c b/bin/dig/dig.c index 291490b741..c98fa88277 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 c1ac42978e..0270edb31b 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':