case $context in
bind)
- $RUNWRAPPER $PDNS --daemon=no --local-port=$port --socket-dir=./ \
- --no-shuffle --launch=bind --bind-config=./named.conf \
+ cat > pdns-bind.conf << __EOF__
+launch=bind
+bind-config=./named.conf
+bind-ignore-broken-records=yes
+__EOF__
+
+ $RUNWRAPPER $PDNS --daemon=no --local-port=$port --config-dir=. \
+ --config-name=bind --socket-dir=./ --no-shuffle \
--send-root-referral \
- --allow-2136-from=127.0.0.0/8 --experimental-rfc2136=yes \
- --cache-ttl=$cachettl --no-config --experimental-dname-processing \
- --bind-ignore-broken-records=yes --disable-axfr-rectify=yes &
+ --cache-ttl=$cachettl --experimental-dname-processing \
+ --disable-axfr-rectify=yes &
skipreasons="nodnssec nodyndns nometa"
- bindwait
+ bindwait bind
;;
- bind-dnssec | bind-dnssec-nsec3 | bind-dnssec-nsec3-optout | bind-dnssec-nsec3-narrow)
+ bind-dnssec | bind-dnssec-nsec3 | bind-hybrid-nsec3 | bind-dnssec-nsec3-optout | bind-dnssec-nsec3-narrow)
rm -f dnssec.sqlite3
- ../pdns/pdnssec --config-dir=. create-bind-db dnssec.sqlite3
+ cat > pdns-bind.conf << __EOF__
+launch=bind
+bind-config=./named.conf
+bind-ignore-broken-records=yes
+__EOF__
+ if [ $context = bind-hybrid-nsec3 ]
+ then
+ [ -z "$GMYSQLDB" ] && GMYSQLDB=pdnstest
+ [ -z "$GMYSQLUSER" ] && GMYSQLUSER=root
+ [ -z "$GMYSQLHOST" ] && GMYSQLHOST=localhost
+ [ -z "$GMYSQLPASSWD" ] && GMYSQLPASSWD=''
+
+ mysqladmin --user="$GMYSQLUSER" --password="$GMYSQLPASSWD" --host="$GMYSQLHOST" --force drop "$GMYSQLDB" \
+ || echo ignoring mysqladmin drop failure
+ mysqladmin --user="$GMYSQLUSER" --password="$GMYSQLPASSWD" --host="$GMYSQLHOST" create "$GMYSQLDB"
+ mysql --user="$GMYSQLUSER" --password="$GMYSQLPASSWD" --host="$GMYSQLHOST" \
+ "$GMYSQLDB" < ../modules/gmysqlbackend/schema.mysql.sql
+
+ cat >> pdns-bind.conf << __EOF__
+bind-hybrid
+launch+=gmysql
+gmysql-dbname=$GMYSQLDB
+gmysql-user=$GMYSQLUSER
+gmysql-host=$GMYSQLHOST
+gmysql-password=$GMYSQLPASSWD
+gmysql-dnssec
+__EOF__
+ else
+ echo "bind-dnssec-db=./dnssec.sqlite3" >> pdns-bind.conf
+ ../pdns/pdnssec --config-dir=. --config-name=bind create-bind-db dnssec.sqlite3
+ fi
for zone in $(grep 'zone ' named.conf | cut -f2 -d\")
do
- securezone $zone
- if [ $context = bind-dnssec-nsec3 ] || [ $context = bind-dnssec-nsec3-optout ]
+ if [ $context = bind-hybrid-nsec3 ]
+ then
+ mysql --user="$GMYSQLUSER" --password="$GMYSQLPASSWD" --host="$GMYSQLHOST" \
+ "$GMYSQLDB" -e "INSERT INTO domains (name, type, master) VALUES('$zone','SLAVE','127.0.0.1:$port')"
+ fi
+ securezone $zone bind
+ if [ $context = bind-dnssec-nsec3 ] || [ $context = bind-dnssec-nsec3-optout ] || [ $context = bind-hybrid-nsec3 ]
then
- ../pdns/pdnssec --config-dir=. set-nsec3 $zone "1 $optout 1 abcd" 2>&1
+ ../pdns/pdnssec --config-dir=. --config-name=bind set-nsec3 $zone "1 $optout 1 abcd" 2>&1
elif [ $context = bind-dnssec-nsec3-narrow ]
then
- ../pdns/pdnssec --config-dir=. set-nsec3 $zone '1 1 1 abcd' narrow 2>&1
+ ../pdns/pdnssec --config-dir=. --config-name=bind set-nsec3 $zone '1 1 1 abcd' narrow 2>&1
fi
done
- if [ $context = bind-dnssec-nsec3 ]
+ if [ $context = bind-dnssec-nsec3 ] || [ $context = bind-hybrid-nsec3 ]
then
extracontexts="bind dnssec nsec3"
skipreasons="nsec3 nodyndns"
skipreasons="nodyndns"
fi
- ../pdns/pdnssec --config-dir=. import-tsig-key test $ALGORITHM $KEY
- ../pdns/pdnssec --config-dir=. activate-tsig-key tsig.com test master
+ ../pdns/pdnssec --config-dir=. --config-name=bind import-tsig-key test $ALGORITHM $KEY
+ ../pdns/pdnssec --config-dir=. --config-name=bind activate-tsig-key tsig.com test master
- $RUNWRAPPER $PDNS --daemon=no --local-port=$port --socket-dir=./ \
- --no-shuffle --launch=bind --bind-config=./named.conf \
- --bind-dnssec-db=./dnssec.sqlite3 \
+ $RUNWRAPPER $PDNS --daemon=no --local-port=$port --config-dir=. \
+ --config-name=bind --socket-dir=./ --no-shuffle \
--send-root-referral \
- --allow-2136-from=127.0.0.0/8 --experimental-rfc2136=yes --direct-dnskey=yes \
- --cache-ttl=$cachettl --no-config --experimental-dname-processing \
- --bind-ignore-broken-records=yes --disable-axfr-rectify=yes $lua_prequery &
- bindwait
+ --cache-ttl=$cachettl --experimental-dname-processing \
+ --disable-axfr-rectify=yes $lua_prequery &
+
+ bindwait bind
;;
*)