mirror of
https://github.com/coredns/coredns.git
synced 2025-10-31 18:23:13 -04:00
Nil SOA causes panic if we compare it to incoming SOA (#291)
This commit is contained in:
committed by
Miek Gieben
parent
15297c8e63
commit
ec485a74d3
@@ -88,6 +88,9 @@ Transfer:
|
||||
if serial == -1 {
|
||||
return false, Err
|
||||
}
|
||||
if z.Apex.SOA == nil {
|
||||
return true, Err
|
||||
}
|
||||
return less(z.Apex.SOA.Serial, uint32(serial)), Err
|
||||
}
|
||||
|
||||
|
||||
@@ -84,9 +84,17 @@ func TestShouldTransfer(t *testing.T) {
|
||||
z.origin = testZone
|
||||
z.TransferFrom = []string{addrstr}
|
||||
|
||||
// when we have a nil SOA (initial state)
|
||||
should, err := z.shouldTransfer()
|
||||
if err != nil {
|
||||
t.Fatalf("unable to run shouldTransfer: %v", err)
|
||||
}
|
||||
if !should {
|
||||
t.Fatalf("shouldTransfer should return true for serial: %d", soa.serial)
|
||||
}
|
||||
// Serial smaller
|
||||
z.Apex.SOA = test.SOA(fmt.Sprintf("%s IN SOA bla. bla. %d 0 0 0 0 ", testZone, soa.serial-1))
|
||||
should, err := z.shouldTransfer()
|
||||
should, err = z.shouldTransfer()
|
||||
if err != nil {
|
||||
t.Fatalf("unable to run shouldTransfer: %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user