964723
From 148bbbd1c1463c9b9626d7d9668d8768179d596b Mon Sep 17 00:00:00 2001
964723
From: Mark Andrews <marka@isc.org>
964723
Date: Fri, 11 Dec 2015 14:52:12 +1100
964723
Subject: [PATCH 1/2] add digdelv
964723
964723
(cherry picked from commit 51aed1827453f40ee56b165d45c5d58d96838d94)
964723
964723
Deleted failing tests
964723
---
964723
 bin/tests/system/conf.sh.in             |   2 +-
964723
 bin/tests/system/digdelv/clean.sh       |  21 +++++
964723
 bin/tests/system/digdelv/ns1/named.conf |  37 +++++++++
964723
 bin/tests/system/digdelv/ns1/root.db    |  29 +++++++
964723
 bin/tests/system/digdelv/ns2/example.db |  50 ++++++++++++
964723
 bin/tests/system/digdelv/ns2/named.conf |  40 ++++++++++
964723
 bin/tests/system/digdelv/ns3/named.conf |  36 +++++++++
964723
 bin/tests/system/digdelv/tests.sh       | 137 ++++++++++++++++++++++++++++++++
964723
 8 files changed, 351 insertions(+), 1 deletion(-)
964723
 create mode 100644 bin/tests/system/digdelv/clean.sh
964723
 create mode 100644 bin/tests/system/digdelv/ns1/named.conf
964723
 create mode 100644 bin/tests/system/digdelv/ns1/root.db
964723
 create mode 100644 bin/tests/system/digdelv/ns2/example.db
964723
 create mode 100644 bin/tests/system/digdelv/ns2/named.conf
964723
 create mode 100644 bin/tests/system/digdelv/ns3/named.conf
964723
 create mode 100644 bin/tests/system/digdelv/tests.sh
964723
964723
diff --git a/bin/tests/system/conf.sh.in b/bin/tests/system/conf.sh.in
964723
index 6df4734..49c5686 100644
964723
--- a/bin/tests/system/conf.sh.in
964723
+++ b/bin/tests/system/conf.sh.in
964723
@@ -60,7 +60,7 @@ SAMPLE=$TOP/lib/export/samples/sample
964723
 # v6synth
964723
 SUBDIRS="acl additional allow_query addzone autosign builtin
964723
 	 cacheclean checkconf @CHECKDS@ checknames checkzone @COVERAGE@
964723
-         database dlv dlvauto dlz dlzexternal dname dns64 dnssec dyndb
964723
+         database digdelv dlv dlvauto dlz dlzexternal dname dns64 dnssec dyndb
964723
          ecdsa formerr forward glue gost ixfr inline limits logfileconfig
964723
          lwresd masterfile masterformat metadata notify nsupdate pending
964723
 	 @PKCS11_TEST@ redirect resolver rndc rpz rrl rrsetorder rsabigexponent
