1 context=${context}-presigned-lmdb
2 cat > pdns-lmdb2.conf << __EOF__
5 lmdb-filename=./pdns2.lmdb
10 for zone in $(grep 'zone ' named.conf | cut -f2 -d\" | grep -v '^nztest.com$' | perl -e 'print reverse <STDIN>')
13 if [ "$zone" = "example.com" ]; then
14 $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone $zone 127.0.0.1:$port
16 if [ "$zone" = "test.com" ]; then
17 $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone $zone 127.0.0.1:$port
18 $PDNSUTIL --config-dir=. --config-name=lmdb2 set-catalog $zone other-catalog.invalid
19 $PDNSUTIL --config-dir=. --config-name=lmdb2 set-options-json $zone '{"consumer":{"coo":"catalog.invalid","unique":"42"}}'
21 if [ "$zone" = "tsig.com" ]; then
22 $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone $zone 127.0.0.2:$port
23 $PDNSUTIL --config-dir=. --config-name=lmdb2 set-catalog $zone catalog.invalid
24 $PDNSUTIL --config-dir=. --config-name=lmdb2 set-options-json $zone "{\"consumer\":{\"unique\":\"$($SAXFR 127.0.0.1 $port catalog.invalid | grep $zone | grep PTR | cut -d'.' -f1)\"}}"
25 $PDNSUTIL --config-dir=. --config-name=lmdb2 import-tsig-key test $ALGORITHM $KEY
26 $PDNSUTIL --config-dir=. --config-name=lmdb2 activate-tsig-key tsig.com test secondary
28 if [ "$zone" = "stest.com" ]; then
29 $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone $zone 127.0.0.1:$port
30 $PDNSUTIL --config-dir=. --config-name=lmdb2 set-catalog $zone other-catalog.invalid
31 $PDNSUTIL --config-dir=. --config-name=lmdb2 set-options-json $zone "{\"consumer\":{\"coo\":\"catalog.invalid\",\"unique\":\"$($SAXFR 127.0.0.1 $port catalog.invalid | grep $zone | grep PTR | cut -d'.' -f1)\"}}"
32 if [[ $skipreasons != *nolua* ]]; then
33 $PDNSUTIL --config-dir=. --config-name=lmdb2 set-meta stest.com AXFR-SOURCE 127.0.0.2
36 if [ "$zone" = "wtest.com" ]; then
37 $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone $zone 127.0.0.1:$port
38 $PDNSUTIL --config-dir=. --config-name=lmdb2 set-catalog $zone catalog.invalid
39 $PDNSUTIL --config-dir=. --config-name=lmdb2 set-options-json $zone '{"consumer":{"unique":"42"}}'
41 if [ "$zone" = "." ]; then
42 $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone $zone 127.0.0.1:$port
47 if [ $zones -ne 1 ] # detect root tests
50 $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone catalog.invalid 127.0.0.1:$port
51 $PDNSUTIL --config-dir=. --config-name=lmdb2 set-kind catalog.invalid consumer
53 $PDNSUTIL --config-dir=. --config-name=lmdb2 create-secondary-zone remove.invalid 127.0.0.1:$port
54 $PDNSUTIL --config-dir=. --config-name=lmdb2 set-catalog remove.invalid catalog.invalid
59 $RUNWRAPPER $PDNS2 --daemon=no --local-port=$port --config-dir=. \
60 --config-name=lmdb2 --socket-dir=./ --no-shuffle \
61 --secondary --xfr-cycle-interval=15 --dname-processing --api --api-key=secret &
64 $PDNSCONTROL --config-name=lmdb2 --socket-dir=. --no-config retrieve catalog.invalid
66 echo 'waiting for zones to be fetched'
68 while [ $loopcount -lt 30 ]
71 present=$(curl -s -S -H 'X-API-Key: secret' http://127.0.0.1:8081/api/v1/servers/localhost/zones | jq -r '.[] | .serial' | grep -c -v '^0$')
72 if [ $zones -eq $present ]
76 let loopcount=loopcount+1
78 if [ $zones -ne $present ]
80 echo "AXFR FAILED" >> failed_tests