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