From 45d6379135504814ab723b57f0eb8be23393a51d Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 09:24:22 +0200 Subject: Adding upstream version 1:9.16.44. Signed-off-by: Daniel Baumann --- bin/tests/system/checkdstool/clean.sh | 15 +++ bin/tests/system/checkdstool/dig.bat | 32 ++++++ bin/tests/system/checkdstool/dig.pl | 41 +++++++ bin/tests/system/checkdstool/dig.sh | 24 ++++ .../system/checkdstool/missing.example.dnskey.db | 3 + bin/tests/system/checkdstool/missing.example.ds.db | 2 + .../system/checkdstool/none.example.dnskey.db | 3 + bin/tests/system/checkdstool/none.example.ds.db | 0 bin/tests/system/checkdstool/ok.example.dnskey.db | 2 + bin/tests/system/checkdstool/ok.example.ds.db | 2 + bin/tests/system/checkdstool/prep.example.db | 121 +++++++++++++++++++++ bin/tests/system/checkdstool/prep.example.ds.db | 2 + bin/tests/system/checkdstool/tests.sh | 117 ++++++++++++++++++++ .../system/checkdstool/wrong.example.dnskey.db | 2 + bin/tests/system/checkdstool/wrong.example.ds.db | 2 + 15 files changed, 368 insertions(+) create mode 100644 bin/tests/system/checkdstool/clean.sh create mode 100755 bin/tests/system/checkdstool/dig.bat create mode 100644 bin/tests/system/checkdstool/dig.pl create mode 100755 bin/tests/system/checkdstool/dig.sh create mode 100644 bin/tests/system/checkdstool/missing.example.dnskey.db create mode 100644 bin/tests/system/checkdstool/missing.example.ds.db create mode 100644 bin/tests/system/checkdstool/none.example.dnskey.db create mode 100644 bin/tests/system/checkdstool/none.example.ds.db create mode 100644 bin/tests/system/checkdstool/ok.example.dnskey.db create mode 100644 bin/tests/system/checkdstool/ok.example.ds.db create mode 100644 bin/tests/system/checkdstool/prep.example.db create mode 100644 bin/tests/system/checkdstool/prep.example.ds.db create mode 100644 bin/tests/system/checkdstool/tests.sh create mode 100644 bin/tests/system/checkdstool/wrong.example.dnskey.db create mode 100644 bin/tests/system/checkdstool/wrong.example.ds.db (limited to 'bin/tests/system/checkdstool') diff --git a/bin/tests/system/checkdstool/clean.sh b/bin/tests/system/checkdstool/clean.sh new file mode 100644 index 0000000..fb853c5 --- /dev/null +++ b/bin/tests/system/checkdstool/clean.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +rm -f checkds.* +rm -f ns*/named.lock diff --git a/bin/tests/system/checkdstool/dig.bat b/bin/tests/system/checkdstool/dig.bat new file mode 100755 index 0000000..9465a46 --- /dev/null +++ b/bin/tests/system/checkdstool/dig.bat @@ -0,0 +1,32 @@ +@echo off +set ext= +set file= + +:loop +@set arg=%1 +if "%arg%" == "" goto end +if "%arg:~0,1%" == "+" goto next +if "%arg%" == "-t" goto next +if "%arg%" == "ds" goto ds +if "%arg%" == "DS" goto ds +if "%arg%" == "dnskey" goto dnskey +if "%arg%" == "DNSKEY" goto dnskey +set file=%arg% +goto next + +:ds +set ext=ds +goto next + +:dnskey +set ext=dnskey +goto next + +:next +shift +goto loop + +:end + +set name=%file%.%ext%.db +type %name% diff --git a/bin/tests/system/checkdstool/dig.pl b/bin/tests/system/checkdstool/dig.pl new file mode 100644 index 0000000..3713b2c --- /dev/null +++ b/bin/tests/system/checkdstool/dig.pl @@ -0,0 +1,41 @@ +#!/usr/bin/perl + +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +my $arg; +my $ext; +my $file; + +foreach $arg (@ARGV) { + if ($arg =~ /^\+/) { + next; + } + if ($arg =~ /^-t/) { + next; + } + if ($arg =~ /^ds$/i) { + $ext = "ds"; + next; + } + if ($arg =~ /^dnskey$/i) { + $ext = "dnskey"; + next; + } + $file = $arg; + next; +} + +open F, $file . "." . $ext . ".db" || die $!; +while () { + print; +} +close F; diff --git a/bin/tests/system/checkdstool/dig.sh b/bin/tests/system/checkdstool/dig.sh new file mode 100755 index 0000000..7b3a1b2 --- /dev/null +++ b/bin/tests/system/checkdstool/dig.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +while [ "$#" != 0 ]; do + case $1 in + +*) shift ;; + -t) shift ;; + DS|ds) ext=ds ; shift ;; + DNSKEY|dnskey) ext=dnskey ; shift ;; + *) file=$1 ; shift ;; + esac +done + +cat ${file}.${ext}.db diff --git a/bin/tests/system/checkdstool/missing.example.dnskey.db b/bin/tests/system/checkdstool/missing.example.dnskey.db new file mode 100644 index 0000000..e372130 --- /dev/null +++ b/bin/tests/system/checkdstool/missing.example.dnskey.db @@ -0,0 +1,3 @@ +missing.example. 3600 IN DNSKEY 257 3 5 AwEAAc6Cz10GXEh5lxA9ujTY/QarTajcUOBwwBYIeldjRsgoouK/UioY FYgxEFL0O5JK6YCRUoGzl3EgLr5GvNyhIp1PZpOpHf7o/4MVOZTGJzm/ sHWP5B+KcYjQOxJiDb433iCmRM4DpHPUUoxw0QbZglzAzl5MfKBoyZud lH59DdT/50bkBg8iVu35EzuW0SYt31k70hxHBSb2wAGWeqxEPKJ1nQiI UcrWNDeem7byrqjPN9wyZhq0XkQ9qbcYxAkRNd8Y7P0FyR1YKJMc6SWZ Ru7muvxqTHgCtJVgxVz4qndCFKdYidiDeKe2/X/z5gf7pyYl3549O8JR tWdNKqutppk= +missing.example. 3600 IN DNSKEY 257 3 5 BEAAAAOhHQDBrhQbtphgq2wQUpEQ5t4DtUHxoMVFu2hWLDMvoOMRXjG rhhCeFvAZih7yJHf8ZGfW6hd38hXG/xylYCO6Krpbdojwx8YMXLA5/kA +u50WIL8ZR1R6KTbsYVMf/Qx5RiNbPClw+vT+U8eXEJmO20jIS1ULgqy 347cBB1zMnnz/4LJpA0da9CbKj3A254T515sNIMcwsB8/2+2E63/zZrQ zBkj0BrN/9Bexjpiks3jRhZatEsXn3dTy47R09Uix5WcJt+xzqZ7+ysy LKOOedS39Z7SDmsn2eA0FKtQpwA6LXeG2w+jxmw3oA8lVUgEf/rzeC/b ByBNsO70aEFTd +missing.example. 3600 IN DNSKEY 256 3 5 BQEAAAAB2F1v2HWzCCE9vNsKfk0K8vd4EBwizNT9KO6WYXj0oxEL4eOJ aXbax/BzPFx+3qO8B8pu8E/JjkWH0oaYz4guUyTVmT5Eelg44Vb1kssy q8W27oQ+9qNiP8Jv6zdOj0uCB/N0fxfVL3371xbednFqoECfSFDZa6Hw jU1qzveSsW0= diff --git a/bin/tests/system/checkdstool/missing.example.ds.db b/bin/tests/system/checkdstool/missing.example.ds.db new file mode 100644 index 0000000..540ec0b --- /dev/null +++ b/bin/tests/system/checkdstool/missing.example.ds.db @@ -0,0 +1,2 @@ +missing.example. 3600 IN DS 12892 5 2 EF59E5C70BC4153B7DB4C11F9C36B729577DA71474E0A5C9B8875173 6E583200 +missing.example. 3600 IN DS 12892 5 1 9D4CD60491D372207FA584D2EE460CC51D7FF8A7 diff --git a/bin/tests/system/checkdstool/none.example.dnskey.db b/bin/tests/system/checkdstool/none.example.dnskey.db new file mode 100644 index 0000000..76ae905 --- /dev/null +++ b/bin/tests/system/checkdstool/none.example.dnskey.db @@ -0,0 +1,3 @@ +none.example. 3600 IN DNSKEY 257 3 5 AwEAAc6Cz10GXEh5lxA9ujTY/QarTajcUOBwwBYIeldjRsgoouK/UioY FYgxEFL0O5JK6YCRUoGzl3EgLr5GvNyhIp1PZpOpHf7o/4MVOZTGJzm/ sHWP5B+KcYjQOxJiDb433iCmRM4DpHPUUoxw0QbZglzAzl5MfKBoyZud lH59DdT/50bkBg8iVu35EzuW0SYt31k70hxHBSb2wAGWeqxEPKJ1nQiI UcrWNDeem7byrqjPN9wyZhq0XkQ9qbcYxAkRNd8Y7P0FyR1YKJMc6SWZ Ru7muvxqTHgCtJVgxVz4qndCFKdYidiDeKe2/X/z5gf7pyYl3549O8JR tWdNKqutppk= +none.example. 3600 IN DNSKEY 257 3 5 BEAAAAOhHQDBrhQbtphgq2wQUpEQ5t4DtUHxoMVFu2hWLDMvoOMRXjG rhhCeFvAZih7yJHf8ZGfW6hd38hXG/xylYCO6Krpbdojwx8YMXLA5/kA +u50WIL8ZR1R6KTbsYVMf/Qx5RiNbPClw+vT+U8eXEJmO20jIS1ULgqy 347cBB1zMnnz/4LJpA0da9CbKj3A254T515sNIMcwsB8/2+2E63/zZrQ zBkj0BrN/9Bexjpiks3jRhZatEsXn3dTy47R09Uix5WcJt+xzqZ7+ysy LKOOedS39Z7SDmsn2eA0FKtQpwA6LXeG2w+jxmw3oA8lVUgEf/rzeC/b ByBNsO70aEFTd +none.example. 3600 IN DNSKEY 256 3 5 BQEAAAAB2F1v2HWzCCE9vNsKfk0K8vd4EBwizNT9KO6WYXj0oxEL4eOJ aXbax/BzPFx+3qO8B8pu8E/JjkWH0oaYz4guUyTVmT5Eelg44Vb1kssy q8W27oQ+9qNiP8Jv6zdOj0uCB/N0fxfVL3371xbednFqoECfSFDZa6Hw jU1qzveSsW0= diff --git a/bin/tests/system/checkdstool/none.example.ds.db b/bin/tests/system/checkdstool/none.example.ds.db new file mode 100644 index 0000000..e69de29 diff --git a/bin/tests/system/checkdstool/ok.example.dnskey.db b/bin/tests/system/checkdstool/ok.example.dnskey.db new file mode 100644 index 0000000..c767c8f --- /dev/null +++ b/bin/tests/system/checkdstool/ok.example.dnskey.db @@ -0,0 +1,2 @@ +ok.example. 625 IN DNSKEY 257 3 5 BEAAAAOhHQDBrhQbtphgq2wQUpEQ5t4DtUHxoMVFu2hWLDMvoOMRXjGr hhCeFvAZih7yJHf8ZGfW6hd38hXG/xylYCO6Krpbdojwx8YMXLA5/kA+ u50WIL8ZR1R6KTbsYVMf/Qx5RiNbPClw+vT+U8eXEJmO20jIS1ULgqy3 47cBB1zMnnz/4LJpA0da9CbKj3A254T515sNIMcwsB8/2+2E63/zZrQz Bkj0BrN/9Bexjpiks3jRhZatEsXn3dTy47R09Uix5WcJt+xzqZ7+ysyL KOOedS39Z7SDmsn2eA0FKtQpwA6LXeG2w+jxmw3oA8lVUgEf/rzeC/bB yBNsO70aEFTd +ok.example. 625 IN DNSKEY 256 3 5 BQEAAAAB2F1v2HWzCCE9vNsKfk0K8vd4EBwizNT9KO6WYXj0oxEL4eOJ aXbax/BzPFx+3qO8B8pu8E/JjkWH0oaYz4guUyTVmT5Eelg44Vb1kssy q8W27oQ+9qNiP8Jv6zdOj0uCB/N0fxfVL3371xbednFqoECfSFDZa6Hw jU1qzveSsW0= diff --git a/bin/tests/system/checkdstool/ok.example.ds.db b/bin/tests/system/checkdstool/ok.example.ds.db new file mode 100644 index 0000000..96b159b --- /dev/null +++ b/bin/tests/system/checkdstool/ok.example.ds.db @@ -0,0 +1,2 @@ +ok.example. 3600 IN DS 12892 5 2 26584835CA80C81C91999F31CFAF2A0E89D4FF1C8FAFD0DDB31A85C7 19277C13 +ok.example. 3600 IN DS 12892 5 1 7AA4A3F416C2F2391FB7AB0D434F762CD62D1390 diff --git a/bin/tests/system/checkdstool/prep.example.db b/bin/tests/system/checkdstool/prep.example.db new file mode 100644 index 0000000..5ba5987 --- /dev/null +++ b/bin/tests/system/checkdstool/prep.example.db @@ -0,0 +1,121 @@ +; File written on Thu Oct 5 23:44:34 2017 +; dnssec_signzone version 9.12.0a1 +prep.example. 300 IN SOA ns1.prep.example. hostmaster.prep.example. ( + 1 ; serial + 2000 ; refresh (33 minutes 20 seconds) + 2000 ; retry (33 minutes 20 seconds) + 1814400 ; expire (3 weeks) + 3600 ; minimum (1 hour) + ) + 300 RRSIG SOA 8 2 300 ( + 20171105054434 20171006054434 19260 prep.example. + 1fX0z7Swu4gMPews/ZE8bzNg+JXNedFBDGIH + PTSfVQtVLIvRWpME+PylX7MdVMZE/PST+x4/ + mWyveyjetEOo7/7aQL236FfI0y6TxQFy7HwC + FMieqoQCUluuKOvToxg4vUp4GOdlUGbqC63h + DbX5Z37VptJXLkt4niF4Kl2iD+U9/bk7HAEU + 4zDiKroYnusGKfVB9xAWddzoHdLxhVuPi7ut + 328suPdgX0bfs7uB+y4cikhGzAmPpNMlGHju + qYG74NcFGQNutLB7ayx/m87t7mTty7jbNKm3 + QWJSPf5IR8/kmzAi8HMnapY5vUmm+hX8JOfU + UtH7i0iEsUqRbEwu5A== ) + 300 NS ns1.prep.example. + 300 RRSIG NS 8 2 300 ( + 20171105054434 20171006054434 19260 prep.example. + u5sU2cfqNqIyCLw18ZNnFw28/GyRt0EOiPYS + dygmpfMDrvDaxjiiai8zWYjnl/E3qzVH9Zku + 07lEDORZdVb0uCDe1NynjAyw4AHps85cAwVc + 8HTSbzdVZsQTELpunYFJffh24PDr9unw7KOY + jzTP6qNedJ1uM54TOr177zfmBh7N2fkAoGyV + NjvTKrlgDYGNIn8/YMgHb4sNgyfe54MYY00f + kehVxfKnRCgDsbJ0Pk6jhBMCQWvOh8jG8WyV + ElAa/eMqlxUC1idF8ydWefjsI/7lPcjSalw9 + qZw4CDCLHHZy0TOSmCYRRZuIeVXzBfDPJyi4 + 2A3iLntKFJ4AOLFMJg== ) + 3600 NSEC ns1.prep.example. NS SOA RRSIG NSEC DNSKEY + 3600 RRSIG NSEC 8 2 3600 ( + 20171105054434 20171006054434 19260 prep.example. + Aed99/jdG82YAkKVWjoKOsAGtB3JnyKkCaAq + zgMrYkXU41y3KDCAmGzooGPQY7NN+WxX7FJ2 + 1nXkgljma/azgpsbi9ssneFtv7PPFClVmN+u + j+mM4MK/ZR7eJOsMqETg4PAO5VAh6c/GVmyA + RD/m6EhJVZEjPfLWbDoC4hVAgem7DP/NMjyI + GfztpDjMmyLQyv6tL+UEXSJHGp3ZEa5Z5i7X + Nl/bRTUlZs7L4rTgoqHv6LEmsXKAf9rZYq4b + eP6GF9I1Ry41MfHLc7lPUmtR38ErEsM5uGzw + trCQYEFhuRWUBxZ8OSL2EZK9rUBXZX+cwK/8 + ZP7mIfDfljkXPQcmow== ) + 3600 DNSKEY 256 3 8 ( + AwEAAfMzj6aZIgZDVcpH1pKOtq998E85+nEY + YJa0lLS8+QTCC1Efke8GLwsXT0IPTuwnOuXM + RjySirab0NuEr69T8KP/43YxcRdmCg89mjjN + szoVPPstC9xBKVOc0pRMDF7sfsTrSye3RY7+ + Z6uZEH5FOAkz2hNbJJHOn4HpNUhLPJGRauhf + 0evamwUmQ/mlhkVW5q4WmqPCDMNY3K6XtkEm + cvm8n9ZCXC9Z5AX6KpynujzLdKyxpdGqUk6r + lavp9ILPpRKoTZDX+2q1pDgP5cDndwtgNSvU + DBQZoD0psS2cyB3PHo+dPwwpEyM//ZSKsH9m + e85Ti0413TOWFyFd/jUOUA8= + ) ; ZSK; alg = RSASHA256 ; key id = 19260 + 3600 DNSKEY 257 3 8 ( + AwEAAbV8X06Qvk350aZ6eZ1d7WbT1H/Y0Sv7 + qAdbk5fbYIKpMvZ8D9xqoTHgD0z0uCgWWIcm + /xyKBfmax76oLwMBpR/kdtuJz0irgFITnJCH + pEfR9AJ/Mfm7NyMglq+/39I03E1/LXvpXQLG + tg+Mo/2CUE5sbG31jmPNK/2J8RMESkIi87fW + azZU/oyUEtECE5PGbdyw+4PacAsXNjnwl30T + aatL277wX4pt+IUPdE6EIph3t+dxXJ7OpHgW + 8g+YSHLlCImLVapdg3oD/cs6ncaBq9z7la5Y + dHNw2QAIAvQ11EsonrkonPqO6zNVZAVdT2VB + X5YzGAoCFUvbCvlnl2a7SxM= + ) ; KSK; alg = RSASHA256 ; key id = 65482 + 3600 RRSIG DNSKEY 8 2 3600 ( + 20171105054434 20171006054434 19260 prep.example. + pPw81pJ3PeF+tqEswTul9N8Qsl9JKgK4v8SV + lPfP0pnlMBMbtMFFkx5ZmhQg3Z3U8SdE64Bt + C5St3qItyyKdTQ0Rbm9mfV6twxDB8lVry8F7 + Pv7gJmmcWzBcbLGcrXIrVNSZhigkemQXTElj + P8y1j7kaNFWBWbDMn7KesiZ9BiC6sqvuKa3R + wSofjwXTESspWZP0NtXr5ymaBIMR9UtNj5Wh + jm1+tg6BxNBKxhCHlSC0ltPS/qq9J1ZUmtJz + sj/EAFfPVJVuEveebMvi1oDWPTgajO9+EHl4 + ELrgnQHCgaybMzbpd/A5+Tr1hQkv48I8Mb0/ + 8LJ2/6xrvJm64yRteg== ) + 3600 RRSIG DNSKEY 8 2 3600 ( + 20171105054434 20171006054434 65482 prep.example. + WeIWiC9SnBe2+UocVjpap62O8Rz+iljwJiu9 + VlGUwct3Vydq4/4FVAKdPklXV5cYbBLhO2MB + 3R4toX8RNU/0Ny8DnugQzLKvVfg0xoyU/UAJ + k4aWa/vPivSLGouLQPiNp71bdXN4LB/2xmzu + cPYXzS9ePpwCOp/9JLoNjBSMQkfjfWAcaNtj + 1DKDmHHL1sPMizninxSJLQOAKb+JwUAjAkOM + O1JqwkB12/IZuzxN5hly+uNsbFFxPzQkcnJ4 + 5bhzxuh5D/JRXW0nF5aO4aR+9X+lSUpDJQZ1 + 5fOt1cybZCn/ag68RA92zrnisdbrggJGS003 + wn/VKbLVfFj3eQrfNA== ) +ns1.prep.example. 300 IN A 1.1.1.1 + 300 RRSIG A 8 3 300 ( + 20171105054434 20171006054434 19260 prep.example. + QUyDyJVk3JGEq+VTZtY3firzsRqOA0LUm3Tf + /fnemQBeOlMda2ErA7DqYVriIGfM8jph416E + YX8SKAZXGEAlsEbC9cWBVyc5TYH6tZ43sV51 + 55kGTiUY92NnrH10Q+m2SLAEEaKCA/cgBwOR + tN2Wb1meHgiLbGYN2LbANfDQzoEk4AYAgT6r + wDKVVg/V9Ed7JnCnBQc9MN9+LQ3h4NBGUiEY + mr7HX2w+yzqcGFNLI1aFPe2IwFt120QPLyyl + cZgc6FUBX4YCnWoCb0aFyyOT76AQkKF5YBRn + gAv6S8q1pZ/0B5w4gjaLEGlts3LG0bxZ1GJd + gCQMEhgYgyXUchTtZA== ) + 3600 NSEC prep.example. A RRSIG NSEC + 3600 RRSIG NSEC 8 3 3600 ( + 20171105054434 20171006054434 19260 prep.example. + rDWN40u1a3DSzWOrS+4YR2XOxaem0BAQ/glN + QkXNDew1WsZo3fe0IHIhDKlJ/5MJAfAHq8Xs + A5UGUw2efoNAN/0LuWsI/9IPm4dwQOXiTCly + uxugXf5islPYyvn1Z14ay/7/2P3W6HZknXzo + lZFpwqfFZQCxz7c/1aH+2ntAMeqx8LHuewSr + Rz/sLsSiCcZQ6NMWnZdoC5SGy4CTcIIPPS8z + 9dQ6QYTC5iq4MKRfyJUyvODyU9be4e6jbo5b + mjRcov4ttbImhD5jrLAZIfjO6DSazGNVFf/x + 6rjxjrc8SISPkt2xYwcOlYch9OZuoH86wcZu + 3Don6yAnLDYDrZylAA== ) diff --git a/bin/tests/system/checkdstool/prep.example.ds.db b/bin/tests/system/checkdstool/prep.example.ds.db new file mode 100644 index 0000000..dddcad6 --- /dev/null +++ b/bin/tests/system/checkdstool/prep.example.ds.db @@ -0,0 +1,2 @@ +prep.example. IN DS 65482 8 1 F3673708FBADDEC3EB55933E2E393ACE85EAC2BB +prep.example. IN DS 65482 8 2 51A7C97AAC42803DA515D1CAFEE28031A5018F6345F12F4B6C1B6D20 02B59820 diff --git a/bin/tests/system/checkdstool/tests.sh b/bin/tests/system/checkdstool/tests.sh new file mode 100644 index 0000000..4248b11 --- /dev/null +++ b/bin/tests/system/checkdstool/tests.sh @@ -0,0 +1,117 @@ +#!/bin/sh + +# Copyright (C) Internet Systems Consortium, Inc. ("ISC") +# +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at https://mozilla.org/MPL/2.0/. +# +# See the COPYRIGHT file distributed with this work for additional +# information regarding copyright ownership. + +SYSTEMTESTTOP=.. +. $SYSTEMTESTTOP/conf.sh + +if [ "$CYGWIN" ]; then + DIG=".\dig.bat" + WINDSFROMKEY=`cygpath -w $DSFROMKEY` + CHECKDS="$CHECKDS -a sha1 -a sha256 -d $DIG -D $WINDSFROMKEY" +else + DIG="./dig.sh" + CHECKDS="$CHECKDS -a sha1 -a sha256 -d $DIG -D $DSFROMKEY" +fi +chmod +x $DIG + +status=0 +n=1 + +echo_i "checking for correct DS, looking up key via 'dig' ($n)" +ret=0 +$CHECKDS ok.example > checkds.out.$n 2>&1 || ret=1 +grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1 +grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1 +n=`expr $n + 1` +if [ $ret != 0 ]; then echo_i "failed"; fi +status=`expr $status + $ret` + +echo_i "checking for correct DS, obtaining key from file ($n)" +ret=0 +$CHECKDS -f ok.example.dnskey.db ok.example > checkds.out.$n 2>&1 || ret=1 +grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1 +grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1 +n=`expr $n + 1` +if [ $ret != 0 ]; then echo_i "failed"; fi +status=`expr $status + $ret` + +echo_i "checking for incorrect DS, looking up key via 'dig' ($n)" +ret=0 +$CHECKDS wrong.example > checkds.out.$n 2>&1 || ret=1 +grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1 +grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1 +n=`expr $n + 1` +if [ $ret != 0 ]; then echo_i "failed"; fi +status=`expr $status + $ret` + +echo_i "checking for incorrect DS, obtaining key from file ($n)" +ret=0 +$CHECKDS -f wrong.example.dnskey.db wrong.example > checkds.out.$n 2>&1 || ret=1 +grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1 +grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1 +n=`expr $n + 1` +if [ $ret != 0 ]; then echo_i "failed"; fi +status=`expr $status + $ret` + +echo_i "checking for partially missing DS, looking up key via 'dig' ($n)" +ret=0 +$CHECKDS missing.example > checkds.out.$n 2>&1 && ret=1 +grep 'SHA-1.*found' checkds.out.$n > /dev/null 2>&1 || ret=1 +grep 'SHA-256.*found' checkds.out.$n > /dev/null 2>&1 || ret=1 +grep 'SHA-1.*missing' checkds.out.$n > /dev/null 2>&1 || ret=1 +grep 'SHA-256.*missing' checkds.out.$n > /dev/null 2>&1 || ret=1 +n=`expr $n + 1` +if [ $ret != 0 ]; then echo_i "failed"; fi +status=`expr $status + $ret` + +echo_i "checking for partially missing DS, obtaining key from file ($n)" +ret=0 +$CHECKDS -f missing.example.dnskey.db missing.example > checkds.out.$n 2>&1 && ret=1 +grep 'SHA-1.*found' checkds.out.$n > /dev/null 2>&1 || ret=1 +grep 'SHA-256.*found' checkds.out.$n > /dev/null 2>&1 || ret=1 +grep 'SHA-1.*missing' checkds.out.$n > /dev/null 2>&1 || ret=1 +grep 'SHA-256.*missing' checkds.out.$n > /dev/null 2>&1 || ret=1 +n=`expr $n + 1` +if [ $ret != 0 ]; then echo_i "failed"; fi +status=`expr $status + $ret` + +echo_i "checking for entirely missing DS, looking up key via 'dig' ($n)" +ret=0 +$CHECKDS none.example > checkds.out.$n 2>&1 && ret=1 +grep 'SHA-1.*found' checkds.out.$n > /dev/null 2>&1 && ret=1 +grep 'SHA-256.*found' checkds.out.$n > /dev/null 2>&1 && ret=1 +n=`expr $n + 1` +if [ $ret != 0 ]; then echo_i "failed"; fi +status=`expr $status + $ret` + +echo_i "checking for entirely missing DS, obtaining key from file ($n)" +ret=0 +$CHECKDS -f none.example.dnskey.db none.example > checkds.out.$n 2>&1 && ret=1 +grep 'SHA-1.*found' checkds.out.$n > /dev/null 2>&1 && ret=1 +grep 'SHA-256.*found' checkds.out.$n > /dev/null 2>&1 && ret=1 +n=`expr $n + 1` +if [ $ret != 0 ]; then echo_i "failed"; fi +status=`expr $status + $ret` + +echo_i "checking with prepared dsset file ($n)" +ret=0 +$CHECKDS -f prep.example.db -s prep.example.ds.db prep.example > checkds.out.$n 2>&1 || ret=1 +grep 'SHA-1.*found' checkds.out.$n > /dev/null 2>&1 || ret=1 +grep 'SHA-256.*found' checkds.out.$n > /dev/null 2>&1 || ret=1 +n=`expr $n + 1` +if [ $ret != 0 ]; then echo_i "failed"; fi +status=`expr $status + $ret` + +if [ $status = 0 ]; then $SHELL clean.sh; fi +echo_i "exit status: $status" +[ $status -eq 0 ] || exit 1 diff --git a/bin/tests/system/checkdstool/wrong.example.dnskey.db b/bin/tests/system/checkdstool/wrong.example.dnskey.db new file mode 100644 index 0000000..cc5bfd6 --- /dev/null +++ b/bin/tests/system/checkdstool/wrong.example.dnskey.db @@ -0,0 +1,2 @@ +wrong.example. 3600 IN DNSKEY 257 3 5 AwEAAc6Cz10GXEh5lxA9ujTY/QarTajcUOBwwBYIeldjRsgoouK/UioY FYgxEFL0O5JK6YCRUoGzl3EgLr5GvNyhIp1PZpOpHf7o/4MVOZTGJzm/ sHWP5B+KcYjQOxJiDb433iCmRM4DpHPUUoxw0QbZglzAzl5MfKBoyZud lH59DdT/50bkBg8iVu35EzuW0SYt31k70hxHBSb2wAGWeqxEPKJ1nQiI UcrWNDeem7byrqjPN9wyZhq0XkQ9qbcYxAkRNd8Y7P0FyR1YKJMc6SWZ Ru7muvxqTHgCtJVgxVz4qndCFKdYidiDeKe2/X/z5gf7pyYl3549O8JR tWdNKqutppk= +wrong.example. 3600 IN DNSKEY 256 3 5 BQEAAAAB2F1v2HWzCCE9vNsKfk0K8vd4EBwizNT9KO6WYXj0oxEL4eOJ aXbax/BzPFx+3qO8B8pu8E/JjkWH0oaYz4guUyTVmT5Eelg44Vb1kssy q8W27oQ+9qNiP8Jv6zdOj0uCB/N0fxfVL3371xbednFqoECfSFDZa6Hw jU1qzveSsW0= diff --git a/bin/tests/system/checkdstool/wrong.example.ds.db b/bin/tests/system/checkdstool/wrong.example.ds.db new file mode 100644 index 0000000..d7df610 --- /dev/null +++ b/bin/tests/system/checkdstool/wrong.example.ds.db @@ -0,0 +1,2 @@ +wrong.example. 3600 IN DS 1192 5 1 684BB5119673C9272A0A7582AF8576561B5D80EC +wrong.example. 3600 IN DS 1192 5 2 14E4A873360E512CD2E8C2C331C4472F5EDAB0736669901F4D42E976 3D7B1F5C -- cgit v1.2.3