59 lines
1.5 KiB
Bash
Executable file
59 lines
1.5 KiB
Bash
Executable file
#!/bin/bash
|
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
|
|
|
MOVED_RESOLV_CONF=""
|
|
|
|
wait_for_probe() {
|
|
while dnssec-trigger-control status | grep -q '^probe is in progress'; do
|
|
sleep 1
|
|
done
|
|
}
|
|
|
|
test_fallback() {
|
|
local TYPE=$1
|
|
local HOST=$2
|
|
|
|
rlRun "dnssec-trigger-control test_${TYPE}"
|
|
wait_for_probe
|
|
sleep 1
|
|
rlRun "dnssec-trigger-control status"
|
|
rlRun -s "unbound-host -rvD ${HOST}" 0 "Check dnssec works over ${TYPE} fallback"
|
|
rlAssertGrep '(secure)' $rlRun_LOG
|
|
}
|
|
|
|
rlJournalStart
|
|
rlPhaseStartSetup
|
|
rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"
|
|
rlAssertRpm dnssec-trigger
|
|
rlFileBackup --missing-ok /etc/resolv.conf
|
|
if test -L /etc/resolv.conf; then
|
|
MOVED_RESOLV_CONF="/etc/resolv-backup-$$.conf"
|
|
rlRun "mv /etc/resolv.conf ${MOVED_RESOLV_CONF}"
|
|
fi
|
|
rlRun "pushd $tmp"
|
|
rlServiceStart dnssec-triggerd
|
|
rlPhaseEnd
|
|
|
|
rlPhaseStartTest
|
|
rlRun "dnssec-trigger-control status"
|
|
rlRun -s "unbound-host -rvD example.org" 0 "Check dnssec actually works"
|
|
rlAssertGrep '(secure)' $rlRun_LOG
|
|
|
|
test_fallback tcp www.example.org
|
|
# This variant is not passing
|
|
#test_fallback http example.net
|
|
test_fallback ssl www.example.net
|
|
rlPhaseEnd
|
|
|
|
rlPhaseStartCleanup
|
|
rlServiceRestore dnssec-triggerd
|
|
rlRun "popd"
|
|
if [ -n "$MOVED_RESOLV_CONF" ]; then
|
|
rm -f /etc/resolv.conf
|
|
rlRun "mv -f ${MOVED_RESOLV_CONF} /etc/resolv.conf"
|
|
fi
|
|
rlFileRestore
|
|
rlRun "rm -r $tmp" 0 "Remove tmp directory"
|
|
rlPhaseEnd
|
|
rlJournalEnd
|