]> git.ipfire.org Git - thirdparty/pdns.git/blob - regression-tests/backends/bind-master
Merge pull request #13387 from omoerbeek/rec-b-root-servers
[thirdparty/pdns.git] / regression-tests / backends / bind-master
1 case $context in
2 bind)
3 cat > pdns-bind.conf << __EOF__
4 module-dir=./modules
5 launch=bind
6 bind-config=./named.conf
7 bind-ignore-broken-records=yes
8 __EOF__
9
10 $RUNWRAPPER $PDNS --daemon=no --local-address=$address --local-port=$port --config-dir=. \
11 --config-name=bind --socket-dir=./ --no-shuffle \
12 --cache-ttl=$cachettl --dname-processing \
13 --disable-axfr-rectify=yes &
14 skipreasons="nodnssec nodyndns nometa noalias"
15 bindwait bind
16 ;;
17
18 bind-dnssec | bind-dnssec-nsec3 | bind-hybrid-nsec3 | bind-dnssec-nsec3-optout | bind-dnssec-nsec3-narrow)
19 rm -f dnssec.sqlite3
20 cat > pdns-bind.conf << __EOF__
21 module-dir=./modules
22 launch=bind
23 bind-config=./named.conf
24 bind-ignore-broken-records=yes
25 __EOF__
26 if [ $context = bind-hybrid-nsec3 ]
27 then
28 [ -z "$GMYSQLDB" ] && GMYSQLDB=pdnstest
29 [ -z "$GMYSQLUSER" ] && GMYSQLUSER=root
30 [ -z "$GMYSQLHOST" ] && GMYSQLHOST=localhost
31 [ -z "$GMYSQLPASSWD" ] && GMYSQLPASSWD=''
32
33 mysqladmin --user="$GMYSQLUSER" --password="$GMYSQLPASSWD" --host="$GMYSQLHOST" --force drop "$GMYSQLDB" \
34 || echo ignoring mysqladmin drop failure
35 mysqladmin --user="$GMYSQLUSER" --password="$GMYSQLPASSWD" --host="$GMYSQLHOST" create "$GMYSQLDB"
36 mysql --user="$GMYSQLUSER" --password="$GMYSQLPASSWD" --host="$GMYSQLHOST" \
37 "$GMYSQLDB" < ../modules/gmysqlbackend/schema.mysql.sql
38
39 cat >> pdns-bind.conf << __EOF__
40 bind-hybrid
41 launch+=gmysql
42 gmysql-dbname=$GMYSQLDB
43 gmysql-user=$GMYSQLUSER
44 gmysql-host=$GMYSQLHOST
45 gmysql-password=$GMYSQLPASSWD
46 gmysql-dnssec
47 zone-cache-refresh-interval=0
48 __EOF__
49 else
50 echo "bind-dnssec-db=./dnssec.sqlite3" >> pdns-bind.conf
51 $PDNSUTIL --config-dir=. --config-name=bind create-bind-db dnssec.sqlite3
52 fi
53
54 for zone in $(grep 'zone ' named.conf | cut -f2 -d\")
55 do
56 if [ $context = bind-hybrid-nsec3 ]
57 then
58 mysql --user="$GMYSQLUSER" --password="$GMYSQLPASSWD" --host="$GMYSQLHOST" \
59 "$GMYSQLDB" -e "INSERT INTO domains (name, type, master) VALUES('$zone','SLAVE','127.0.0.1:$port')"
60 fi
61 if [ $zone != insecure.dnssec-parent.com ]
62 then
63 securezone $zone bind
64 if [ $zone = hiddencryptokeys.org ]
65 then
66 keyid=$($PDNSUTIL --config-dir=. --config-name=bind list-keys $zone | grep hiddencryptokeys.org | awk '{ print $7 }')
67 $PDNSUTIL --config-dir=. --config-name=bind unpublish-zone-key $zone $keyid
68 fi
69 if [ $context = bind-dnssec-nsec3 ] || [ $context = bind-dnssec-nsec3-optout ] || [ $context = bind-hybrid-nsec3 ]
70 then
71 $PDNSUTIL --config-dir=. --config-name=bind set-nsec3 $zone "1 $optout 1 abcd" 2>&1
72 elif [ $context = bind-dnssec-nsec3-narrow ]
73 then
74 $PDNSUTIL --config-dir=. --config-name=bind set-nsec3 $zone '1 1 1 abcd' narrow 2>&1
75 fi
76 if [ $zone = cryptokeys.org ]
77 then
78 $PDNSUTIL --config-dir=. --config-name=bind add-zone-key $zone zsk 384 active unpublished ecdsa384
79 $PDNSUTIL --config-dir=. --config-name=bind add-zone-key $zone zsk 2048 inactive published rsasha512
80 $PDNSUTIL --config-dir=. --config-name=bind add-zone-key $zone zsk 2048 inactive unpublished rsasha256
81 fi
82 fi
83 if [ "$zone" = "tsig.com" ]; then
84 $PDNSUTIL --config-dir=. --config-name=bind import-tsig-key test $ALGORITHM $KEY
85 $PDNSUTIL --config-dir=. --config-name=bind activate-tsig-key tsig.com test primary
86 fi
87 done
88
89 if [ $context = bind-dnssec-nsec3 ] || [ $context = bind-hybrid-nsec3 ]
90 then
91 extracontexts="bind dnssec nsec3"
92 skipreasons="nsec3 nodyndns noalias"
93 elif [ $context = bind-dnssec-nsec3-optout ]
94 then
95 extracontexts="bind dnssec nsec3 nsec3-optout"
96 skipreasons="optout nodyndns noalias"
97 elif [ $context = bind-dnssec-nsec3-narrow ]
98 then
99 extracontexts="bind dnssec narrow"
100 skipreasons="narrow nodyndns noalias"
101 else
102 extracontexts="bind dnssec"
103 skipreasons="nodyndns noalias nsec"
104 fi
105
106 $RUNWRAPPER $PDNS --daemon=no --local-address=$address --local-port=$port --config-dir=. \
107 --config-name=bind --socket-dir=./ --no-shuffle \
108 --cache-ttl=$cachettl --dname-processing \
109 --disable-axfr-rectify=yes $lua_prequery &
110
111 bindwait bind
112 ;;
113
114 *)
115 nocontext=yes
116 esac