From: Mark Andrews Date: Wed, 30 Oct 2024 02:35:58 +0000 (+1100) Subject: Fix EDNS TCP-KEEPALIVE option YAML output X-Git-Tag: v9.21.8~16^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=07c28652a3aaaf9ca413655375ec0cc3d6cc1c32;p=thirdparty%2Fbind9.git Fix EDNS TCP-KEEPALIVE option YAML output There was missing white space between the option name and its value. --- diff --git a/bin/tests/system/digdelv/tests.sh b/bin/tests/system/digdelv/tests.sh index 52e15e1b90f..4050f18ec6d 100644 --- a/bin/tests/system/digdelv/tests.sh +++ b/bin/tests/system/digdelv/tests.sh @@ -764,6 +764,27 @@ if [ -x "$DIG" ]; then status=$((status + ret)) fi + n=$((n + 1)) + echo_i "check that dig processes +expire ($n)" + ret=0 + dig_with_opts @10.53.0.1 +expire . soa >dig.out.test$n 2>&1 || ret=1 + grep '; EXPIRE: 1200 (20 minutes)' dig.out.test$n >/dev/null || ret=1 + if [ $ret -ne 0 ]; then echo_i "failed"; fi + status=$((status + ret)) + + if [ $HAS_PYYAML -ne 0 ]; then + n=$((n + 1)) + echo_i "check that dig processes +expire +yaml ($n)" + ret=0 + dig_with_opts @10.53.0.1 +yaml +expire . soa >dig.out.test$n 2>&1 || ret=1 + $PYTHON yamlget.py dig.out.test$n 0 message response_message_data OPT_PSEUDOSECTION EDNS EXPIRE >yamlget.out.test$n 2>&1 || ret=1 + read -r value /dev/null || ret=1 + if [ $ret -ne 0 ]; then echo_i "failed"; fi + status=$((status + ret)) + fi + n=$((n + 1)) echo_i "check that Extended DNS Error 0 is printed correctly ($n)" ret=0 diff --git a/lib/dns/message.c b/lib/dns/message.c index 96f487469e1..f1e7079aae6 100644 --- a/lib/dns/message.c +++ b/lib/dns/message.c @@ -3829,7 +3829,7 @@ dns_message_pseudosectiontoyaml(dns_message_t *msg, dns_pseudosection_t section, if (optlen == 2) { unsigned int dsecs; dsecs = isc_buffer_getuint16(&optbuf); - snprintf(buf, sizeof(buf), "%u.%u", + snprintf(buf, sizeof(buf), " %u.%u", dsecs / 10U, dsecs % 10U); ADD_STRING(target, buf); ADD_STRING(target, " secs\n");