From 44f12f9e6102484a471c7cffa42242185652e307 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Tue, 25 Nov 2025 16:05:07 +1100 Subject: [PATCH 1/3] Add +[no]showtruncated to dig Adds the ability to display the truncated message before retrying the query over TCP. --- bin/dig/dig.c | 5 +++++ bin/dig/dig.rst | 6 ++++++ bin/dig/dighost.c | 6 ++++++ bin/dig/dighost.h | 7 ++++--- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/bin/dig/dig.c b/bin/dig/dig.c index a1297a5396..f227f4e99a 100644 --- a/bin/dig/dig.c +++ b/bin/dig/dig.c @@ -306,6 +306,7 @@ help(void) { " +[no]showbadvers (Show BADVERS message)\n" " +[no]showsearch (Search with intermediate " "results)\n" + " +[no]showtruncated (Show truncated message)\n" " +[no]split=## (Split hex/base64 fields " "into chunks)\n" " +[no]stats (Control display of " @@ -2333,6 +2334,10 @@ plus_option(char *option, bool is_batchfile, bool *need_clone, usesearch = state; } break; + case 't': + FULLCHECK("showtruncated"); + lookup->showtruncated = state; + break; default: goto invalid_option; } diff --git a/bin/dig/dig.rst b/bin/dig/dig.rst index a99b6b873e..99e7d096b9 100644 --- a/bin/dig/dig.rst +++ b/bin/dig/dig.rst @@ -631,6 +631,12 @@ abbreviation is unambiguous; for example, :option:`+cd` is equivalent to This option performs [or does not perform] a search showing intermediate results. +.. option:: +showtruncated, +noshowtruncated + + This option toggles whether to show the truncated message before + retrying the request over TCP or not. The default is to not show + the messages. + .. option:: +split=W This option splits long hex- or base64-formatted fields in resource records into diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c index 5045ef6cb7..30895c8103 100644 --- a/bin/dig/dighost.c +++ b/bin/dig/dighost.c @@ -727,6 +727,7 @@ clone_lookup(dig_lookup_t *lookold, bool servers) { looknew->showbadcookie = lookold->showbadcookie; looknew->showbadvers = lookold->showbadvers; + looknew->showtruncated = lookold->showtruncated; looknew->sendcookie = lookold->sendcookie; looknew->seenbadcookie = lookold->seenbadcookie; looknew->badcookie = lookold->badcookie; @@ -4261,6 +4262,11 @@ recv_done(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t *region, if ((msg->flags & DNS_MESSAGEFLAG_TC) != 0 && !l->ignore && !l->tcp_mode) { + if (l->showtruncated) { + dighost_printmessage(query, &b, msg, true); + dighost_received(isc_buffer_usedlength(&b), &peer, + query); + } if (l->cookie == NULL && l->sendcookie && msg->opt != NULL) { process_opt(l, msg); } diff --git a/bin/dig/dighost.h b/bin/dig/dighost.h index 56880eab39..470429bcba 100644 --- a/bin/dig/dighost.h +++ b/bin/dig/dighost.h @@ -118,9 +118,10 @@ struct dig_lookup { section_answer, section_authority, section_question, seenbadcookie, sendcookie, servfail_stops, setqid, /*% use a speciied query ID */ - showbadcookie, showbadvers, stats, tcflag, tcp_keepalive, - tcp_mode, tcp_mode_set, tls_mode, /*% connect using TLS */ - trace, /*% dig +trace */ + showbadcookie, showbadvers, showtruncated, stats, tcflag, + tcp_keepalive, tcp_mode, tcp_mode_set, tls_mode, /*% connect + using TLS */ + trace, /*% dig +trace */ trace_root, /*% initial query for either +trace or +nssearch */ ttlunits, use_usec, waiting_connect, zflag, zoneversion; char textname[MXNAME]; /*% Name we're going to be looking up */ From 472cade02b8fe1455fb67b7e6162090bb6deb1eb Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Tue, 25 Nov 2025 16:57:44 +1100 Subject: [PATCH 2/3] check that dig +showtruncated works --- bin/tests/system/digdelv/ns2/example.db.in | 101 +++++++++++++++++++++ bin/tests/system/digdelv/tests.sh | 8 ++ 2 files changed, 109 insertions(+) diff --git a/bin/tests/system/digdelv/ns2/example.db.in b/bin/tests/system/digdelv/ns2/example.db.in index 8a88e038cf..7e73d3e97a 100644 --- a/bin/tests/system/digdelv/ns2/example.db.in +++ b/bin/tests/system/digdelv/ns2/example.db.in @@ -88,3 +88,104 @@ all.yaml TXT ( \000 \001 \002 \003 \004 \005 \006 \007 \232 \233 \234 \235 \236 \237 \238 \239 \240 \241 \242 \243 \244 \245 \246 \247 \248 \249 \250 \251 \252 \253 \254 \255 ) + +truncated TXT 12-1-7-0172-50712-07070 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-07071 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-07072 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-07073 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-07074 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-07075 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-07076 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-07077 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-07078 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-07079 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070710 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070711 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070712 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070713 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070714 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070715 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070716 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070717 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070718 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070719 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070720 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070721 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070722 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070723 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070724 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070725 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070726 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070727 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070728 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070729 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070730 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070731 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070732 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070733 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070734 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070735 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070736 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070737 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070738 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070739 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070740 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070741 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070742 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070743 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070744 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070745 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070746 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070747 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070748 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070749 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070750 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070751 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070752 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070753 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070754 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070755 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070756 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070757 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070758 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070759 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070760 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070761 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070762 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070763 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070764 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070765 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070766 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070767 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070768 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070769 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070770 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070771 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070772 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070773 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070774 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070775 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070776 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070777 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070778 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070779 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070780 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070781 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070782 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070783 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070784 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070785 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070786 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070787 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070788 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070789 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070790 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070791 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070792 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070793 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070794 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070795 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070796 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070797 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070798 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh +truncated TXT 12-1-7-0172-50712-070799 2192-0aslhasjhfas;f;slf;lkh;alfhds;alshdf;lhasd;lhsadf;hf ash;adshpofhq[pewjafjdsd'asd;j'as;adsf';hfds'hr[hphf[hwhqwe[hf[jadsf'fdsa'kafds';hads'dh diff --git a/bin/tests/system/digdelv/tests.sh b/bin/tests/system/digdelv/tests.sh index 6620641c03..775bca31f4 100644 --- a/bin/tests/system/digdelv/tests.sh +++ b/bin/tests/system/digdelv/tests.sh @@ -1429,6 +1429,14 @@ if [ -x "$DIG" ]; then if [ $ret -ne 0 ]; then echo_i "failed"; fi status=$((status + ret)) + n=$((n + 1)) + echo_i "check that dig +showtruncated works ($n)" + dig_with_opts @10.53.0.2 +qr +showtruncated truncated.example TXT >dig.out.test$n 2>&1 || ret=1 + grep 'flags:[^;]* tc[ ;].*ANSWER: 0' dig.out.test$n >/dev/null || ret=1 + grep 'ANSWER: 100,' dig.out.test$n >/dev/null || ret=1 + if [ $ret -ne 0 ]; then echo_i "failed"; fi + status=$((status + ret)) + n=$((n + 1)) echo_i "check dig's +nocrypto flag ($n)" ret=0 From 21b1ee5f80a797d13a0e755551487c8c73a732b9 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Thu, 27 Nov 2025 15:22:44 +1100 Subject: [PATCH 3/3] Add +showallmessages to dig This is equivalent to "dig +qr +showbadcookie +showbadversion +showtruncated". --- bin/dig/dig.c | 8 ++++++++ bin/dig/dig.rst | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/bin/dig/dig.c b/bin/dig/dig.c index f227f4e99a..b1d12ec2b6 100644 --- a/bin/dig/dig.c +++ b/bin/dig/dig.c @@ -302,6 +302,7 @@ help(void) { "short\n" " form of answers - global " "option)\n" + " +[no]showallmessages (Show all messages)\n" " +[no]showbadcookie (Show BADCOOKIE message)\n" " +[no]showbadvers (Show BADVERS message)\n" " +[no]showsearch (Search with intermediate " @@ -2313,6 +2314,13 @@ plus_option(char *option, bool is_batchfile, bool *need_clone, break; case 'w': /* showsearch */ switch (cmd[4]) { + case 'a': + FULLCHECK("showallmessages"); + lookup->showbadcookie = state; + lookup->showbadvers = state; + lookup->showtruncated = state; + lookup->qr = state; + break; case 'b': switch (cmd[7]) { case 'c': diff --git a/bin/dig/dig.rst b/bin/dig/dig.rst index 99e7d096b9..ff60c06c7e 100644 --- a/bin/dig/dig.rst +++ b/bin/dig/dig.rst @@ -615,6 +615,11 @@ abbreviation is unambiguous; for example, :option:`+cd` is equivalent to form. This option always has a global effect; it cannot be set globally and then overridden on a per-lookup basis. +.. option:: +showallmessages, +noshowallmessages + + This options sets / clears +qr, +showbadcookie, +showbadvers and + +showtruncated. + .. option:: +showbadcookie, +noshowbadcookie This option toggles whether to show the message containing the