[v9_9] address TKEY bugs
3486. [bug] named could crash when using TKEY-negotiated keys
that had been deleted and then recreated. [RT #32506]
(cherry picked from commit 0b8bd3a4ae)
This commit is contained in:
@@ -91,8 +91,17 @@ status=`expr $status + $ret`
|
||||
|
||||
echo "I:checking the key with 'rndc tsig-list'"
|
||||
ret=0
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 tsig-list > rndc.out
|
||||
grep "key \"bar.example.server" rndc.out > /dev/null || ret=1
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 tsig-list > rndc.out.1
|
||||
grep "key \"bar.example.server" rndc.out.1 > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then
|
||||
echo "I:failed"
|
||||
fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:using key in a request"
|
||||
ret=0
|
||||
$DIG $DIGOPTS -k $keyname txt.example txt > dig.out.3 || ret=1
|
||||
grep "status: NOERROR" dig.out.3 > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then
|
||||
echo "I:failed"
|
||||
fi
|
||||
@@ -101,8 +110,38 @@ status=`expr $status + $ret`
|
||||
echo "I:deleting the key with 'rndc tsig-delete'"
|
||||
ret=0
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 tsig-delete bar.example.server > /dev/null || ret=1
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 tsig-list > rndc.out
|
||||
grep "key \"bar.example.server" rndc.out > /dev/null && ret=1
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 tsig-list > rndc.out.2
|
||||
grep "key \"bar.example.server" rndc.out.2 > /dev/null && ret=1
|
||||
$DIG $DIGOPTS -k $keyname txt.example txt > dig.out.4 || ret=1
|
||||
grep "TSIG could not be validated" dig.out.4 > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then
|
||||
echo "I:failed"
|
||||
fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:recreating the bar.example. key"
|
||||
ret=0
|
||||
keyname=`./keycreate $dhkeyname bar.example.` || ret=1
|
||||
if [ $ret != 0 ]; then
|
||||
echo "I:failed"
|
||||
echo "I:exit status: $status"
|
||||
exit $status
|
||||
fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:checking the new key with 'rndc tsig-list'"
|
||||
ret=0
|
||||
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 tsig-list > rndc.out.3
|
||||
grep "key \"bar.example.server" rndc.out.3 > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then
|
||||
echo "I:failed"
|
||||
fi
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:using the new key in a request"
|
||||
ret=0
|
||||
$DIG $DIGOPTS -k $keyname txt.example txt > dig.out.5 || ret=1
|
||||
grep "status: NOERROR" dig.out.5 > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then
|
||||
echo "I:failed"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user