2 lmdb | lmdb-nodnssec | lmdb-nsec3 | lmdb-nsec3-optout | lmdb-nsec3-narrow)
3 cat > pdns-lmdb.conf << __EOF__
6 lmdb-filename=./pdns.lmdb
11 for zone in $(grep 'zone ' named.conf | cut -f2 -d\" | grep -v '^nztest.com$')
13 if [ "$zone" = "." ]; then
14 $PDNSUTIL --config-dir=. --config-name=lmdb load-zone $zone zones/ROOT
16 $PDNSUTIL --config-dir=. --config-name=lmdb load-zone $zone zones/$zone
18 if [ $context != lmdb-nodnssec ]
20 if [ $zone != insecure.dnssec-parent.com ]
22 if [ $context = lmdb-nsec3 ]
24 $PDNSUTIL --config-dir=. --config-name=lmdb set-nsec3 $zone "1 0 1 abcd" 2>&1
25 elif [ $context = lmdb-nsec3-optout ]
27 $PDNSUTIL --config-dir=. --config-name=lmdb set-nsec3 $zone "1 1 1 abcd" 2>&1
28 elif [ $context = lmdb-nsec3-narrow ]
30 $PDNSUTIL --config-dir=. --config-name=lmdb set-nsec3 $zone '1 1 1 abcd' narrow 2>&1
33 if [ $zone = hiddencryptokeys.org ]
35 keyid=$($PDNSUTIL --config-dir=. --config-name=lmdb list-keys $zone | grep hiddencryptokeys.org | awk '{ print $7 }')
36 $PDNSUTIL --config-dir=. --config-name=lmdb unpublish-zone-key $zone $keyid
38 if [ $zone = cryptokeys.org ]
40 $PDNSUTIL --config-dir=. --config-name=lmdb add-zone-key $zone zsk 384 active unpublished ecdsa384
41 $PDNSUTIL --config-dir=. --config-name=lmdb add-zone-key $zone zsk 2048 inactive published rsasha512
42 $PDNSUTIL --config-dir=. --config-name=lmdb add-zone-key $zone zsk 2048 inactive unpublished rsasha256
46 $PDNSUTIL --config-dir=. --config-name=lmdb rectify-zone $zone 2>&1
48 if [ "$zone" = "tsig.com" ]; then
49 $PDNSUTIL --config-dir=. --config-name=lmdb import-tsig-key test $ALGORITHM $KEY
50 $PDNSUTIL --config-dir=. --config-name=lmdb activate-tsig-key tsig.com test primary
56 if ! $PDNSUTIL --config-dir=. --config-name=lmdb list-all-zones | grep '^.$' # detect root tests
58 for zone in $(grep 'zone ' named.conf | cut -f2 -d\" | grep -v '^nztest.com$')
60 $PDNSUTIL --config-dir=. --config-name=lmdb set-kind $zone master
61 $PDNSUTIL --config-dir=. --config-name=lmdb set-catalog $zone catalog.invalid
64 $PDNSUTIL --config-dir=. --config-name=lmdb load-zone catalog.invalid zones/catalog.invalid
65 $PDNSUTIL --config-dir=. --config-name=lmdb set-kind catalog.invalid producer
67 $PDNSUTIL --config-dir=. --config-name=lmdb set-options-json test.com '{"producer":{"coo":"other-catalog.invalid","unique":"123"}}'
68 $PDNSUTIL --config-dir=. --config-name=lmdb set-options-json tsig.com '{"producer":{"group":["pdns-group-x","pdns-group-y"]}}'
71 $RUNWRAPPER $PDNS --daemon=no --local-address=$address --local-port=$port --config-dir=. \
72 --config-name=lmdb --socket-dir=./ --no-shuffle \
74 --expand-alias=yes --resolver=$RESOLVERIP \
75 --disable-axfr-rectify=yes --outgoing-axfr-expand-alias=yes \
76 --cache-ttl=$cachettl --dname-processing $lua_prequery &
79 skipreasons="lmdb nodyndns"
81 if [ $context = lmdb-nsec3 ]
83 extracontexts="$extracontexts dnssec nsec3"
84 skipreasons="$skipreasons nsec3"
85 elif [ $context = lmdb-nsec3-optout ]
87 extracontexts="$extracontexts dnssec nsec3 nsec3-optout"
88 skipreasons="$skipreasons optout"
89 elif [ $context = lmdb-nsec3-narrow ]
91 extracontexts="$extracontexts dnssec narrow"
92 skipreasons="$skipreasons narrow"
93 elif [ $context = lmdb-nodnssec ]
95 skipreasons="$skipreasons nodnssec"
97 extracontexts="$extracontexts dnssec"
98 skipreasons="$skipreasons nsec"