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