xref: /netbsd-src/external/mpl/bind/dist/bin/tests/system/rootkeysentinel/ns2/sign.sh (revision 3f351f34c6d827cf017cdcff3543f6ec0c88b420)
1#!/bin/sh -e
2
3# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
4#
5# SPDX-License-Identifier: MPL-2.0
6#
7# This Source Code Form is subject to the terms of the Mozilla Public
8# License, v. 2.0.  If a copy of the MPL was not distributed with this
9# file, you can obtain one at https://mozilla.org/MPL/2.0/.
10#
11# See the COPYRIGHT file distributed with this work for additional
12# information regarding copyright ownership.
13
14# leave as expr as expr treats arguments with leading 0's as base 10
15# handle exit code 1 from expr when the result is 0
16oldid=${1:-00000}
17newid=$(expr \( ${oldid} + 1000 \) % 65536 || true)
18newid=$(expr "0000${newid}" : '.*\(.....\)$')	# prepend leading 0's
19badid=$(expr \( ${oldid} + 7777 \) % 65536 || true)
20badid=$(expr "0000${badid}" : '.*\(.....\)$')	# prepend leading 0's
21
22SYSTEMTESTTOP=../..
23. $SYSTEMTESTTOP/conf.sh
24
25zone=example.
26infile=example.db.in
27zonefile=example.db
28
29keyname1=$($KEYGEN -q -a $DEFAULT_ALGORITHM -b $DEFAULT_BITS -n zone $zone)
30keyname2=$($KEYGEN -q -a $DEFAULT_ALGORITHM -b $DEFAULT_BITS -n zone $zone)
31
32cat $infile $keyname1.key $keyname2.key >$zonefile
33echo root-key-sentinel-is-ta-$oldid A 10.53.0.1 >> $zonefile
34echo root-key-sentinel-not-ta-$oldid A 10.53.0.2 >> $zonefile
35echo root-key-sentinel-is-ta-$newid A 10.53.0.3 >> $zonefile
36echo root-key-sentinel-not-ta-$newid A 10.53.0.4 >> $zonefile
37echo old-is-ta CNAME root-key-sentinel-is-ta-$oldid >> $zonefile
38echo old-not-ta CNAME root-key-sentinel-not-ta-$oldid >> $zonefile
39echo new-is-ta CNAME root-key-sentinel-is-ta-$newid >> $zonefile
40echo new-not-ta CNAME root-key-sentinel-not-ta-$newid >> $zonefile
41echo bad-is-ta CNAME root-key-sentinel-is-ta-$badid >> $zonefile
42echo bad-not-ta CNAME root-key-sentinel-not-ta-$badid >> $zonefile
43
44$SIGNER -P -g -o $zone -k $keyname1 $zonefile $keyname2 > /dev/null
45