3252. [bug] When master zones using inline-signing were
updated while the server was offline, the source zone could fall out of sync with the signed copy. They can now resynchronize. [RT #26676]
This commit is contained in:
@@ -14,11 +14,12 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: clean.sh,v 1.9 2011/12/08 16:07:20 each Exp $
|
||||
# $Id: clean.sh,v 1.10 2011/12/22 07:32:40 each Exp $
|
||||
|
||||
rm -f named-compilezone
|
||||
rm -f ns1/example.db.raw*
|
||||
rm -f ns1/example.db.compat
|
||||
rm -f ns1/example.db.serial.raw
|
||||
rm -f ns2/example.db
|
||||
rm -f dig.out.*
|
||||
rm -f */named.memstats
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: compile.sh,v 1.8 2011/12/09 23:47:03 tbox Exp $
|
||||
# $Id: compile.sh,v 1.9 2011/12/22 07:32:40 each Exp $
|
||||
|
||||
../named-compilezone -D -F raw -o example.db.raw example \
|
||||
example.db > /dev/null 2>&1
|
||||
@@ -20,3 +20,5 @@
|
||||
example.db > /dev/null 2>&1
|
||||
../named-compilezone -D -F raw=0 -o example.db.compat example-compat \
|
||||
example.db > /dev/null 2>&1
|
||||
../named-compilezone -D -F raw -L 3333 -o example.db.serial.raw example \
|
||||
example.db > /dev/null 2>&1
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
# $Id: tests.sh,v 1.8 2011/12/08 16:07:20 each Exp $
|
||||
# $Id: tests.sh,v 1.9 2011/12/22 07:32:40 each Exp $
|
||||
|
||||
SYSTEMTESTTOP=..
|
||||
. $SYSTEMTESTTOP/conf.sh
|
||||
@@ -28,11 +28,24 @@ israw () {
|
||||
|
||||
rawversion () {
|
||||
perl -e '$input = <STDIN>;
|
||||
if (length($input) < 2) { print "not raw\n"; exit 0; };
|
||||
if (length($input) < 8) { print "not raw\n"; exit 0; };
|
||||
($style, $version) = unpack("NN", $input);
|
||||
print ($style == 2 ? "$version\n" : "not raw\n");' < $1
|
||||
}
|
||||
|
||||
sourceserial () {
|
||||
perl -e '$input = <STDIN>;
|
||||
if (length($input) < 20) { print "UNSET\n"; exit; };
|
||||
($format, $version, $dumptime, $flags, $sourceserial) =
|
||||
unpack("NNNNN", $input);
|
||||
if ($format != 2 || $version < 1) { print "UNSET\n"; exit; };
|
||||
if ($flags & 02) {
|
||||
print $sourceserial . "\n";
|
||||
} else {
|
||||
print "UNSET\n";
|
||||
}' < $1
|
||||
}
|
||||
|
||||
DIGOPTS="+tcp +noauth +noadd +nosea +nostat +noquest +nocomm +nocmd"
|
||||
|
||||
status=0
|
||||
@@ -62,6 +75,13 @@ israw ns1/example.db.compat || ret=1
|
||||
[ $ret -eq 0 ] || echo "I:failed"
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:checking source serial numbers"
|
||||
ret=0
|
||||
[ "`sourceserial ns1/example.db.raw`" = "UNSET" ] || ret=1
|
||||
[ "`sourceserial ns1/example.db.serial.raw`" = "3333" ] || ret=1
|
||||
[ $ret -eq 0 ] || echo "I:failed"
|
||||
status=`expr $status + $ret`
|
||||
|
||||
echo "I:waiting for transfers to complete"
|
||||
sleep 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user