mirror of
				https://github.com/miekg/dns.git
				synced 2025-11-04 04:31:01 +01:00 
			
		
		
		
	We were off by a value of 15. This fixes it. Hard to come up with a test as writing and reading it yourself will be consistent. Don't allows extended rcodes smaller than 16. And fix the tests as well.
		
			
				
	
	
		
			33 lines
		
	
	
		
			541 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			541 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package dns
 | 
						|
 | 
						|
import "testing"
 | 
						|
 | 
						|
func TestOPTTtl(t *testing.T) {
 | 
						|
	e := &OPT{}
 | 
						|
	e.Hdr.Name = "."
 | 
						|
	e.Hdr.Rrtype = TypeOPT
 | 
						|
 | 
						|
	if e.Do() {
 | 
						|
		t.Errorf("DO bit should be zero")
 | 
						|
	}
 | 
						|
 | 
						|
	e.SetDo()
 | 
						|
	if !e.Do() {
 | 
						|
		t.Errorf("DO bit should be non-zero")
 | 
						|
	}
 | 
						|
 | 
						|
	if e.Version() != 0 {
 | 
						|
		t.Errorf("version should be non-zero")
 | 
						|
	}
 | 
						|
 | 
						|
	e.SetVersion(42)
 | 
						|
	if e.Version() != 42 {
 | 
						|
		t.Errorf("set 42, expected %d, got %d", 42, e.Version())
 | 
						|
	}
 | 
						|
 | 
						|
	e.SetExtendedRcode(42)
 | 
						|
	if e.ExtendedRcode() != 42 {
 | 
						|
		t.Errorf("set 42, expected %d, got %d", 42-15, e.ExtendedRcode())
 | 
						|
	}
 | 
						|
}
 |