From 63c29dcdfa6b7a3414e534155b81d6ea836bba04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Wed, 30 Sep 2020 18:18:05 +0200 Subject: [PATCH] Change the default EDNS buffer size for dig, mdig and host to 1232 The dig should behave closely to how the resolver code in `named` work, so we need to change the buffer size in dig, mdig and host too. --- bin/dig/dighost.h | 2 +- bin/tests/system/digdelv/tests.sh | 6 +++--- bin/tools/mdig.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bin/dig/dighost.h b/bin/dig/dighost.h index 385b9abcf1..bc280e540e 100644 --- a/bin/dig/dighost.h +++ b/bin/dig/dighost.h @@ -73,7 +73,7 @@ #define LOOKUP_LIMIT 64 #define DEFAULT_EDNS_VERSION 0 -#define DEFAULT_EDNS_BUFSIZE 4096 +#define DEFAULT_EDNS_BUFSIZE 1232 /*% * Lookup_limit is just a limiter, keeping too many lookups from being diff --git a/bin/tests/system/digdelv/tests.sh b/bin/tests/system/digdelv/tests.sh index 99b80992f2..aed4c23ede 100644 --- a/bin/tests/system/digdelv/tests.sh +++ b/bin/tests/system/digdelv/tests.sh @@ -958,10 +958,10 @@ if [ -x "$DIG" ] ; then echo_i "check that dig +bufsize restores default bufsize ($n)" ret=0 dig_with_opts @10.53.0.3 a.example +bufsize=0 +bufsize +qr > dig.out.test$n 2>&1 || ret=1 + lines=`grep "EDNS:.* udp:" dig.out.test$n | wc -l` lines1232=`grep "EDNS:.* udp: 1232" dig.out.test$n | wc -l` - lines4096=`grep "EDNS:.* udp: 4096" dig.out.test$n | wc -l` - test $lines1232 -eq 1 || ret=1 - test $lines4096 -eq 1 || ret=1 + test $lines -eq 2 || ret=1 + test $lines1232 -eq 2 || ret=1 if [ $ret -ne 0 ]; then echo_i "failed"; fi status=$((status+ret)) diff --git a/bin/tools/mdig.c b/bin/tools/mdig.c index c6e4ea4316..a69b1e4e8c 100644 --- a/bin/tools/mdig.c +++ b/bin/tools/mdig.c @@ -638,7 +638,7 @@ sendquery(struct query *query, isc_task_t *task) { unsigned char cookie[40]; if (query->udpsize == 0) { - query->udpsize = 4096; + query->udpsize = 1232; } if (query->edns < 0) { query->edns = 0;