964723
diff --git a/bin/tests/system/digdelv/clean.sh b/bin/tests/system/digdelv/clean.sh
964723
new file mode 100644
964723
index 0000000..0f442fb
964723
--- /dev/null
964723
+++ b/bin/tests/system/digdelv/clean.sh
964723
@@ -0,0 +1,21 @@
964723
+#!/bin/sh
964723
+#
964723
+# Copyright (C) 2015  Internet Systems Consortium, Inc. ("ISC")
964723
+#
964723
+# Permission to use, copy, modify, and/or distribute this software for any
964723
+# purpose with or without fee is hereby granted, provided that the above
964723
+# copyright notice and this permission notice appear in all copies.
964723
+#
964723
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
964723
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
964723
+# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
964723
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
964723
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
964723
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
964723
+# PERFORMANCE OF THIS SOFTWARE.
964723
+
964723
+rm -f dig.out.test*
964723
+rm -f delv.out.test*
964723
+rm -f */named.memstats
964723
+rm -f */named.run
964723
+rm -f ns*/named.lock
964723
diff --git a/bin/tests/system/digdelv/ns1/named.conf b/bin/tests/system/digdelv/ns1/named.conf
964723
new file mode 100644
964723
index 0000000..c5f0470
964723
--- /dev/null
964723
+++ b/bin/tests/system/digdelv/ns1/named.conf
964723
@@ -0,0 +1,37 @@
964723
+/*
964723
+ * Copyright (C) 2015  Internet Systems Consortium, Inc. ("ISC")
964723
+ *
964723
+ * Permission to use, copy, modify, and/or distribute this software for any
964723
+ * purpose with or without fee is hereby granted, provided that the above
964723
+ * copyright notice and this permission notice appear in all copies.
964723
+ *
964723
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
964723
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
964723
+ * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
964723
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
964723
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
964723
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
964723
+ * PERFORMANCE OF THIS SOFTWARE.
964723
+ */
964723
+
964723
+// NS1
964723
+
964723
+controls { /* empty */ };
964723
+
964723
+options {
964723
+	query-source address 10.53.0.1;
964723
+	port 5300;
964723
+	pid-file "named.pid";
964723
+	listen-on { 10.53.0.1; };
964723
+	listen-on-v6 { fd92:7065:b8e:ffff::1; };
964723
+	recursion no;
964723
+	notify yes;
964723
+	dnssec-enable no;
964723
+	dnssec-validation no;
964723
+};
964723
+
964723
+zone "." {
964723
+	type master;
964723
+	file "root.db";
964723
+};
964723
+
964723
diff --git a/bin/tests/system/digdelv/ns1/root.db b/bin/tests/system/digdelv/ns1/root.db
964723
new file mode 100644
964723
index 0000000..f4316a5
964723
--- /dev/null
964723
+++ b/bin/tests/system/digdelv/ns1/root.db
964723
@@ -0,0 +1,29 @@
964723
+; Copyright (C) 2015  Internet Systems Consortium, Inc. ("ISC")
964723
+;
964723
+; Permission to use, copy, modify, and/or distribute this software for any
964723
+; purpose with or without fee is hereby granted, provided that the above
964723
+; copyright notice and this permission notice appear in all copies.
964723
+;
964723
+; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
964723
+; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
964723
+; AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
964723
+; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
964723
+; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
964723
+; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
964723
+; PERFORMANCE OF THIS SOFTWARE.
964723
+
964723
+$TTL 300
964723
+. 			IN SOA	gson.nominum.com. a.root.servers.nil. (
964723
+				2000042100   	; serial
964723
+				600         	; refresh
964723
+				600         	; retry
964723
+				1200    	; expire
964723
+				600       	; minimum
964723
+				)
964723
+.			NS	a.root-servers.nil.
964723
+a.root-servers.nil.	A	10.53.0.1
964723
+a.root-servers.nil.	AAAA	fd92:7065:b8e:ffff::1
964723
+
964723
+example.		NS	ns2.example.
964723
+ns2.example.		A	10.53.0.2
964723
+ns2.example.		AAAA	fd92:7065:b8e:ffff::2
964723
diff --git a/bin/tests/system/digdelv/ns2/example.db b/bin/tests/system/digdelv/ns2/example.db
964723
new file mode 100644
964723
index 0000000..0a1aa5d
964723
--- /dev/null
964723
+++ b/bin/tests/system/digdelv/ns2/example.db
964723
@@ -0,0 +1,50 @@
964723
+; Copyright (C) 2015  Internet Systems Consortium, Inc. ("ISC")
964723
+;
964723
+; Permission to use, copy, modify, and/or distribute this software for any
964723
+; purpose with or without fee is hereby granted, provided that the above
964723
+; copyright notice and this permission notice appear in all copies.
964723
+;
964723
+; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
964723
+; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
964723
+; AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
964723
+; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
964723
+; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
964723
+; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
964723
+; PERFORMANCE OF THIS SOFTWARE.
964723
+
964723
+$TTL 300	; 5 minutes
964723
+@			IN SOA	mname1. . (
964723
+				2000042407 ; serial
964723
+				20         ; refresh (20 seconds)
964723
+				20         ; retry (20 seconds)
964723
+				1814400    ; expire (3 weeks)
964723
+				3600       ; minimum (1 hour)
964723
+				)
964723
+			NS	ns2
964723
+			NS	ns3
964723
+ns2			A	10.53.0.2
964723
+ns2			AAAA	fd92:7065:b8e:ffff::2
964723
+ns3			A	10.53.0.3
964723
+ns3			AAAA	fd92:7065:b8e:ffff::3
964723
+
964723
+a			A	10.0.0.1
964723
+a			AAAA	fd92:7065:b8e:ffff::1
964723
+b			A	10.0.0.2
964723
+b			AAAA	fd92:7065:b8e:ffff::2
964723
+c			A	10.0.0.3
964723
+c			AAAA	fd92:7065:b8e:ffff::3
964723
+
964723
+foo			TXT	"testing"
964723
+foo			A	10.0.1.0
964723
+foo			SSHFP	2 1 123456789abcdef67890123456789abcdef67890
964723
+
964723
+;;
964723
+;; we are not testing DNSSEC behavior, so we don't care about the semantics
964723
+;; of the following records.
964723
+dnskey                  300     DNSKEY  256 3 1 (
964723
+                                        AQPTpWyReB/e9Ii6mVGnakS8hX2zkh/iUYAg
964723
+                                        +Ge4noWROpTWOIBvm76zeJPWs4Zfqa1IsswD
964723
+                                        Ix5Mqeg0zwclz59uecKsKyx5w9IhtZ8plc4R
964723
+                                        b9VIE5x7KNHAYTvTO5d4S8M=
964723
+                                        )
964723
+
964723
diff --git a/bin/tests/system/digdelv/ns2/named.conf b/bin/tests/system/digdelv/ns2/named.conf
964723
new file mode 100644
964723
index 0000000..266e958
964723
--- /dev/null
964723
+++ b/bin/tests/system/digdelv/ns2/named.conf
964723
@@ -0,0 +1,40 @@
964723
+/*
964723
+ * Copyright (C) 2015  Internet Systems Consortium, Inc. ("ISC")
964723
+ *
964723
+ * Permission to use, copy, modify, and/or distribute this software for any
964723
+ * purpose with or without fee is hereby granted, provided that the above
964723
+ * copyright notice and this permission notice appear in all copies.
964723
+ *
964723
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
964723
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
964723
+ * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
964723
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
964723
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
964723
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
964723
+ * PERFORMANCE OF THIS SOFTWARE.
964723
+ */
964723
+
964723
+// NS2
964723
+
964723
+controls { /* empty */ };
964723
+
964723
+options {
964723
+	query-source address 10.53.0.2;
964723
+	port 5300;
964723
+	pid-file "named.pid";
964723
+	listen-on { 10.53.0.2; };
964723
+	listen-on-v6 { fd92:7065:b8e:ffff::2; };
964723
+	recursion no;
964723
+	dnssec-enable no;
964723
+	dnssec-validation no;
964723
+};
964723
+
964723
+zone "." {
964723
+	type hint;
964723
+	file "../../common/root.hint";
964723
+};
964723
+
964723
+zone "example" {
964723
+	type master;
964723
+	file "example.db";
964723
+};
964723
diff --git a/bin/tests/system/digdelv/ns3/named.conf b/bin/tests/system/digdelv/ns3/named.conf
964723
new file mode 100644
964723
index 0000000..e73c543
964723
--- /dev/null
964723
+++ b/bin/tests/system/digdelv/ns3/named.conf
964723
@@ -0,0 +1,36 @@
964723
+/*
964723
+ * Copyright (C) 2015  Internet Systems Consortium, Inc. ("ISC")
964723
+ *
964723
+ * Permission to use, copy, modify, and/or distribute this software for any
964723
+ * purpose with or without fee is hereby granted, provided that the above
964723
+ * copyright notice and this permission notice appear in all copies.
964723
+ *
964723
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
964723
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
964723
+ * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
964723
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
964723
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
964723
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
964723
+ * PERFORMANCE OF THIS SOFTWARE.
964723
+ */
964723
+
964723
+// NS4
964723
+
964723
+controls { /* empty */ };
964723
+
964723
+options {
964723
+	query-source address 10.53.0.3;
964723
+	port 5300;
964723
+	pid-file "named.pid";
964723
+	listen-on { 10.53.0.3; };
964723
+	listen-on-v6 { fd92:7065:b8e:ffff::3; };
964723
+	recursion yes;
964723
+	acache-enable yes;
964723
+	dnssec-enable no;
964723
+	dnssec-validation no;
964723
+};
964723
+
964723
+zone "." {
964723
+	type hint;
964723
+	file "../../common/root.hint";
964723
+};
964723
diff --git a/bin/tests/system/digdelv/tests.sh b/bin/tests/system/digdelv/tests.sh
964723
new file mode 100644
964723
index 0000000..988bd52
964723
--- /dev/null
964723
+++ b/bin/tests/system/digdelv/tests.sh
964723
@@ -0,0 +1,137 @@
964723
+# Copyright (C) 2015  Internet Systems Consortium, Inc. ("ISC")
964723
+#
964723
+# Permission to use, copy, modify, and/or distribute this software for any
964723
+# purpose with or without fee is hereby granted, provided that the above
964723
+# copyright notice and this permission notice appear in all copies.
964723
+#
964723
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
964723
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
964723
+# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
964723
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
964723
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
964723
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
964723
+# PERFORMANCE OF THIS SOFTWARE.
964723
+
964723
+SYSTEMTESTTOP=..
964723
+. $SYSTEMTESTTOP/conf.sh
964723
+
964723
+status=0
964723
+n=0
964723
+# using dig insecure mode as not testing dnssec here
964723
+DIGOPTS="-i -p 5300"
964723
+
964723
+if [ -x ${DIG} ] ; then
964723
+  n=`expr $n + 1`
964723
+  echo "I:checking dig short form works ($n)"
964723
+  ret=0
964723
+  $DIG $DIGOPTS @10.53.0.3 +short a a.example > dig.out.test$n || ret=1
964723
+  if test `wc -l < dig.out.test$n` != 1 ; then ret=1 ; fi
964723
+  if [ $ret != 0 ]; then echo "I:failed"; fi 
964723
+  status=`expr $status + $ret`
964723
+
964723
+  n=`expr $n + 1`
964723
+  echo "I:checking dig split width works ($n)"
964723
+  ret=0
964723
+  $DIG $DIGOPTS @10.53.0.3 +split=4 -t sshfp foo.example > dig.out.test$n || ret=1
964723
+  grep " 9ABC DEF6 7890 " < dig.out.test$n > /dev/null || ret=1
964723
+  if [ $ret != 0 ]; then echo "I:failed"; fi 
964723
+  status=`expr $status + $ret`
964723
+
964723
+  n=`expr $n + 1`
964723
+  echo "I:checking dig with reverse lookup works ($n)"
964723
+  ret=0
964723
+  $DIG $DIGOPTS @10.53.0.3 -x 127.0.0.1 > dig.out.test$n 2>&1 || ret=1
964723
+  # doesn't matter if has answer
964723
+  grep -i "127\.in-addr\.arpa\." < dig.out.test$n > /dev/null || ret=1
964723
+  if [ $ret != 0 ]; then echo "I:failed"; fi 
964723
+  status=`expr $status + $ret`
964723
+
964723
+  n=`expr $n + 1`
964723
+  echo "I:checking dig over TCP works ($n)"
964723
+  ret=0
964723
+  $DIG $DIGOPTS +tcp @10.53.0.3 a a.example > dig.out.test$n || ret=1
964723
+  grep "10\.0\.0\.1$" < dig.out.test$n > /dev/null || ret=1
964723
+  if [ $ret != 0 ]; then echo "I:failed"; fi
964723
+  status=`expr $status + $ret`
964723
+
964723
+  n=`expr $n + 1`
964723
+  echo "I:checking dig +rrcomments works for DNSKEY($n)"
964723
+  ret=0
964723
+  $DIG $DIGOPTS +tcp @10.53.0.3 +rrcomments DNSKEY dnskey.example > dig.out.test$n || ret=1
964723
+  grep "; ZSK; alg = RSAMD5 *; key id = 30795" < dig.out.test$n > /dev/null || ret=1
964723
+  if [ $ret != 0 ]; then echo "I:failed"; fi
964723
+  status=`expr $status + $ret`
964723
+
964723
+else
964723
+  echo "W:$DIG is needed, so skipping these dig tests"
964723
+fi
964723
+
964723
+# using delv insecure mode as not testing dnssec here
964723
+DELVOPTS="-i -p 5300"
964723
+
964723
+if [ -n "${DELV}" -a -x "${DELV}" ] ; then
964723
+  n=`expr $n + 1`
964723
+  echo "I:checking delv short form works ($n)"
964723
+  ret=0
964723
+  $DELV $DELVOPTS @10.53.0.3 +short a a.example > delv.out.test$n || ret=1
964723
+  if test `wc -l < delv.out.test$n` != 1 ; then ret=1 ; fi
964723
+  if [ $ret != 0 ]; then echo "I:failed"; fi 
964723
+  status=`expr $status + $ret`
964723
+
964723
+  n=`expr $n + 1`
964723
+  echo "I:checking delv split width works ($n)"
964723
+  ret=0
964723
+  $DELV $DELVOPTS @10.53.0.3 +split=4 -t sshfp foo.example > delv.out.test$n || ret=1
964723
+  grep " 9ABC DEF6 7890 " < delv.out.test$n > /dev/null || ret=1
964723
+  if [ $ret != 0 ]; then echo "I:failed"; fi 
964723
+  status=`expr $status + $ret`
964723
+
964723
+  n=`expr $n + 1`
964723
+  echo "I:checking delv with IPv6 on IPv4 does not work ($n)"
964723
+  if $TESTSOCK6 fd92:7065:b8e:ffff::3
964723
+  then
964723
+    ret=0
964723
+    # following should fail because @IPv4 overrides earlier @IPv6 above
964723
+    # and -6 forces IPv6 so this should fail, such as:
964723
+    # ;; getaddrinfo failed: hostname nor servname provided, or not known
964723
+    # ;; resolution failed: not found
964723
+    # note that delv returns success even on lookup failure
964723
+    $DELV $DELVOPTS @fd92:7065:b8e:ffff::3 @10.53.0.3 -6 -t txt foo.example > delv.out.test$n 2>&1 || ret=1
964723
+    # it should have no results but error output
964723
+    grep "testing" < delv.out.test$n > /dev/null && ret=1
964723
+    grep "getaddrinfo failed:" < delv.out.test$n > /dev/null || ret=1
964723
+    if [ $ret != 0 ]; then echo "I:failed"; fi 
964723
+    status=`expr $status + $ret`
964723
+  else
964723
+    echo "I:IPv6 unavailable; skipping"
964723
+  fi
964723
+
964723
+  n=`expr $n + 1`
964723
+  echo "I:checking delv with reverse lookup works ($n)"
964723
+  ret=0
964723
+  $DELV $DELVOPTS @10.53.0.3 -x 127.0.0.1 > delv.out.test$n 2>&1 || ret=1
964723
+  # doesn't matter if has answer
964723
+  grep -i "127\.in-addr\.arpa\." < delv.out.test$n > /dev/null || ret=1
964723
+  if [ $ret != 0 ]; then echo "I:failed"; fi 
964723
+  status=`expr $status + $ret`
964723
+
964723
+  n=`expr $n + 1`
964723
+  echo "I:checking delv over TCP works ($n)"
964723
+  ret=0
964723
+  $DELV $DELVOPTS @10.53.0.3 a a.example > delv.out.test$n || ret=1
964723
+  grep "10\.0\.0\.1$" < delv.out.test$n > /dev/null || ret=1
964723
+  if [ $ret != 0 ]; then echo "I:failed"; fi
964723
+  status=`expr $status + $ret`
964723
+
964723
+  n=`expr $n + 1`
964723
+  echo "I:checking delv +rrcomments works for DNSKEY($n)"
964723
+  ret=0
964723
+  $DELV $DELVOPTS @10.53.0.3 +rrcomments DNSKEY dnskey.example > delv.out.test$n || ret=1
964723
+  grep "; ZSK; alg = RSAMD5 *; key id = 30795" < delv.out.test$n > /dev/null || ret=1
964723
+  if [ $ret != 0 ]; then echo "I:failed"; fi
964723
+  status=`expr $status + $ret`
964723
+
964723
+  exit $status
964723
+else
964723
+  echo "W:${DELV:-delv} is not available, so skipping these delv tests"
964723
+fi
964723
-- 
964723
2.9.5
964723