diff --git a/bin/named/control.c b/bin/named/control.c index a1a66a4eb3..a99ce1b850 100644 --- a/bin/named/control.c +++ b/bin/named/control.c @@ -214,8 +214,7 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly, { result = named_server_dnstap(named_g_server, lex, text); } else if (command_compare(command, NAMED_COMMAND_DUMPDB)) { - named_server_dumpdb(named_g_server, lex, text); - result = ISC_R_SUCCESS; + result = named_server_dumpdb(named_g_server, lex, text); } else if (command_compare(command, NAMED_COMMAND_DUMPSTATS)) { result = named_server_dumpstats(named_g_server); } else if (command_compare(command, NAMED_COMMAND_FETCHLIMIT)) { diff --git a/bin/tests/system/rndc/clean.sh b/bin/tests/system/rndc/clean.sh index 6b4f2fd894..3b959f5a9f 100644 --- a/bin/tests/system/rndc/clean.sh +++ b/bin/tests/system/rndc/clean.sh @@ -18,6 +18,7 @@ rm -f ns*/named.conf rm -f ns*/named.memstats rm -f ns*/named.run ns*/named.run.prev rm -f ns2/named.stats +rm -f ns2/named_dump.db* rm -f ns2/nil.db ns2/other.db ns2/static.db ns2/*.jnl rm -f ns2/secondkey.conf rm -f ns2/session.key @@ -29,5 +30,7 @@ rm -f ns6/huge.zone.db rm -f ns7/include.db ns7/test.db ns7/*.jnl rm -f ns7/named_dump.db* rm -f nsupdate.out.*.test* +rm -f nsupdate.out.test* rm -f python.out.*.test* rm -f rndc.out.*.test* +rm -f rndc.out.test* diff --git a/bin/tests/system/rndc/tests.sh b/bin/tests/system/rndc/tests.sh index ee9bd1c6b5..81f05a8cc7 100644 --- a/bin/tests/system/rndc/tests.sh +++ b/bin/tests/system/rndc/tests.sh @@ -324,6 +324,16 @@ $RNDC -s 10.53.0.2 -p ${CONTROLPORT} -c ns2/secondkey.conf status >/dev/null || if [ $ret != 0 ]; then echo_i "failed"; fi status=$((status + ret)) +n=$((n + 1)) +echo_i "test 'rndc dumpdb' with an unwritable dump-file ($n)" +ret=0 +touch ns2/named_dump.db +chmod -w ns2/named_dump.db +rndc_dumpdb ns2 2>/dev/null && ret=1 +grep -F "failed: permission denied" "rndc.out.test$n" >/dev/null || ret=1 +if [ $ret != 0 ]; then echo_i "failed"; fi +status=$((status + ret)) + n=$((n + 1)) echo_i "test 'rndc dumpdb' on a empty cache ($n)" ret=0