mirror of
https://github.com/miekg/dns.git
synced 2025-08-12 20:46:57 +02:00
Add the OPENPGPKEY RR.
This commit is contained in:
parent
7eb49f3e37
commit
4d3dac9c36
1
msg.go
1
msg.go
@ -136,6 +136,7 @@ var TypeToString = map[uint16]string{
|
|||||||
TypeNSEC: "NSEC",
|
TypeNSEC: "NSEC",
|
||||||
TypeNULL: "NULL",
|
TypeNULL: "NULL",
|
||||||
TypeOPT: "OPT",
|
TypeOPT: "OPT",
|
||||||
|
TypeOPENPGPKEY: "OPENPGPKEY",
|
||||||
TypePTR: "PTR",
|
TypePTR: "PTR",
|
||||||
TypeRKEY: "RKEY",
|
TypeRKEY: "RKEY",
|
||||||
TypeRP: "RP",
|
TypeRP: "RP",
|
||||||
|
@ -529,18 +529,22 @@ func TestParseFailure(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestZoneParsing(t *testing.T) {
|
func TestZoneParsing(t *testing.T) {
|
||||||
f, err := os.Open("test.db")
|
f, err := os.Open("parse_test.db")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
start := time.Now().UnixNano()
|
start := time.Now().UnixNano()
|
||||||
to := ParseZone(f, "", "test.db")
|
to := ParseZone(f, "", "parse_test.db")
|
||||||
var i int
|
var i int
|
||||||
for x := range to {
|
for x := range to {
|
||||||
x = x
|
|
||||||
//t.Logf("%s\n", x.RR)
|
|
||||||
i++
|
i++
|
||||||
|
if x.Error != nil {
|
||||||
|
t.Logf("%s\n", x.Error)
|
||||||
|
t.Fail()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
t.Logf("%s\n", x.RR)
|
||||||
}
|
}
|
||||||
delta := time.Now().UnixNano() - start
|
delta := time.Now().UnixNano() - start
|
||||||
t.Logf("%d RRs parsed in %.2f s (%.2f RR/s)", i, float32(delta)/1e9, float32(i)/(float32(delta)/1e9))
|
t.Logf("%d RRs parsed in %.2f s (%.2f RR/s)", i, float32(delta)/1e9, float32(i)/(float32(delta)/1e9))
|
||||||
|
47
types.go
47
types.go
@ -80,6 +80,7 @@ const (
|
|||||||
TypeRKEY uint16 = 57
|
TypeRKEY uint16 = 57
|
||||||
TypeTALINK uint16 = 58
|
TypeTALINK uint16 = 58
|
||||||
TypeCDS uint16 = 59
|
TypeCDS uint16 = 59
|
||||||
|
TypeOPENPGPKEY uint16 = 61
|
||||||
TypeSPF uint16 = 99
|
TypeSPF uint16 = 99
|
||||||
TypeUINFO uint16 = 100
|
TypeUINFO uint16 = 100
|
||||||
TypeUID uint16 = 101
|
TypeUID uint16 = 101
|
||||||
@ -1621,27 +1622,27 @@ var rr_mk = map[uint16]func() RR{
|
|||||||
TypeNSEC3: func() RR { return new(NSEC3) },
|
TypeNSEC3: func() RR { return new(NSEC3) },
|
||||||
TypeNSEC3PARAM: func() RR { return new(NSEC3PARAM) },
|
TypeNSEC3PARAM: func() RR { return new(NSEC3PARAM) },
|
||||||
TypeNSEC: func() RR { return new(NSEC) },
|
TypeNSEC: func() RR { return new(NSEC) },
|
||||||
// TypeOPENPGPKEY: func() RR { return new(OPENPGPKEY) },
|
TypeOPENPGPKEY: func() RR { return new(OPENPGPKEY) },
|
||||||
TypeOPT: func() RR { return new(OPT) },
|
TypeOPT: func() RR { return new(OPT) },
|
||||||
TypePTR: func() RR { return new(PTR) },
|
TypePTR: func() RR { return new(PTR) },
|
||||||
TypeRKEY: func() RR { return new(RKEY) },
|
TypeRKEY: func() RR { return new(RKEY) },
|
||||||
TypeRP: func() RR { return new(RP) },
|
TypeRP: func() RR { return new(RP) },
|
||||||
TypePX: func() RR { return new(PX) },
|
TypePX: func() RR { return new(PX) },
|
||||||
TypeRRSIG: func() RR { return new(RRSIG) },
|
TypeRRSIG: func() RR { return new(RRSIG) },
|
||||||
TypeRT: func() RR { return new(RT) },
|
TypeRT: func() RR { return new(RT) },
|
||||||
TypeSOA: func() RR { return new(SOA) },
|
TypeSOA: func() RR { return new(SOA) },
|
||||||
TypeSPF: func() RR { return new(SPF) },
|
TypeSPF: func() RR { return new(SPF) },
|
||||||
TypeSRV: func() RR { return new(SRV) },
|
TypeSRV: func() RR { return new(SRV) },
|
||||||
TypeSSHFP: func() RR { return new(SSHFP) },
|
TypeSSHFP: func() RR { return new(SSHFP) },
|
||||||
TypeTA: func() RR { return new(TA) },
|
TypeTA: func() RR { return new(TA) },
|
||||||
TypeTALINK: func() RR { return new(TALINK) },
|
TypeTALINK: func() RR { return new(TALINK) },
|
||||||
TypeTKEY: func() RR { return new(TKEY) },
|
TypeTKEY: func() RR { return new(TKEY) },
|
||||||
TypeTLSA: func() RR { return new(TLSA) },
|
TypeTLSA: func() RR { return new(TLSA) },
|
||||||
TypeTSIG: func() RR { return new(TSIG) },
|
TypeTSIG: func() RR { return new(TSIG) },
|
||||||
TypeTXT: func() RR { return new(TXT) },
|
TypeTXT: func() RR { return new(TXT) },
|
||||||
TypeUID: func() RR { return new(UID) },
|
TypeUID: func() RR { return new(UID) },
|
||||||
TypeUINFO: func() RR { return new(UINFO) },
|
TypeUINFO: func() RR { return new(UINFO) },
|
||||||
TypeURI: func() RR { return new(URI) },
|
TypeURI: func() RR { return new(URI) },
|
||||||
TypeWKS: func() RR { return new(WKS) },
|
TypeWKS: func() RR { return new(WKS) },
|
||||||
TypeX25: func() RR { return new(X25) },
|
TypeX25: func() RR { return new(X25) },
|
||||||
}
|
}
|
||||||
|
14
zscan_rr.go
14
zscan_rr.go
@ -180,6 +180,8 @@ func setRR(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
|
|||||||
return setUINFO(h, c, f)
|
return setUINFO(h, c, f)
|
||||||
case TypeCERT:
|
case TypeCERT:
|
||||||
return setCERT(h, c, f)
|
return setCERT(h, c, f)
|
||||||
|
case TypeOPENPGPKEY:
|
||||||
|
return setOPENPGPKEY(h, c, f)
|
||||||
default:
|
default:
|
||||||
// RFC3957 RR (Unknown RR handling)
|
// RFC3957 RR (Unknown RR handling)
|
||||||
return setRFC3597(h, c, f)
|
return setRFC3597(h, c, f)
|
||||||
@ -1127,6 +1129,18 @@ func setCERT(h RR_Header, c chan lex, f string) (RR, *ParseError, string) {
|
|||||||
return rr, nil, c1
|
return rr, nil, c1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func setOPENPGPKEY(h RR_Header, c chan lex, f string) (RR, *ParseError, string) {
|
||||||
|
rr := new(OPENPGPKEY)
|
||||||
|
rr.Hdr = h
|
||||||
|
|
||||||
|
s, e, c1 := endingToString(c, "bad OPENPGPKEY PublicKey", f)
|
||||||
|
if e != nil {
|
||||||
|
return nil, e, c1
|
||||||
|
}
|
||||||
|
rr.PublicKey = s
|
||||||
|
return rr, nil, c1
|
||||||
|
}
|
||||||
|
|
||||||
func setRRSIG(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
|
func setRRSIG(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
|
||||||
rr := new(RRSIG)
|
rr := new(RRSIG)
|
||||||
rr.Hdr = h
|
rr.Hdr = h
|
||||||
|
Loading…
Reference in New Issue
Block a user