[BACK]Return to setup.sh CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / external / mpl / bind / dist / bin / tests / system / cds

Annotation of src/external/mpl/bind/dist/bin/tests/system/cds/setup.sh, Revision 1.1.1.1.2.3

1.1.1.1.2.2  pgoyette    1: #!/bin/sh -e
                      2: #
                      3: # Copyright (C) Internet Systems Consortium, Inc. ("ISC")
                      4: #
                      5: # This Source Code Form is subject to the terms of the Mozilla Public
                      6: # License, v. 2.0. If a copy of the MPL was not distributed with this
                      7: # file, You can obtain one at http://mozilla.org/MPL/2.0/.
                      8: #
                      9: # See the COPYRIGHT file distributed with this work for additional
                     10: # information regarding copyright ownership.
                     11:
                     12: set -eu
                     13:
                     14: SYSTEMTESTTOP=..
                     15: . $SYSTEMTESTTOP/conf.sh
                     16:
                     17: $SHELL clean.sh
                     18:
                     19: touch empty
                     20:
                     21: Z=cds.test
                     22:
1.1.1.1.2.3! pgoyette   23: keyz=`$KEYGEN -q -a RSASHA256 $Z`
        !            24: key1=`$KEYGEN -q -a RSASHA256 -f KSK $Z`
        !            25: key2=`$KEYGEN -q -a RSASHA256 -f KSK $Z`
        !            26:
        !            27: idz=`echo $keyz | sed 's/.*+0*//'`
        !            28: id1=`echo $key1 | sed 's/.*+0*//'`
        !            29: id2=`echo $key2 | sed 's/.*+0*//'`
1.1.1.1.2.2  pgoyette   30:
                     31: cat <<EOF >vars.sh
                     32: Z=$Z
                     33: key1=$key1
                     34: key2=$key2
                     35: idz=$idz
                     36: id1=$id1
                     37: id2=$id2
                     38: EOF
                     39:
                     40: tac() {
                     41:        perl -e 'print reverse <>' "$@"
                     42: }
                     43:
                     44: convert() {
1.1.1.1.2.3! pgoyette   45:        key=$1
        !            46:        n=$2
1.1.1.1.2.2  pgoyette   47:        $DSFROMKEY $key >DS.$n
                     48:        grep ' 8 1 ' DS.$n >DS.$n-1
                     49:        grep ' 8 2 ' DS.$n >DS.$n-2
                     50:        sed 's/ IN DS / IN CDS /' <DS.$n >>CDS.$n
                     51:        sed 's/ IN DNSKEY / IN CDNSKEY /' <$key.key >CDNSKEY.$n
                     52:        sed 's/ IN DS / 3600 IN DS /' <DS.$n >DS.ttl$n
                     53:        sed 's/ IN DS / 7200 IN DS /' <DS.$n >DS.ttlong$n
                     54:        tac <DS.$n >DS.rev$n
                     55: }
                     56: convert $key1 1
                     57: convert $key2 2
                     58:
                     59: # consistent order wrt IDs
                     60: sort DS.1 DS.2 >DS.both
                     61:
                     62: cp DS.1 DS.inplace
                     63: $PERL -we 'utime time, time - 7200, "DS.inplace" or die'
                     64:
                     65: mangle="$PERL mangle.pl"
                     66:
                     67: $mangle " IN DS $id1 8 1 " <DS.1 >DS.broke1
                     68: $mangle " IN DS $id1 8 2 " <DS.1 >DS.broke2
                     69: $mangle " IN DS $id1 8 [12] " <DS.1 >DS.broke12
                     70:
                     71: sed 's/^/update add /
                     72: $a\
                     73: send
                     74: ' <DS.2 >UP.add2
                     75:
                     76: sed 's/^/update del /
                     77: $a\
                     78: send
                     79: ' <DS.1 >UP.del1
                     80:
                     81: cat UP.add2 UP.del1 | sed 3d >UP.swap
                     82:
                     83: sed 's/ add \(.*\) IN DS / add \1 3600 IN DS /' <UP.swap >UP.swapttl
                     84:
                     85: sign() {
                     86:        cat >db.$1
1.1.1.1.2.3! pgoyette   87:        $SIGNER >/dev/null 2>&1 \
1.1.1.1.2.2  pgoyette   88:                 -S -O full -o $Z -f sig.$1 db.$1
                     89: }
                     90:
                     91: sign null <<EOF
                     92: \$TTL 1h
                     93: @      SOA     localhost.      root.localhost. (
                     94:                1       ; serial
                     95:                1h      ; refresh
                     96:                1h      ; retry
                     97:                1w      ; expiry
                     98:                1h      ; minimum
                     99:                )
                    100: ;
                    101:        NS      localhost.
                    102: ;
                    103: EOF
                    104:
                    105: cat sig.null CDS.1 >brk.unsigned-cds
                    106:
                    107: cat db.null CDS.1 | sign cds.1
                    108: cat db.null CDS.2 | sign cds.2
                    109: cat db.null CDS.1 CDS.2 | sign cds.both
                    110:
                    111: tac <sig.cds.1 >sig.cds.rev1
                    112:
                    113: cat db.null CDNSKEY.2 | sign cdnskey.2
                    114: cat db.null CDS.2 CDNSKEY.2 | sign cds.cdnskey.2
                    115:
                    116: $mangle '\s+IN\s+RRSIG\s+CDS .* '$idz' '$Z'\. ' \
                    117:        <sig.cds.1 >brk.rrsig.cds.zsk
                    118: $mangle '\s+IN\s+RRSIG\s+CDS .* '$id1' '$Z'\. ' \
                    119:        <sig.cds.1 >brk.rrsig.cds.ksk
                    120:
                    121: $mangle " IN CDS $id1 8 1 " <db.cds.1 |
                    122: sign cds-mangled
                    123:
1.1.1.1.2.3! pgoyette  124: bad=`$PERL -le "print ($id1 ^ 255);"`
        !           125: sed 's/IN CDS '$id1' 8 1 /IN CDS '$bad' 8 1 /' <db.cds.1 |
1.1.1.1.2.2  pgoyette  126: sign bad-digests
                    127:
1.1.1.1.2.3! pgoyette  128: sed '/IN CDS '$id1' 8 /p;s//IN CDS '$bad' 13 /' <db.cds.1 |
1.1.1.1.2.2  pgoyette  129: sign bad-algos
                    130:
                    131: rm -f dsset-*

CVSweb <webmaster@jp.NetBSD.org>