From 235e892dfce02dfad3409ba3328195b6f29e13e2 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Sun, 9 Dec 2012 19:23:25 +0100 Subject: [PATCH] Rename the RR types drop the RR_ prefix This is also done in the official Go library. It also make the code shorter. --- client_test.go | 2 +- defaults.go | 14 +- dns_test.go | 14 +- dnssec.go | 56 ++-- dnssec_test.go | 44 ++-- edns.go | 24 +- example_test.go | 4 +- keygen.go | 4 +- kscan.go | 4 +- msg.go | 2 +- nsecx.go | 14 +- parse_test.go | 22 +- server.go | 6 +- server_test.go | 8 +- tlsa.go | 4 +- tsig.go | 24 +- types.go | 660 ++++++++++++++++++++++++------------------------ update.go | 6 +- xfr.go | 4 +- zone.go | 42 +-- zone_test.go | 2 +- zscan_rr.go | 100 ++++---- 22 files changed, 530 insertions(+), 530 deletions(-) diff --git a/client_test.go b/client_test.go index d94b9f93..e96ff7c3 100644 --- a/client_test.go +++ b/client_test.go @@ -95,7 +95,7 @@ func TestUpdateLeaseTSIG(t *testing.T) { rrs[0] = rr m.Insert(rrs) - lease_rr := new(RR_OPT) + lease_rr := new(OPT) lease_rr.Hdr.Name = "." lease_rr.Hdr.Rrtype = TypeOPT e := new(EDNS0_UPDATE_LEASE) diff --git a/defaults.go b/defaults.go index 60e9c986..ed3168a3 100644 --- a/defaults.go +++ b/defaults.go @@ -85,7 +85,7 @@ func (dns *Msg) SetIxfr(z string, serial uint32) *Msg { dns.Id = Id() dns.Question = make([]Question, 1) dns.Ns = make([]RR, 1) - s := new(RR_SOA) + s := new(SOA) s.Hdr = RR_Header{z, TypeSOA, ClassINET, defaultTtl, 0} s.Serial = serial dns.Question[0] = Question{z, TypeIXFR, ClassINET} @@ -105,7 +105,7 @@ func (dns *Msg) SetAxfr(z string) *Msg { // This is only a skeleton TSIG RR that is added as the last RR in the // additional section. The Tsig is calculated when the message is being send. func (dns *Msg) SetTsig(z, algo string, fudge, timesigned int64) *Msg { - t := new(RR_TSIG) + t := new(TSIG) t.Hdr = RR_Header{z, TypeTSIG, ClassANY, 0, 0} t.Algorithm = algo t.Fudge = 300 @@ -118,7 +118,7 @@ func (dns *Msg) SetTsig(z, algo string, fudge, timesigned int64) *Msg { // SetEdns0 appends a EDNS0 OPT RR to the message. // TSIG should always the last RR in a message. func (dns *Msg) SetEdns0(udpsize uint16, do bool) *Msg { - e := new(RR_OPT) + e := new(OPT) e.Hdr.Name = "." e.Hdr.Rrtype = TypeOPT e.SetUDPSize(udpsize) @@ -131,10 +131,10 @@ func (dns *Msg) SetEdns0(udpsize uint16, do bool) *Msg { // IsTsig checks if the message has a TSIG record as the last record // in the additional section. It returns the TSIG record found or nil. -func (dns *Msg) IsTsig() *RR_TSIG { +func (dns *Msg) IsTsig() *TSIG { if len(dns.Extra) > 0 { if dns.Extra[len(dns.Extra)-1].Header().Rrtype == TypeTSIG { - return dns.Extra[len(dns.Extra)-1].(*RR_TSIG) + return dns.Extra[len(dns.Extra)-1].(*TSIG) } } return nil @@ -143,10 +143,10 @@ func (dns *Msg) IsTsig() *RR_TSIG { // IsEdns0 checks if the message has a EDNS0 (OPT) record, any EDNS0 // record in the additional section will do. It returns the OPT record // found or nil. -func (dns *Msg) IsEdns0() *RR_OPT { +func (dns *Msg) IsEdns0() *OPT { for _, r := range dns.Extra { if r.Header().Rrtype == TypeOPT { - return r.(*RR_OPT) + return r.(*OPT) } } return nil diff --git a/dns_test.go b/dns_test.go index a27bd2c5..28f9c564 100644 --- a/dns_test.go +++ b/dns_test.go @@ -11,8 +11,8 @@ import ( func TestPackUnpack(t *testing.T) { out := new(Msg) out.Answer = make([]RR, 1) - key := new(RR_DNSKEY) - key = &RR_DNSKEY{Flags: 257, Protocol: 3, Algorithm: RSASHA1} + key := new(DNSKEY) + key = &DNSKEY{Flags: 257, Protocol: 3, Algorithm: RSASHA1} key.Hdr = RR_Header{Name: "miek.nl.", Rrtype: TypeDNSKEY, Class: ClassINET, Ttl: 3600} key.PublicKey = "AwEAAaHIwpx3w4VHKi6i1LHnTaWeHCL154Jug0Rtc9ji5qwPXpBo6A5sRv7cSsPQKPIwxLpyCrbJ4mr2L0EPOdvP6z6YfljK2ZmTbogU9aSU2fiq/4wjxbdkLyoDVgtO+JsxNN4bjr4WcWhsmk1Hg93FV9ZpkWb0Tbad8DFqNDzr//kZ" @@ -28,8 +28,8 @@ func TestPackUnpack(t *testing.T) { t.Fail() } - sig := new(RR_RRSIG) - sig = &RR_RRSIG{TypeCovered: TypeDNSKEY, Algorithm: RSASHA1, Labels: 2, + sig := new(RRSIG) + sig = &RRSIG{TypeCovered: TypeDNSKEY, Algorithm: RSASHA1, Labels: 2, OrigTtl: 3600, Expiration: 4000, Inception: 4000, KeyTag: 34641, SignerName: "miek.nl.", Signature: "AwEAAaHIwpx3w4VHKi6i1LHnTaWeHCL154Jug0Rtc9ji5qwPXpBo6A5sRv7cSsPQKPIwxLpyCrbJ4mr2L0EPOdvP6z6YfljK2ZmTbogU9aSU2fiq/4wjxbdkLyoDVgtO+JsxNN4bjr4WcWhsmk1Hg93FV9ZpkWb0Tbad8DFqNDzr//kZ"} sig.Hdr = RR_Header{Name: "miek.nl.", Rrtype: TypeRRSIG, Class: ClassINET, Ttl: 3600} @@ -52,11 +52,11 @@ func TestPackUnpack2(t *testing.T) { m.Extra = make([]RR, 1) m.Answer = make([]RR, 1) dom := "miek.nl." - rr := new(RR_A) + rr := new(A) rr.Hdr = RR_Header{Name: dom, Rrtype: TypeA, Class: ClassINET, Ttl: 0} rr.A = net.IPv4(127, 0, 0, 1) - x := new(RR_TXT) + x := new(TXT) x.Hdr = RR_Header{Name: dom, Rrtype: TypeTXT, Class: ClassINET, Ttl: 0} x.Txt = []string{"heelalaollo"} @@ -119,7 +119,7 @@ func TestPack(t *testing.T) { } x := new(Msg) ns, _ := NewRR("pool.ntp.org. 390 IN NS a.ntpns.org") - ns.(*RR_NS).Ns = "a.ntpns.org" + ns.(*NS).Ns = "a.ntpns.org" x.Ns = append(m.Ns, ns) x.Ns = append(m.Ns, ns) x.Ns = append(m.Ns, ns) diff --git a/dnssec.go b/dnssec.go index cc80ab9f..c4537aef 100644 --- a/dnssec.go +++ b/dnssec.go @@ -99,7 +99,7 @@ type dnskeyWireFmt struct { } // KeyTag calculates the keytag (or key-id) of the DNSKEY. -func (k *RR_DNSKEY) KeyTag() uint16 { +func (k *DNSKEY) KeyTag() uint16 { if k == nil { return 0 } @@ -140,11 +140,11 @@ func (k *RR_DNSKEY) KeyTag() uint16 { } // ToDS converts a DNSKEY record to a DS record. -func (k *RR_DNSKEY) ToDS(h int) *RR_DS { +func (k *DNSKEY) ToDS(h int) *DS { if k == nil { return nil } - ds := new(RR_DS) + ds := new(DS) ds.Hdr.Name = k.Hdr.Name ds.Hdr.Class = k.Hdr.Class ds.Hdr.Rrtype = TypeDS @@ -205,7 +205,7 @@ func (k *RR_DNSKEY) ToDS(h int) *RR_DS { // The rest is copied from the RRset. Sign returns true when the signing went OK, // otherwise false. // There is no check if RRSet is a proper (RFC 2181) RRSet. -func (rr *RR_RRSIG) Sign(k PrivateKey, rrset []RR) error { +func (rr *RRSIG) Sign(k PrivateKey, rrset []RR) error { if k == nil { return ErrPrivKey } @@ -310,7 +310,7 @@ func (rr *RR_RRSIG) Sign(k PrivateKey, rrset []RR) error { // Verify validates an RRSet with the signature and key. This is only the // cryptographic test, the signature validity period must be checked separately. // This function copies the rdata of some RRs (to lowercase domain names) for the validation to work. -func (rr *RR_RRSIG) Verify(k *RR_DNSKEY, rrset []RR) error { +func (rr *RRSIG) Verify(k *DNSKEY, rrset []RR) error { // First the easy checks if len(rrset) == 0 { return ErrRRset @@ -425,7 +425,7 @@ func (rr *RR_RRSIG) Verify(k *RR_DNSKEY, rrset []RR) error { // ValidityPeriod uses RFC1982 serial arithmetic to calculate // if a signature period is valid. -func (rr *RR_RRSIG) ValidityPeriod() bool { +func (rr *RRSIG) ValidityPeriod() bool { utc := time.Now().UTC().Unix() modi := (int64(rr.Inception) - utc) / year68 mode := (int64(rr.Expiration) - utc) / year68 @@ -435,7 +435,7 @@ func (rr *RR_RRSIG) ValidityPeriod() bool { } // Return the signatures base64 encodedig sigdata as a byte slice. -func (s *RR_RRSIG) sigBuf() []byte { +func (s *RRSIG) sigBuf() []byte { sigbuf, err := packBase64([]byte(s.Signature)) if err != nil { return nil @@ -444,7 +444,7 @@ func (s *RR_RRSIG) sigBuf() []byte { } // setPublicKeyInPrivate sets the public key in the private key. -func (k *RR_DNSKEY) setPublicKeyInPrivate(p PrivateKey) bool { +func (k *DNSKEY) setPublicKeyInPrivate(p PrivateKey) bool { switch t := p.(type) { case *dsa.PrivateKey: x := k.publicKeyDSA() @@ -469,7 +469,7 @@ func (k *RR_DNSKEY) setPublicKeyInPrivate(p PrivateKey) bool { } // publicKeyRSA returns the RSA public key from a DNSKEY record. -func (k *RR_DNSKEY) publicKeyRSA() *rsa.PublicKey { +func (k *DNSKEY) publicKeyRSA() *rsa.PublicKey { keybuf, err := packBase64([]byte(k.PublicKey)) if err != nil { return nil @@ -507,7 +507,7 @@ func (k *RR_DNSKEY) publicKeyRSA() *rsa.PublicKey { } // publicKeyCurve returns the Curve public key from the DNSKEY record. -func (k *RR_DNSKEY) publicKeyCurve() *ecdsa.PublicKey { +func (k *DNSKEY) publicKeyCurve() *ecdsa.PublicKey { keybuf, err := packBase64([]byte(k.PublicKey)) if err != nil { return nil @@ -534,7 +534,7 @@ func (k *RR_DNSKEY) publicKeyCurve() *ecdsa.PublicKey { return pubkey } -func (k *RR_DNSKEY) publicKeyDSA() *dsa.PublicKey { +func (k *DNSKEY) publicKeyDSA() *dsa.PublicKey { keybuf, err := packBase64([]byte(k.PublicKey)) if err != nil { return nil @@ -557,7 +557,7 @@ func (k *RR_DNSKEY) publicKeyDSA() *dsa.PublicKey { } // Set the public key (the value E and N) -func (k *RR_DNSKEY) setPublicKeyRSA(_E int, _N *big.Int) bool { +func (k *DNSKEY) setPublicKeyRSA(_E int, _N *big.Int) bool { if _E == 0 || _N == nil { return false } @@ -568,7 +568,7 @@ func (k *RR_DNSKEY) setPublicKeyRSA(_E int, _N *big.Int) bool { } // Set the public key for Elliptic Curves -func (k *RR_DNSKEY) setPublicKeyCurve(_X, _Y *big.Int) bool { +func (k *DNSKEY) setPublicKeyCurve(_X, _Y *big.Int) bool { if _X == nil || _Y == nil { return false } @@ -579,7 +579,7 @@ func (k *RR_DNSKEY) setPublicKeyCurve(_X, _Y *big.Int) bool { } // Set the public key for DSA -func (k *RR_DNSKEY) setPublicKeyDSA(_Q, _P, _G, _Y *big.Int) bool { +func (k *DNSKEY) setPublicKeyDSA(_Q, _P, _G, _Y *big.Int) bool { if _Q == nil || _P == nil || _G == nil || _Y == nil { return false } @@ -637,7 +637,7 @@ func (p wireSlice) Less(i, j int) bool { func (p wireSlice) Swap(i, j int) { p[i], p[j] = p[j], p[i] } // Return the raw signature data. -func rawSignatureData(rrset []RR, s *RR_RRSIG) (buf []byte) { +func rawSignatureData(rrset []RR, s *RRSIG) (buf []byte) { wires := make(wireSlice, len(rrset)) for i, r := range rrset { r1 := r.Copy() @@ -655,33 +655,33 @@ func rawSignatureData(rrset []RR, s *RR_RRSIG) (buf []byte) { // HINFO, MINFO, MX, RP, AFSDB, RT, SIG, PX, NXT, NAPTR, KX, // SRV, DNAME, A6 switch x := r.(type) { - case *RR_NS: + case *NS: x.Ns = strings.ToLower(x.Ns) - case *RR_CNAME: + case *CNAME: x.Target = strings.ToLower(x.Target) - case *RR_SOA: + case *SOA: x.Ns = strings.ToLower(x.Ns) x.Mbox = strings.ToLower(x.Mbox) - case *RR_MB: + case *MB: x.Mb = strings.ToLower(x.Mb) - case *RR_MG: + case *MG: x.Mg = strings.ToLower(x.Mg) - case *RR_MR: + case *MR: x.Mr = strings.ToLower(x.Mr) - case *RR_PTR: + case *PTR: x.Ptr = strings.ToLower(x.Ptr) - case *RR_MINFO: + case *MINFO: x.Rmail = strings.ToLower(x.Rmail) x.Email = strings.ToLower(x.Email) - case *RR_MX: + case *MX: x.Mx = strings.ToLower(x.Mx) - case *RR_NAPTR: + case *NAPTR: x.Replacement = strings.ToLower(x.Replacement) - case *RR_KX: + case *KX: x.Exchanger = strings.ToLower(x.Exchanger) - case *RR_SRV: + case *SRV: x.Target = strings.ToLower(x.Target) - case *RR_DNAME: + case *DNAME: x.Target = strings.ToLower(x.Target) } // 6.2. Canonical RR Form. (5) - origTTL diff --git a/dnssec_test.go b/dnssec_test.go index 112d5150..5869ed51 100644 --- a/dnssec_test.go +++ b/dnssec_test.go @@ -6,8 +6,8 @@ import ( "testing" ) -func getKey() *RR_DNSKEY { - key := new(RR_DNSKEY) +func getKey() *DNSKEY { + key := new(DNSKEY) key.Hdr.Name = "miek.nl." key.Hdr.Class = ClassINET key.Hdr.Ttl = 14400 @@ -18,8 +18,8 @@ func getKey() *RR_DNSKEY { return key } -func getSoa() *RR_SOA { - soa := new(RR_SOA) +func getSoa() *SOA { + soa := new(SOA) soa.Hdr = RR_Header{"miek.nl.", TypeSOA, ClassINET, 14400, 0} soa.Ns = "open.nlnetlabs.nl." soa.Mbox = "miekg.atoom.net." @@ -32,7 +32,7 @@ func getSoa() *RR_SOA { } func TestGenerateEC(t *testing.T) { - key := new(RR_DNSKEY) + key := new(DNSKEY) key.Hdr.Rrtype = TypeDNSKEY key.Hdr.Name = "miek.nl." key.Hdr.Class = ClassINET @@ -46,7 +46,7 @@ func TestGenerateEC(t *testing.T) { } func TestGenerateDSA(t *testing.T) { - key := new(RR_DNSKEY) + key := new(DNSKEY) key.Hdr.Rrtype = TypeDNSKEY key.Hdr.Name = "miek.nl." key.Hdr.Class = ClassINET @@ -60,7 +60,7 @@ func TestGenerateDSA(t *testing.T) { } func TestGenerateRSA(t *testing.T) { - key := new(RR_DNSKEY) + key := new(DNSKEY) key.Hdr.Rrtype = TypeDNSKEY key.Hdr.Name = "miek.nl." key.Hdr.Class = ClassINET @@ -76,7 +76,7 @@ func TestGenerateRSA(t *testing.T) { func TestSecure(t *testing.T) { soa := getSoa() - sig := new(RR_RRSIG) + sig := new(RRSIG) sig.Hdr = RR_Header{"miek.nl.", TypeRRSIG, ClassINET, 14400, 0} sig.TypeCovered = TypeSOA sig.Algorithm = RSASHA256 @@ -88,7 +88,7 @@ func TestSecure(t *testing.T) { sig.SignerName = "miek.nl." sig.Signature = "oMCbslaAVIp/8kVtLSms3tDABpcPRUgHLrOR48OOplkYo+8TeEGWwkSwaz/MRo2fB4FxW0qj/hTlIjUGuACSd+b1wKdH5GvzRJc2pFmxtCbm55ygAh4EUL0F6U5cKtGJGSXxxg6UFCQ0doJCmiGFa78LolaUOXImJrk6AFrGa0M=" - key := new(RR_DNSKEY) + key := new(DNSKEY) key.Hdr.Name = "miek.nl." key.Hdr.Class = ClassINET key.Hdr.Ttl = 14400 @@ -105,7 +105,7 @@ func TestSecure(t *testing.T) { } func TestSignature(t *testing.T) { - sig := new(RR_RRSIG) + sig := new(RRSIG) sig.Hdr.Name = "miek.nl." sig.Hdr.Class = ClassINET sig.Hdr.Ttl = 3600 @@ -135,7 +135,7 @@ func TestSignature(t *testing.T) { func TestSignVerify(t *testing.T) { // The record we want to sign - soa := new(RR_SOA) + soa := new(SOA) soa.Hdr = RR_Header{"miek.nl.", TypeSOA, ClassINET, 14400, 0} soa.Ns = "open.nlnetlabs.nl." soa.Mbox = "miekg.atoom.net." @@ -145,7 +145,7 @@ func TestSignVerify(t *testing.T) { soa.Expire = 604800 soa.Minttl = 86400 - soa1 := new(RR_SOA) + soa1 := new(SOA) soa1.Hdr = RR_Header{"*.miek.nl.", TypeSOA, ClassINET, 14400, 0} soa1.Ns = "open.nlnetlabs.nl." soa1.Mbox = "miekg.atoom.net." @@ -156,7 +156,7 @@ func TestSignVerify(t *testing.T) { soa1.Minttl = 86400 // With this key - key := new(RR_DNSKEY) + key := new(DNSKEY) key.Hdr.Rrtype = TypeDNSKEY key.Hdr.Name = "miek.nl." key.Hdr.Class = ClassINET @@ -167,7 +167,7 @@ func TestSignVerify(t *testing.T) { privkey, _ := key.Generate(512) // Fill in the values of the Sig, before signing - sig := new(RR_RRSIG) + sig := new(RRSIG) sig.Hdr = RR_Header{"miek.nl.", TypeRRSIG, ClassINET, 14400, 0} sig.TypeCovered = soa.Hdr.Rrtype sig.Labels, _, _ = IsDomainName(soa.Hdr.Name) @@ -197,14 +197,14 @@ func TestDnskey(t *testing.T) { f, _ := os.Open("t/Kmiek.nl.+010+05240.key") pubkey, _ := ReadRR(f, "t/Kmiek.nl.+010+05240.key") f, _ = os.Open("t/Kmiek.nl.+010+05240.private") - privkey, _ := pubkey.(*RR_DNSKEY).ReadPrivateKey(f, "t/Kmiek.nl.+010+05240.private") + privkey, _ := pubkey.(*DNSKEY).ReadPrivateKey(f, "t/Kmiek.nl.+010+05240.private") // Okay, we assume this has gone OK - if pubkey.(*RR_DNSKEY).PublicKey != "AwEAAZuMCu2FdugHkTrXYgl5qixvcDw1aDDlvL46/xJKbHBAHY16fNUb2b65cwko2Js/aJxUYJbZk5dwCDZxYfrfbZVtDPQuc3o8QaChVxC7/JYz2AHc9qHvqQ1j4VrH71RWINlQo6VYjzN/BGpMhOZoZOEwzp1HfsOE3lNYcoWU1smL" { + if pubkey.(*DNSKEY).PublicKey != "AwEAAZuMCu2FdugHkTrXYgl5qixvcDw1aDDlvL46/xJKbHBAHY16fNUb2b65cwko2Js/aJxUYJbZk5dwCDZxYfrfbZVtDPQuc3o8QaChVxC7/JYz2AHc9qHvqQ1j4VrH71RWINlQo6VYjzN/BGpMhOZoZOEwzp1HfsOE3lNYcoWU1smL" { t.Log("Pubkey is not what we've read") t.Fail() } // Coefficient looks fishy... - t.Logf("%s", pubkey.(*RR_DNSKEY).PrivateKeyString(privkey)) + t.Logf("%s", pubkey.(*DNSKEY).PrivateKeyString(privkey)) } /* @@ -255,7 +255,7 @@ func TestDnskey(t *testing.T) { */ func TestTag(t *testing.T) { - key := new(RR_DNSKEY) + key := new(DNSKEY) key.Hdr.Name = "miek.nl." key.Hdr.Rrtype = TypeDNSKEY key.Hdr.Class = ClassINET @@ -273,7 +273,7 @@ func TestTag(t *testing.T) { } func TestKeyRSA(t *testing.T) { - key := new(RR_DNSKEY) + key := new(DNSKEY) key.Hdr.Name = "miek.nl." key.Hdr.Rrtype = TypeDNSKEY key.Hdr.Class = ClassINET @@ -283,7 +283,7 @@ func TestKeyRSA(t *testing.T) { key.Algorithm = RSASHA256 priv, _ := key.Generate(2048) - soa := new(RR_SOA) + soa := new(SOA) soa.Hdr = RR_Header{"miek.nl.", TypeSOA, ClassINET, 14400, 0} soa.Ns = "open.nlnetlabs.nl." soa.Mbox = "miekg.atoom.net." @@ -293,7 +293,7 @@ func TestKeyRSA(t *testing.T) { soa.Expire = 604800 soa.Minttl = 86400 - sig := new(RR_RRSIG) + sig := new(RRSIG) sig.Hdr = RR_Header{"miek.nl.", TypeRRSIG, ClassINET, 14400, 0} sig.TypeCovered = TypeSOA sig.Algorithm = RSASHA256 @@ -316,7 +316,7 @@ func TestKeyRSA(t *testing.T) { } func TestKeyToDS(t *testing.T) { - key := new(RR_DNSKEY) + key := new(DNSKEY) key.Hdr.Name = "miek.nl." key.Hdr.Rrtype = TypeDNSKEY key.Hdr.Class = ClassINET diff --git a/edns.go b/edns.go index 8b48c762..d84b0c42 100644 --- a/edns.go +++ b/edns.go @@ -41,16 +41,16 @@ const ( _DO = 1 << 7 // dnssec ok ) -type RR_OPT struct { +type OPT struct { Hdr RR_Header Option []EDNS0 `dns:"opt"` } -func (rr *RR_OPT) Header() *RR_Header { +func (rr *OPT) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_OPT) String() string { +func (rr *OPT) String() string { s := "\n;; OPT PSEUDOSECTION:\n; EDNS: version " + strconv.Itoa(int(rr.Version())) + "; " if rr.Do() { s += "flags: do; " @@ -80,7 +80,7 @@ func (rr *RR_OPT) String() string { return s } -func (rr *RR_OPT) Len() int { +func (rr *OPT) Len() int { l := rr.Hdr.Len() for i := 0; i < len(rr.Option); i++ { lo, _ := rr.Option[i].pack() @@ -89,37 +89,37 @@ func (rr *RR_OPT) Len() int { return l } -func (rr *RR_OPT) Copy() RR { - return &RR_OPT{*rr.Hdr.CopyHeader(), rr.Option} +func (rr *OPT) Copy() RR { + return &OPT{*rr.Hdr.CopyHeader(), rr.Option} } // Version returns the EDNS version used. Only zero is defined. -func (rr *RR_OPT) Version() uint8 { +func (rr *OPT) Version() uint8 { return uint8(rr.Hdr.Ttl & 0x00FF00FFFF) } // SetVersion sets the version of EDNS. This is usually zero. -func (rr *RR_OPT) SetVersion(v uint8) { +func (rr *OPT) SetVersion(v uint8) { rr.Hdr.Ttl = rr.Hdr.Ttl&0xFF00FFFF | uint32(v) } // UDPSize returns the UDP buffer size. -func (rr *RR_OPT) UDPSize() uint16 { +func (rr *OPT) UDPSize() uint16 { return rr.Hdr.Class } // SetUDPSize sets the UDP buffer size. -func (rr *RR_OPT) SetUDPSize(size uint16) { +func (rr *OPT) SetUDPSize(size uint16) { rr.Hdr.Class = size } // Do returns the value of the DO (DNSSEC OK) bit. -func (rr *RR_OPT) Do() bool { +func (rr *OPT) Do() bool { return byte(rr.Hdr.Ttl>>8)&_DO == _DO } // SetDo sets the DO (DNSSEC OK) bit. -func (rr *RR_OPT) SetDo() { +func (rr *OPT) SetDo() { b1 := byte(rr.Hdr.Ttl >> 24) b2 := byte(rr.Hdr.Ttl >> 16) b3 := byte(rr.Hdr.Ttl >> 8) diff --git a/example_test.go b/example_test.go index cb89d3d2..6fce8a5a 100644 --- a/example_test.go +++ b/example_test.go @@ -19,7 +19,7 @@ func ExampleRR_MX() { return } for _, a := range r.Answer { - if mx, ok := a.(*RR_MX); ok { + if mx, ok := a.(*MX); ok { fmt.Printf("%s\n", mx.String()) } } @@ -44,7 +44,7 @@ func ExampleToDs(zone string) { return } for _, k := range r.Answer { - if key, ok := k.(*RR_DNSKEY); ok { + if key, ok := k.(*DNSKEY); ok { for _, alg := range []int{SHA1, SHA256, SHA384} { fmt.Printf("%s; %d\n", key.ToDS(alg).String(), key.Flags) } diff --git a/keygen.go b/keygen.go index 203c3f29..47e8f07b 100644 --- a/keygen.go +++ b/keygen.go @@ -22,7 +22,7 @@ type PrivateKey interface{} // what kind of DNSKEY will be generated. // The ECDSA algorithms imply a fixed keysize, in that case // bits should be set to the size of the algorithm. -func (r *RR_DNSKEY) Generate(bits int) (PrivateKey, error) { +func (r *DNSKEY) Generate(bits int) (PrivateKey, error) { switch r.Algorithm { case DSA, DSANSEC3SHA1: if bits != 1024 { @@ -90,7 +90,7 @@ func (r *RR_DNSKEY) Generate(bits int) (PrivateKey, error) { // PrivateKeyString converts a PrivateKey to a string. This // string has the same format as the private-key-file of BIND9 (Private-key-format: v1.3). // It needs some info from the key (hashing, keytag), so its a method of the RR_DNSKEY. -func (r *RR_DNSKEY) PrivateKeyString(p PrivateKey) (s string) { +func (r *DNSKEY) PrivateKeyString(p PrivateKey) (s string) { switch t := p.(type) { case *rsa.PrivateKey: algorithm := strconv.Itoa(int(r.Algorithm)) + " (" + AlgorithmToString[r.Algorithm] + ")" diff --git a/kscan.go b/kscan.go index c2447e36..446e8811 100644 --- a/kscan.go +++ b/kscan.go @@ -9,7 +9,7 @@ import ( "strings" ) -func (k *RR_DNSKEY) NewPrivateKey(s string) (PrivateKey, error) { +func (k *DNSKEY) NewPrivateKey(s string) (PrivateKey, error) { if s[len(s)-1] != '\n' { // We need a closing newline return k.ReadPrivateKey(strings.NewReader(s+"\n"), "") } @@ -20,7 +20,7 @@ func (k *RR_DNSKEY) NewPrivateKey(s string) (PrivateKey, error) { // only used in error reporting. // The public key must be // known, because some cryptographics algorithms embed the public inside the privatekey. -func (k *RR_DNSKEY) ReadPrivateKey(q io.Reader, file string) (PrivateKey, error) { +func (k *DNSKEY) ReadPrivateKey(q io.Reader, file string) (PrivateKey, error) { m, e := parseKey(q, file) if m == nil { return nil, e diff --git a/msg.go b/msg.go index e4a70882..aed4ae21 100644 --- a/msg.go +++ b/msg.go @@ -1094,7 +1094,7 @@ func UnpackRR(msg []byte, off int) (rr RR, off1 int, err error) { // make an rr of that type and re-unpack. mk, known := rr_mk[h.Rrtype] if !known { - rr = new(RR_RFC3597) + rr = new(RFC3597) } else { rr = mk() } diff --git a/nsecx.go b/nsecx.go index 301ef1aa..5311afaf 100644 --- a/nsecx.go +++ b/nsecx.go @@ -56,22 +56,22 @@ func HashName(label string, ha uint8, iter uint16, salt string) string { } // Implement the HashNames method of Denialer -func (rr *RR_NSEC3) HashNames(domain string) { +func (rr *NSEC3) HashNames(domain string) { rr.Header().Name = strings.ToLower(HashName(rr.Header().Name, rr.Hash, rr.Iterations, rr.Salt)) + "." + domain rr.NextDomain = HashName(rr.NextDomain, rr.Hash, rr.Iterations, rr.Salt) } // Implement the Match method of Denialer -func (rr *RR_NSEC3) Match(domain string) bool { +func (rr *NSEC3) Match(domain string) bool { return strings.ToUpper(SplitLabels(rr.Header().Name)[0]) == strings.ToUpper(HashName(domain, rr.Hash, rr.Iterations, rr.Salt)) } // Implement the Match method of Denialer -func (rr *RR_NSEC) Match(domain string) bool { +func (rr *NSEC) Match(domain string) bool { return strings.ToUpper(rr.Header().Name) == strings.ToUpper(domain) } -func (rr *RR_NSEC3) MatchType(rrtype uint16) bool { +func (rr *NSEC3) MatchType(rrtype uint16) bool { for _, t := range rr.TypeBitMap { if t == rrtype { return true @@ -83,7 +83,7 @@ func (rr *RR_NSEC3) MatchType(rrtype uint16) bool { return false } -func (rr *RR_NSEC) MatchType(rrtype uint16) bool { +func (rr *NSEC) MatchType(rrtype uint16) bool { for _, t := range rr.TypeBitMap { if t == rrtype { return true @@ -98,7 +98,7 @@ func (rr *RR_NSEC) MatchType(rrtype uint16) bool { // Cover checks if domain is covered by the NSEC3 record. Domain must be given in plain text (i.e. not hashed) // TODO(mg): this doesn't loop around // TODO(mg): make a CoverHashed variant? -func (rr *RR_NSEC3) Cover(domain string) bool { +func (rr *NSEC3) Cover(domain string) bool { hashdom := strings.ToUpper(HashName(domain, rr.Hash, rr.Iterations, rr.Salt)) nextdom := strings.ToUpper(rr.NextDomain) owner := strings.ToUpper(SplitLabels(rr.Header().Name)[0]) // The hashed part @@ -116,6 +116,6 @@ func (rr *RR_NSEC3) Cover(domain string) bool { } // Cover checks if domain is covered by the NSEC record. Domain must be given in plain text. -func (rr *RR_NSEC) Cover(domain string) bool { +func (rr *NSEC) Cover(domain string) bool { return false } diff --git a/parse_test.go b/parse_test.go index db39a79e..deb4dffe 100644 --- a/parse_test.go +++ b/parse_test.go @@ -29,7 +29,7 @@ Publish: 20110302104537 Activate: 20110302104537` xk, _ := NewRR(pub) - k := xk.(*RR_DNSKEY) + k := xk.(*DNSKEY) p, err := k.NewPrivateKey(priv) if err != nil { t.Logf("%v\n", err) @@ -51,7 +51,7 @@ Activate: 20110302104537` t.Fail() } - soa := new(RR_SOA) + soa := new(SOA) soa.Hdr = RR_Header{"miek.nl.", TypeSOA, ClassINET, 14400, 0} soa.Ns = "open.nlnetlabs.nl." soa.Mbox = "miekg.atoom.net." @@ -61,7 +61,7 @@ Activate: 20110302104537` soa.Expire = 604800 soa.Minttl = 86400 - sig := new(RR_RRSIG) + sig := new(RRSIG) sig.Hdr = RR_Header{"miek.nl.", TypeRRSIG, ClassINET, 14400, 0} sig.Expiration = 1296534305 // date -u '+%s' -d"2011-02-01 04:25:05" sig.Inception = 1293942305 // date -u '+%s' -d"2011-01-02 04:25:05" @@ -90,11 +90,11 @@ PrivateKey: WURgWHCcYIYUPWgeLmiPY2DJJk02vgrmTfitxgqcL4vwW7BOrbawVmVe0d9V94SR` if err != nil { t.Fatal(err.Error()) } - privkey, err := eckey.(*RR_DNSKEY).NewPrivateKey(priv) + privkey, err := eckey.(*DNSKEY).NewPrivateKey(priv) if err != nil { t.Fatal(err.Error()) } - ds := eckey.(*RR_DNSKEY).ToDS(SHA384) + ds := eckey.(*DNSKEY).ToDS(SHA384) if ds.KeyTag != 10771 { t.Fatal("Wrong keytag on DS") } @@ -102,18 +102,18 @@ PrivateKey: WURgWHCcYIYUPWgeLmiPY2DJJk02vgrmTfitxgqcL4vwW7BOrbawVmVe0d9V94SR` t.Fatal("Wrong DS Digest") } a, _ := NewRR("www.example.net. 3600 IN A 192.0.2.1") - sig := new(RR_RRSIG) + sig := new(RRSIG) sig.Hdr = RR_Header{"example.net.", TypeRRSIG, ClassINET, 14400, 0} sig.Expiration, _ = StringToTime("20100909102025") sig.Inception, _ = StringToTime("20100812102025") - sig.KeyTag = eckey.(*RR_DNSKEY).KeyTag() - sig.SignerName = eckey.(*RR_DNSKEY).Hdr.Name - sig.Algorithm = eckey.(*RR_DNSKEY).Algorithm + sig.KeyTag = eckey.(*DNSKEY).KeyTag() + sig.SignerName = eckey.(*DNSKEY).Hdr.Name + sig.Algorithm = eckey.(*DNSKEY).Algorithm sig.Sign(privkey, []RR{a}) t.Logf("%s", sig.String()) - if e := sig.Verify(eckey.(*RR_DNSKEY), []RR{a}); e != nil { + if e := sig.Verify(eckey.(*DNSKEY), []RR{a}); e != nil { t.Logf("Failure to validate: %s", e.Error()) t.Fail() } @@ -622,7 +622,7 @@ func TestSRVPacking(t *testing.T) { port = tmp } - rr := &RR_SRV{ + rr := &SRV{ Hdr: RR_Header{Name: "somename.", Rrtype: TypeSRV, Class: ClassINET, diff --git a/server.go b/server.go index 329fb035..993498e4 100644 --- a/server.go +++ b/server.go @@ -116,7 +116,7 @@ func HandleAuthors(w ResponseWriter, r *Msg) { m.SetReply(r) for _, author := range Authors { h := RR_Header{r.Question[0].Name, TypeTXT, ClassCHAOS, 0, 0} - m.Answer = append(m.Answer, &RR_TXT{h, []string{author}}) + m.Answer = append(m.Answer, &TXT{h, []string{author}}) } w.WriteMsg(m) } @@ -147,7 +147,7 @@ func HandleVersion(w ResponseWriter, r *Msg) { m := new(Msg) m.SetReply(r) h := RR_Header{r.Question[0].Name, TypeTXT, ClassCHAOS, 0, 0} - m.Answer = append(m.Answer, &RR_TXT{h, []string{Version}}) + m.Answer = append(m.Answer, &TXT{h, []string{Version}}) w.WriteMsg(m) } @@ -388,7 +388,7 @@ func serve(a net.Addr, h Handler, m []byte, u *net.UDPConn, t *net.TCPConn, tsig } w.tsigStatus = TsigVerify(m, tsigSecret[secret], "", false) w.tsigTimersOnly = false - w.tsigRequestMAC = req.Extra[len(req.Extra)-1].(*RR_TSIG).MAC + w.tsigRequestMAC = req.Extra[len(req.Extra)-1].(*TSIG).MAC } } h.ServeDNS(w, req) // this does the writing back to the client diff --git a/server_test.go b/server_test.go index 67424b38..0932567d 100644 --- a/server_test.go +++ b/server_test.go @@ -10,7 +10,7 @@ func HelloServer(w ResponseWriter, req *Msg) { m.SetReply(req) m.Extra = make([]RR, 1) - m.Extra[0] = &RR_TXT{Hdr: RR_Header{Name: m.Question[0].Name, Rrtype: TypeTXT, Class: ClassINET, Ttl: 0}, Txt: []string{"Hello world"}} + m.Extra[0] = &TXT{Hdr: RR_Header{Name: m.Question[0].Name, Rrtype: TypeTXT, Class: ClassINET, Ttl: 0}, Txt: []string{"Hello world"}} w.WriteMsg(m) } @@ -19,7 +19,7 @@ func AnotherHelloServer(w ResponseWriter, req *Msg) { m.SetReply(req) m.Extra = make([]RR, 1) - m.Extra[0] = &RR_TXT{Hdr: RR_Header{Name: m.Question[0].Name, Rrtype: TypeTXT, Class: ClassINET, Ttl: 0}, Txt: []string{"Hello example"}} + m.Extra[0] = &TXT{Hdr: RR_Header{Name: m.Question[0].Name, Rrtype: TypeTXT, Class: ClassINET, Ttl: 0}, Txt: []string{"Hello example"}} w.WriteMsg(m) } @@ -39,14 +39,14 @@ func TestServing(t *testing.T) { m.SetQuestion("miek.nl.", TypeTXT) r, _, _ := c.Exchange(m, "127.0.0.1:8053") - txt := r.Extra[0].(*RR_TXT).Txt[0] + txt := r.Extra[0].(*TXT).Txt[0] if txt != "Hello world" { t.Log("Unexpected result for miek.nl", txt, "!= Hello world") t.Fail() } m.SetQuestion("example.com.", TypeTXT) r, _, _ = c.Exchange(m, "127.0.0.1:8053") - txt = r.Extra[0].(*RR_TXT).Txt[0] + txt = r.Extra[0].(*TXT).Txt[0] if txt != "Hello example" { t.Log("Unexpected result for example.com", txt, "!= Hello example") t.Fail() diff --git a/tlsa.go b/tlsa.go index 229209ed..35e4c6fd 100644 --- a/tlsa.go +++ b/tlsa.go @@ -43,7 +43,7 @@ func CertificateToDANE(selector, matchingType uint8, cert *x509.Certificate) str } // Sign creates a TLSA record from an SSL certificate. -func (r *RR_TLSA) Sign(usage, selector, matchingType int, cert *x509.Certificate) error { +func (r *TLSA) Sign(usage, selector, matchingType int, cert *x509.Certificate) error { r.Hdr.Rrtype = TypeTLSA r.Usage = uint8(usage) r.Selector = uint8(selector) @@ -55,7 +55,7 @@ func (r *RR_TLSA) Sign(usage, selector, matchingType int, cert *x509.Certificate // Verify verifies a TLSA record against an SSL certificate. If it is OK // a nil error is returned. -func (r *RR_TLSA) Verify(cert *x509.Certificate) error { +func (r *TLSA) Verify(cert *x509.Certificate) error { if r.Certificate == CertificateToDANE(r.Selector, r.MatchingType, cert) { return nil } diff --git a/tsig.go b/tsig.go index f05bc88e..73c10dd5 100644 --- a/tsig.go +++ b/tsig.go @@ -73,7 +73,7 @@ const ( HmacSHA256 = "hmac-sha256." ) -type RR_TSIG struct { +type TSIG struct { Hdr RR_Header Algorithm string `dns:"domain-name"` TimeSigned uint64 `dns:"uint48"` @@ -86,13 +86,13 @@ type RR_TSIG struct { OtherData string `dns:"size-hex"` } -func (rr *RR_TSIG) Header() *RR_Header { +func (rr *TSIG) Header() *RR_Header { return &rr.Hdr } // TSIG has no official presentation format, but this will suffice. -func (rr *RR_TSIG) String() string { +func (rr *TSIG) String() string { s := "\n;; TSIG PSEUDOSECTION:\n" s += rr.Hdr.String() + " " + rr.Algorithm + @@ -107,13 +107,13 @@ func (rr *RR_TSIG) String() string { return s } -func (rr *RR_TSIG) Len() int { +func (rr *TSIG) Len() int { return rr.Hdr.Len() + len(rr.Algorithm) + 1 + 6 + 4 + len(rr.MAC)/2 + 1 + 6 + len(rr.OtherData)/2 + 1 } -func (rr *RR_TSIG) Copy() RR { - return &RR_TSIG{*rr.Hdr.CopyHeader(), rr.Algorithm, rr.TimeSigned, rr.Fudge, rr.MACSize, rr.MAC, rr.OrigId, rr.Error, rr.OtherLen, rr.OtherData} +func (rr *TSIG) Copy() RR { + return &TSIG{*rr.Hdr.CopyHeader(), rr.Algorithm, rr.TimeSigned, rr.Fudge, rr.MACSize, rr.MAC, rr.OrigId, rr.Error, rr.OtherLen, rr.OtherData} } // The following values must be put in wireformat, so that the MAC can be calculated. @@ -164,7 +164,7 @@ func TsigGenerate(m *Msg, secret, requestMAC string, timersOnly bool) ([]byte, s return nil, "", err } - rr := m.Extra[len(m.Extra)-1].(*RR_TSIG) + rr := m.Extra[len(m.Extra)-1].(*TSIG) m.Extra = m.Extra[0 : len(m.Extra)-1] // kill the TSIG from the msg mbuf, err := m.Pack() if err != nil { @@ -172,7 +172,7 @@ func TsigGenerate(m *Msg, secret, requestMAC string, timersOnly bool) ([]byte, s } buf := tsigBuffer(mbuf, rr, requestMAC, timersOnly) - t := new(RR_TSIG) + t := new(TSIG) var h hash.Hash switch rr.Algorithm { case HmacMD5: @@ -245,7 +245,7 @@ func TsigVerify(msg []byte, secret, requestMAC string, timersOnly bool) error { } // Create a wiredata buffer for the MAC calculation. -func tsigBuffer(msgbuf []byte, rr *RR_TSIG, requestMAC string, timersOnly bool) []byte { +func tsigBuffer(msgbuf []byte, rr *TSIG, requestMAC string, timersOnly bool) []byte { var buf []byte if rr.TimeSigned == 0 { rr.TimeSigned = uint64(time.Now().Unix()) @@ -295,13 +295,13 @@ func tsigBuffer(msgbuf []byte, rr *RR_TSIG, requestMAC string, timersOnly bool) } // Strip the TSIG from the raw message -func stripTsig(msg []byte) ([]byte, *RR_TSIG, error) { +func stripTsig(msg []byte) ([]byte, *TSIG, error) { // Copied from msg.go's Unpack() // Header. var dh Header var err error dns := new(Msg) - rr := new(RR_TSIG) + rr := new(TSIG) off := 0 tsigoff := 0 if off, err = UnpackStruct(&dh, msg, off); err != nil { @@ -346,7 +346,7 @@ func stripTsig(msg []byte) ([]byte, *RR_TSIG, error) { return nil, nil, err } if dns.Extra[i].Header().Rrtype == TypeTSIG { - rr = dns.Extra[i].(*RR_TSIG) + rr = dns.Extra[i].(*TSIG) // Adjust Arcount. arcount, _ := unpackUint16(msg, 10) msg[10], msg[11] = packUint16(arcount - 1) diff --git a/types.go b/types.go index 0358a0ad..790dd49b 100644 --- a/types.go +++ b/types.go @@ -178,280 +178,280 @@ func (q *Question) Len() int { return l + 4 } -type RR_ANY struct { +type ANY struct { Hdr RR_Header // Does not have any rdata } -func (rr *RR_ANY) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_ANY) Copy() RR { return &RR_ANY{*rr.Hdr.CopyHeader()} } +func (rr *ANY) Header() *RR_Header { return &rr.Hdr } +func (rr *ANY) Copy() RR { return &ANY{*rr.Hdr.CopyHeader()} } -func (rr *RR_ANY) String() string { +func (rr *ANY) String() string { return rr.Hdr.String() } -func (rr *RR_ANY) Len() int { +func (rr *ANY) Len() int { return rr.Hdr.Len() } -type RR_CNAME struct { +type CNAME struct { Hdr RR_Header Target string `dns:"cdomain-name"` } -func (rr *RR_CNAME) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_CNAME) Copy() RR { return &RR_CNAME{*rr.Hdr.CopyHeader(), rr.Target} } +func (rr *CNAME) Header() *RR_Header { return &rr.Hdr } +func (rr *CNAME) Copy() RR { return &CNAME{*rr.Hdr.CopyHeader(), rr.Target} } -func (rr *RR_CNAME) String() string { +func (rr *CNAME) String() string { return rr.Hdr.String() + rr.Target } -func (rr *RR_CNAME) Len() int { +func (rr *CNAME) Len() int { l := len(rr.Target) + 1 return rr.Hdr.Len() + l } -type RR_HINFO struct { +type HINFO struct { Hdr RR_Header Cpu string Os string } -func (rr *RR_HINFO) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_HINFO) Copy() RR { return &RR_HINFO{*rr.Hdr.CopyHeader(), rr.Cpu, rr.Os} } +func (rr *HINFO) Header() *RR_Header { return &rr.Hdr } +func (rr *HINFO) Copy() RR { return &HINFO{*rr.Hdr.CopyHeader(), rr.Cpu, rr.Os} } -func (rr *RR_HINFO) String() string { +func (rr *HINFO) String() string { return rr.Hdr.String() + rr.Cpu + " " + rr.Os } -func (rr *RR_HINFO) Len() int { +func (rr *HINFO) Len() int { return rr.Hdr.Len() + len(rr.Cpu) + len(rr.Os) } -type RR_MB struct { +type MB struct { Hdr RR_Header Mb string `dns:"cdomain-name"` } -func (rr *RR_MB) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_MB) Copy() RR { return &RR_MB{*rr.Hdr.CopyHeader(), rr.Mb} } +func (rr *MB) Header() *RR_Header { return &rr.Hdr } +func (rr *MB) Copy() RR { return &MB{*rr.Hdr.CopyHeader(), rr.Mb} } -func (rr *RR_MB) String() string { +func (rr *MB) String() string { return rr.Hdr.String() + rr.Mb } -func (rr *RR_MB) Len() int { +func (rr *MB) Len() int { l := len(rr.Mb) + 1 return rr.Hdr.Len() + l } -type RR_MG struct { +type MG struct { Hdr RR_Header Mg string `dns:"cdomain-name"` } -func (rr *RR_MG) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_MG) Copy() RR { return &RR_MG{*rr.Hdr.CopyHeader(), rr.Mg} } +func (rr *MG) Header() *RR_Header { return &rr.Hdr } +func (rr *MG) Copy() RR { return &MG{*rr.Hdr.CopyHeader(), rr.Mg} } -func (rr *RR_MG) String() string { +func (rr *MG) String() string { return rr.Hdr.String() + rr.Mg } -func (rr *RR_MG) Len() int { +func (rr *MG) Len() int { l := len(rr.Mg) + 1 return rr.Hdr.Len() + l } -type RR_MINFO struct { +type MINFO struct { Hdr RR_Header Rmail string `dns:"cdomain-name"` Email string `dns:"cdomain-name"` } -func (rr *RR_MINFO) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_MINFO) Copy() RR { return &RR_MINFO{*rr.Hdr.CopyHeader(), rr.Rmail, rr.Email} } +func (rr *MINFO) Header() *RR_Header { return &rr.Hdr } +func (rr *MINFO) Copy() RR { return &MINFO{*rr.Hdr.CopyHeader(), rr.Rmail, rr.Email} } -func (rr *RR_MINFO) String() string { +func (rr *MINFO) String() string { return rr.Hdr.String() + rr.Rmail + " " + rr.Email } -func (rr *RR_MINFO) Len() int { +func (rr *MINFO) Len() int { l := len(rr.Rmail) + 1 n := len(rr.Email) + 1 return rr.Hdr.Len() + l + n } -type RR_MR struct { +type MR struct { Hdr RR_Header Mr string `dns:"cdomain-name"` } -func (rr *RR_MR) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_MR) Copy() RR { return &RR_MR{*rr.Hdr.CopyHeader(), rr.Mr} } +func (rr *MR) Header() *RR_Header { return &rr.Hdr } +func (rr *MR) Copy() RR { return &MR{*rr.Hdr.CopyHeader(), rr.Mr} } -func (rr *RR_MR) String() string { +func (rr *MR) String() string { return rr.Hdr.String() + rr.Mr } -func (rr *RR_MR) Len() int { +func (rr *MR) Len() int { l := len(rr.Mr) + 1 return rr.Hdr.Len() + l } -type RR_MF struct { +type MF struct { Hdr RR_Header Mf string `dns:"cdomain-name"` } -func (rr *RR_MF) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_MF) Copy() RR { return &RR_MF{*rr.Hdr.CopyHeader(), rr.Mf} } +func (rr *MF) Header() *RR_Header { return &rr.Hdr } +func (rr *MF) Copy() RR { return &MF{*rr.Hdr.CopyHeader(), rr.Mf} } -func (rr *RR_MF) String() string { +func (rr *MF) String() string { return rr.Hdr.String() + " " + rr.Mf } -func (rr *RR_MF) Len() int { +func (rr *MF) Len() int { return rr.Hdr.Len() + len(rr.Mf) + 1 } -type RR_MD struct { +type MD struct { Hdr RR_Header Md string `dns:"cdomain-name"` } -func (rr *RR_MD) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_MD) Copy() RR { return &RR_MD{*rr.Hdr.CopyHeader(), rr.Md} } +func (rr *MD) Header() *RR_Header { return &rr.Hdr } +func (rr *MD) Copy() RR { return &MD{*rr.Hdr.CopyHeader(), rr.Md} } -func (rr *RR_MD) String() string { +func (rr *MD) String() string { return rr.Hdr.String() + " " + rr.Md } -func (rr *RR_MD) Len() int { +func (rr *MD) Len() int { return rr.Hdr.Len() + len(rr.Md) + 1 } -type RR_MX struct { +type MX struct { Hdr RR_Header Preference uint16 Mx string `dns:"cdomain-name"` } -func (rr *RR_MX) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_MX) Copy() RR { return &RR_MX{*rr.Hdr.CopyHeader(), rr.Preference, rr.Mx} } +func (rr *MX) Header() *RR_Header { return &rr.Hdr } +func (rr *MX) Copy() RR { return &MX{*rr.Hdr.CopyHeader(), rr.Preference, rr.Mx} } -func (rr *RR_MX) String() string { +func (rr *MX) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.Preference)) + " " + rr.Mx } -func (rr *RR_MX) Len() int { +func (rr *MX) Len() int { l := len(rr.Mx) + 1 return rr.Hdr.Len() + l + 2 } -type RR_AFSDB struct { +type AFSDB struct { Hdr RR_Header Subtype uint16 Hostname string `dns:"cdomain-name"` } -func (rr *RR_AFSDB) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_AFSDB) Copy() RR { return &RR_AFSDB{*rr.Hdr.CopyHeader(), rr.Subtype, rr.Hostname} } +func (rr *AFSDB) Header() *RR_Header { return &rr.Hdr } +func (rr *AFSDB) Copy() RR { return &AFSDB{*rr.Hdr.CopyHeader(), rr.Subtype, rr.Hostname} } -func (rr *RR_AFSDB) String() string { +func (rr *AFSDB) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.Subtype)) + " " + rr.Hostname } -func (rr *RR_AFSDB) Len() int { +func (rr *AFSDB) Len() int { l := len(rr.Hostname) + 1 return rr.Hdr.Len() + l + 2 } -type RR_X25 struct { +type X25 struct { Hdr RR_Header PSDNAddress string } -func (rr *RR_X25) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_X25) Copy() RR { return &RR_X25{*rr.Hdr.CopyHeader(), rr.PSDNAddress} } +func (rr *X25) Header() *RR_Header { return &rr.Hdr } +func (rr *X25) Copy() RR { return &X25{*rr.Hdr.CopyHeader(), rr.PSDNAddress} } -func (rr *RR_X25) String() string { +func (rr *X25) String() string { return rr.Hdr.String() + rr.PSDNAddress } -func (rr *RR_X25) Len() int { +func (rr *X25) Len() int { return rr.Hdr.Len() + len(rr.PSDNAddress) } -type RR_RT struct { +type RT struct { Hdr RR_Header Preference uint16 Host string `dns:"cdomain-name"` } -func (rr *RR_RT) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_RT) Copy() RR { return &RR_RT{*rr.Hdr.CopyHeader(), rr.Preference, rr.Host} } +func (rr *RT) Header() *RR_Header { return &rr.Hdr } +func (rr *RT) Copy() RR { return &RT{*rr.Hdr.CopyHeader(), rr.Preference, rr.Host} } -func (rr *RR_RT) String() string { +func (rr *RT) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.Preference)) + " " + rr.Host } -func (rr *RR_RT) Len() int { +func (rr *RT) Len() int { l := len(rr.Host) + 1 return rr.Hdr.Len() + l + 2 } -type RR_NS struct { +type NS struct { Hdr RR_Header Ns string `dns:"cdomain-name"` } -func (rr *RR_NS) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_NS) Copy() RR { return &RR_NS{*rr.Hdr.CopyHeader(), rr.Ns} } +func (rr *NS) Header() *RR_Header { return &rr.Hdr } +func (rr *NS) Copy() RR { return &NS{*rr.Hdr.CopyHeader(), rr.Ns} } -func (rr *RR_NS) String() string { +func (rr *NS) String() string { return rr.Hdr.String() + rr.Ns } -func (rr *RR_NS) Len() int { +func (rr *NS) Len() int { l := len(rr.Ns) + 1 return rr.Hdr.Len() + l } -type RR_PTR struct { +type PTR struct { Hdr RR_Header Ptr string `dns:"cdomain-name"` } -func (rr *RR_PTR) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_PTR) Copy() RR { return &RR_PTR{*rr.Hdr.CopyHeader(), rr.Ptr} } +func (rr *PTR) Header() *RR_Header { return &rr.Hdr } +func (rr *PTR) Copy() RR { return &PTR{*rr.Hdr.CopyHeader(), rr.Ptr} } -func (rr *RR_PTR) String() string { +func (rr *PTR) String() string { return rr.Hdr.String() + rr.Ptr } -func (rr *RR_PTR) Len() int { +func (rr *PTR) Len() int { l := len(rr.Ptr) + 1 return rr.Hdr.Len() + l } -type RR_RP struct { +type RP struct { Hdr RR_Header Mbox string `dns:"domain-name"` Txt string `dns:"domain-name"` } -func (rr *RR_RP) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_RP) Copy() RR { return &RR_RP{*rr.Hdr.CopyHeader(), rr.Mbox, rr.Txt} } +func (rr *RP) Header() *RR_Header { return &rr.Hdr } +func (rr *RP) Copy() RR { return &RP{*rr.Hdr.CopyHeader(), rr.Mbox, rr.Txt} } -func (rr *RR_RP) String() string { +func (rr *RP) String() string { return rr.Hdr.String() + rr.Mbox + " " + rr.Txt } -func (rr *RR_RP) Len() int { +func (rr *RP) Len() int { return rr.Hdr.Len() + len(rr.Mbox) + 1 + len(rr.Txt) + 1 } -type RR_SOA struct { +type SOA struct { Hdr RR_Header Ns string `dns:"cdomain-name"` Mbox string `dns:"cdomain-name"` @@ -462,12 +462,12 @@ type RR_SOA struct { Minttl uint32 } -func (rr *RR_SOA) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_SOA) Copy() RR { - return &RR_SOA{*rr.Hdr.CopyHeader(), rr.Ns, rr.Mbox, rr.Serial, rr.Refresh, rr.Retry, rr.Expire, rr.Minttl} +func (rr *SOA) Header() *RR_Header { return &rr.Hdr } +func (rr *SOA) Copy() RR { + return &SOA{*rr.Hdr.CopyHeader(), rr.Ns, rr.Mbox, rr.Serial, rr.Refresh, rr.Retry, rr.Expire, rr.Minttl} } -func (rr *RR_SOA) String() string { +func (rr *SOA) String() string { return rr.Hdr.String() + rr.Ns + " " + rr.Mbox + " " + strconv.FormatInt(int64(rr.Serial), 10) + " " + strconv.FormatInt(int64(rr.Refresh), 10) + @@ -476,21 +476,21 @@ func (rr *RR_SOA) String() string { " " + strconv.FormatInt(int64(rr.Minttl), 10) } -func (rr *RR_SOA) Len() int { +func (rr *SOA) Len() int { l := len(rr.Ns) + 1 n := len(rr.Mbox) + 1 return rr.Hdr.Len() + l + n + 20 } -type RR_TXT struct { +type TXT struct { Hdr RR_Header Txt []string `dns:"txt"` } -func (rr *RR_TXT) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_TXT) Copy() RR { return &RR_TXT{*rr.Hdr.CopyHeader(), rr.Txt} } +func (rr *TXT) Header() *RR_Header { return &rr.Hdr } +func (rr *TXT) Copy() RR { return &TXT{*rr.Hdr.CopyHeader(), rr.Txt} } -func (rr *RR_TXT) String() string { +func (rr *TXT) String() string { s := rr.Hdr.String() for i, s1 := range rr.Txt { if i > 0 { @@ -502,7 +502,7 @@ func (rr *RR_TXT) String() string { return s } -func (rr *RR_TXT) Len() int { +func (rr *TXT) Len() int { l := rr.Hdr.Len() for _, t := range rr.Txt { l += len(t) @@ -510,15 +510,15 @@ func (rr *RR_TXT) Len() int { return l } -type RR_SPF struct { +type SPF struct { Hdr RR_Header Txt []string `dns:"txt"` } -func (rr *RR_SPF) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_SPF) Copy() RR { return &RR_SPF{*rr.Hdr.CopyHeader(), rr.Txt} } +func (rr *SPF) Header() *RR_Header { return &rr.Hdr } +func (rr *SPF) Copy() RR { return &SPF{*rr.Hdr.CopyHeader(), rr.Txt} } -func (rr *RR_SPF) String() string { +func (rr *SPF) String() string { s := rr.Hdr.String() for i, s1 := range rr.Txt { if i > 0 { @@ -530,7 +530,7 @@ func (rr *RR_SPF) String() string { return s } -func (rr *RR_SPF) Len() int { +func (rr *SPF) Len() int { l := rr.Hdr.Len() for _, t := range rr.Txt { l += len(t) @@ -538,7 +538,7 @@ func (rr *RR_SPF) Len() int { return l } -type RR_SRV struct { +type SRV struct { Hdr RR_Header Priority uint16 Weight uint16 @@ -546,24 +546,24 @@ type RR_SRV struct { Target string `dns:"domain-name"` } -func (rr *RR_SRV) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_SRV) Copy() RR { - return &RR_SRV{*rr.Hdr.CopyHeader(), rr.Priority, rr.Weight, rr.Port, rr.Target} +func (rr *SRV) Header() *RR_Header { return &rr.Hdr } +func (rr *SRV) Copy() RR { + return &SRV{*rr.Hdr.CopyHeader(), rr.Priority, rr.Weight, rr.Port, rr.Target} } -func (rr *RR_SRV) String() string { +func (rr *SRV) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.Priority)) + " " + strconv.Itoa(int(rr.Weight)) + " " + strconv.Itoa(int(rr.Port)) + " " + rr.Target } -func (rr *RR_SRV) Len() int { +func (rr *SRV) Len() int { l := len(rr.Target) + 1 return rr.Hdr.Len() + l + 6 } -type RR_NAPTR struct { +type NAPTR struct { Hdr RR_Header Order uint16 Preference uint16 @@ -573,12 +573,12 @@ type RR_NAPTR struct { Replacement string `dns:"domain-name"` } -func (rr *RR_NAPTR) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_NAPTR) Copy() RR { - return &RR_NAPTR{*rr.Hdr.CopyHeader(), rr.Order, rr.Preference, rr.Flags, rr.Service, rr.Regexp, rr.Replacement} +func (rr *NAPTR) Header() *RR_Header { return &rr.Hdr } +func (rr *NAPTR) Copy() RR { + return &NAPTR{*rr.Hdr.CopyHeader(), rr.Order, rr.Preference, rr.Flags, rr.Service, rr.Regexp, rr.Replacement} } -func (rr *RR_NAPTR) String() string { +func (rr *NAPTR) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.Order)) + " " + strconv.Itoa(int(rr.Preference)) + " " + @@ -588,13 +588,13 @@ func (rr *RR_NAPTR) String() string { rr.Replacement } -func (rr *RR_NAPTR) Len() int { +func (rr *NAPTR) Len() int { return rr.Hdr.Len() + 4 + len(rr.Flags) + len(rr.Service) + len(rr.Regexp) + len(rr.Replacement) + 1 } // See RFC 4398. -type RR_CERT struct { +type CERT struct { Hdr RR_Header Type uint16 KeyTag uint16 @@ -602,74 +602,74 @@ type RR_CERT struct { Certificate string `dns:"base64"` } -func (rr *RR_CERT) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_CERT) Copy() RR { - return &RR_CERT{*rr.Hdr.CopyHeader(), rr.Type, rr.KeyTag, rr.Algorithm, rr.Certificate} +func (rr *CERT) Header() *RR_Header { return &rr.Hdr } +func (rr *CERT) Copy() RR { + return &CERT{*rr.Hdr.CopyHeader(), rr.Type, rr.KeyTag, rr.Algorithm, rr.Certificate} } -func (rr *RR_CERT) String() string { +func (rr *CERT) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.Type)) + " " + strconv.Itoa(int(rr.KeyTag)) + " " + strconv.Itoa(int(rr.Algorithm)) + " " + rr.Certificate } -func (rr *RR_CERT) Len() int { +func (rr *CERT) Len() int { return rr.Hdr.Len() + 5 + base64.StdEncoding.DecodedLen(len(rr.Certificate)) } // See RFC 2672. -type RR_DNAME struct { +type DNAME struct { Hdr RR_Header Target string `dns:"domain-name"` } -func (rr *RR_DNAME) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_DNAME) Copy() RR { return &RR_DNAME{*rr.Hdr.CopyHeader(), rr.Target} } +func (rr *DNAME) Header() *RR_Header { return &rr.Hdr } +func (rr *DNAME) Copy() RR { return &DNAME{*rr.Hdr.CopyHeader(), rr.Target} } -func (rr *RR_DNAME) String() string { +func (rr *DNAME) String() string { return rr.Hdr.String() + rr.Target } -func (rr *RR_DNAME) Len() int { +func (rr *DNAME) Len() int { l := len(rr.Target) + 1 return rr.Hdr.Len() + l } -type RR_A struct { +type A struct { Hdr RR_Header A net.IP `dns:"a"` } -func (rr *RR_A) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_A) Copy() RR { return &RR_A{*rr.Hdr.CopyHeader(), rr.A} } +func (rr *A) Header() *RR_Header { return &rr.Hdr } +func (rr *A) Copy() RR { return &A{*rr.Hdr.CopyHeader(), rr.A} } -func (rr *RR_A) String() string { +func (rr *A) String() string { return rr.Hdr.String() + rr.A.String() } -func (rr *RR_A) Len() int { +func (rr *A) Len() int { return rr.Hdr.Len() + net.IPv4len } -type RR_AAAA struct { +type AAAA struct { Hdr RR_Header AAAA net.IP `dns:"aaaa"` } -func (rr *RR_AAAA) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_AAAA) Copy() RR { return &RR_AAAA{*rr.Hdr.CopyHeader(), rr.AAAA} } +func (rr *AAAA) Header() *RR_Header { return &rr.Hdr } +func (rr *AAAA) Copy() RR { return &AAAA{*rr.Hdr.CopyHeader(), rr.AAAA} } -func (rr *RR_AAAA) String() string { +func (rr *AAAA) String() string { return rr.Hdr.String() + rr.AAAA.String() } -func (rr *RR_AAAA) Len() int { +func (rr *AAAA) Len() int { return rr.Hdr.Len() + net.IPv6len } -type RR_LOC struct { +type LOC struct { Hdr RR_Header Version uint8 Size uint8 @@ -680,12 +680,12 @@ type RR_LOC struct { Altitude uint32 } -func (rr *RR_LOC) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_LOC) Copy() RR { - return &RR_LOC{*rr.Hdr.CopyHeader(), rr.Version, rr.Size, rr.HorizPre, rr.VertPre, rr.Latitude, rr.Longitude, rr.Altitude} +func (rr *LOC) Header() *RR_Header { return &rr.Hdr } +func (rr *LOC) Copy() RR { + return &LOC{*rr.Hdr.CopyHeader(), rr.Version, rr.Size, rr.HorizPre, rr.VertPre, rr.Latitude, rr.Longitude, rr.Altitude} } -func (rr *RR_LOC) String() string { +func (rr *LOC) String() string { s := rr.Hdr.String() // Copied from ldns // Latitude @@ -730,11 +730,11 @@ func (rr *RR_LOC) String() string { return s } -func (rr *RR_LOC) Len() int { +func (rr *LOC) Len() int { return rr.Hdr.Len() + 4 + 12 } -type RR_RRSIG struct { +type RRSIG struct { Hdr RR_Header TypeCovered uint16 Algorithm uint8 @@ -747,12 +747,12 @@ type RR_RRSIG struct { Signature string `dns:"base64"` } -func (rr *RR_RRSIG) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_RRSIG) Copy() RR { - return &RR_RRSIG{*rr.Hdr.CopyHeader(), rr.TypeCovered, rr.Algorithm, rr.Labels, rr.OrigTtl, rr.Expiration, rr.Inception, rr.KeyTag, rr.SignerName, rr.Signature} +func (rr *RRSIG) Header() *RR_Header { return &rr.Hdr } +func (rr *RRSIG) Copy() RR { + return &RRSIG{*rr.Hdr.CopyHeader(), rr.TypeCovered, rr.Algorithm, rr.Labels, rr.OrigTtl, rr.Expiration, rr.Inception, rr.KeyTag, rr.SignerName, rr.Signature} } -func (rr *RR_RRSIG) String() string { +func (rr *RRSIG) String() string { return rr.Hdr.String() + TypeToString[rr.TypeCovered] + " " + strconv.Itoa(int(rr.Algorithm)) + " " + strconv.Itoa(int(rr.Labels)) + @@ -764,21 +764,21 @@ func (rr *RR_RRSIG) String() string { " " + rr.Signature } -func (rr *RR_RRSIG) Len() int { +func (rr *RRSIG) Len() int { return rr.Hdr.Len() + len(rr.SignerName) + 1 + base64.StdEncoding.DecodedLen(len(rr.Signature)) + 18 } -type RR_NSEC struct { +type NSEC struct { Hdr RR_Header NextDomain string `dns:"domain-name"` TypeBitMap []uint16 `dns:"nsec"` } -func (rr *RR_NSEC) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_NSEC) Copy() RR { return &RR_NSEC{*rr.Hdr.CopyHeader(), rr.NextDomain, rr.TypeBitMap} } +func (rr *NSEC) Header() *RR_Header { return &rr.Hdr } +func (rr *NSEC) Copy() RR { return &NSEC{*rr.Hdr.CopyHeader(), rr.NextDomain, rr.TypeBitMap} } -func (rr *RR_NSEC) String() string { +func (rr *NSEC) String() string { s := rr.Hdr.String() + rr.NextDomain for i := 0; i < len(rr.TypeBitMap); i++ { if _, ok := TypeToString[rr.TypeBitMap[i]]; ok { @@ -790,13 +790,13 @@ func (rr *RR_NSEC) String() string { return s } -func (rr *RR_NSEC) Len() int { +func (rr *NSEC) Len() int { l := len(rr.NextDomain) + 1 return rr.Hdr.Len() + l + 32 + 1 // TODO: +32 is max type bitmap } -type RR_DS struct { +type DS struct { Hdr RR_Header KeyTag uint16 Algorithm uint8 @@ -804,23 +804,23 @@ type RR_DS struct { Digest string `dns:"hex"` } -func (rr *RR_DS) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_DS) Copy() RR { - return &RR_DS{*rr.Hdr.CopyHeader(), rr.KeyTag, rr.Algorithm, rr.DigestType, rr.Digest} +func (rr *DS) Header() *RR_Header { return &rr.Hdr } +func (rr *DS) Copy() RR { + return &DS{*rr.Hdr.CopyHeader(), rr.KeyTag, rr.Algorithm, rr.DigestType, rr.Digest} } -func (rr *RR_DS) String() string { +func (rr *DS) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.KeyTag)) + " " + strconv.Itoa(int(rr.Algorithm)) + " " + strconv.Itoa(int(rr.DigestType)) + " " + strings.ToUpper(rr.Digest) } -func (rr *RR_DS) Len() int { +func (rr *DS) Len() int { return rr.Hdr.Len() + 4 + len(rr.Digest)/2 } -type RR_CDS struct { +type CDS struct { Hdr RR_Header KeyTag uint16 Algorithm uint8 @@ -828,23 +828,23 @@ type RR_CDS struct { Digest string `dns:"hex"` } -func (rr *RR_CDS) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_CDS) Copy() RR { - return &RR_CDS{*rr.Hdr.CopyHeader(), rr.KeyTag, rr.Algorithm, rr.DigestType, rr.Digest} +func (rr *CDS) Header() *RR_Header { return &rr.Hdr } +func (rr *CDS) Copy() RR { + return &CDS{*rr.Hdr.CopyHeader(), rr.KeyTag, rr.Algorithm, rr.DigestType, rr.Digest} } -func (rr *RR_CDS) String() string { +func (rr *CDS) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.KeyTag)) + " " + strconv.Itoa(int(rr.Algorithm)) + " " + strconv.Itoa(int(rr.DigestType)) + " " + strings.ToUpper(rr.Digest) } -func (rr *RR_CDS) Len() int { +func (rr *CDS) Len() int { return rr.Hdr.Len() + 4 + len(rr.Digest)/2 } -type RR_DLV struct { +type DLV struct { Hdr RR_Header KeyTag uint16 Algorithm uint8 @@ -852,41 +852,41 @@ type RR_DLV struct { Digest string `dns:"hex"` } -func (rr *RR_DLV) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_DLV) Copy() RR { - return &RR_DLV{*rr.Hdr.CopyHeader(), rr.KeyTag, rr.Algorithm, rr.DigestType, rr.Digest} +func (rr *DLV) Header() *RR_Header { return &rr.Hdr } +func (rr *DLV) Copy() RR { + return &DLV{*rr.Hdr.CopyHeader(), rr.KeyTag, rr.Algorithm, rr.DigestType, rr.Digest} } -func (rr *RR_DLV) String() string { +func (rr *DLV) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.KeyTag)) + " " + strconv.Itoa(int(rr.Algorithm)) + " " + strconv.Itoa(int(rr.DigestType)) + " " + strings.ToUpper(rr.Digest) } -func (rr *RR_DLV) Len() int { +func (rr *DLV) Len() int { return rr.Hdr.Len() + 4 + len(rr.Digest)/2 } -type RR_KX struct { +type KX struct { Hdr RR_Header Preference uint16 Exchanger string `dns:"domain-name"` } -func (rr *RR_KX) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_KX) Copy() RR { return &RR_KX{*rr.Hdr.CopyHeader(), rr.Preference, rr.Exchanger} } +func (rr *KX) Header() *RR_Header { return &rr.Hdr } +func (rr *KX) Copy() RR { return &KX{*rr.Hdr.CopyHeader(), rr.Preference, rr.Exchanger} } -func (rr *RR_KX) String() string { +func (rr *KX) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.Preference)) + " " + rr.Exchanger } -func (rr *RR_KX) Len() int { +func (rr *KX) Len() int { return 0 } -type RR_TA struct { +type TA struct { Hdr RR_Header KeyTag uint16 Algorithm uint8 @@ -894,63 +894,63 @@ type RR_TA struct { Digest string `dns:"hex"` } -func (rr *RR_TA) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_TA) Copy() RR { - return &RR_TA{*rr.Hdr.CopyHeader(), rr.KeyTag, rr.Algorithm, rr.DigestType, rr.Digest} +func (rr *TA) Header() *RR_Header { return &rr.Hdr } +func (rr *TA) Copy() RR { + return &TA{*rr.Hdr.CopyHeader(), rr.KeyTag, rr.Algorithm, rr.DigestType, rr.Digest} } -func (rr *RR_TA) String() string { +func (rr *TA) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.KeyTag)) + " " + strconv.Itoa(int(rr.Algorithm)) + " " + strconv.Itoa(int(rr.DigestType)) + " " + strings.ToUpper(rr.Digest) } -func (rr *RR_TA) Len() int { +func (rr *TA) Len() int { return rr.Hdr.Len() + 4 + len(rr.Digest)/2 } -type RR_TALINK struct { +type TALINK struct { Hdr RR_Header PreviousName string `dns:"domain"` NextName string `dns:"domain"` } -func (rr *RR_TALINK) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_TALINK) Copy() RR { return &RR_TALINK{*rr.Hdr.CopyHeader(), rr.PreviousName, rr.NextName} } +func (rr *TALINK) Header() *RR_Header { return &rr.Hdr } +func (rr *TALINK) Copy() RR { return &TALINK{*rr.Hdr.CopyHeader(), rr.PreviousName, rr.NextName} } -func (rr *RR_TALINK) String() string { +func (rr *TALINK) String() string { return rr.Hdr.String() + " " + rr.PreviousName + " " + rr.NextName } -func (rr *RR_TALINK) Len() int { +func (rr *TALINK) Len() int { return rr.Hdr.Len() + len(rr.PreviousName) + len(rr.NextName) + 2 } -type RR_SSHFP struct { +type SSHFP struct { Hdr RR_Header Algorithm uint8 Type uint8 FingerPrint string `dns:"hex"` } -func (rr *RR_SSHFP) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_SSHFP) Copy() RR { - return &RR_SSHFP{*rr.Hdr.CopyHeader(), rr.Algorithm, rr.Type, rr.FingerPrint} +func (rr *SSHFP) Header() *RR_Header { return &rr.Hdr } +func (rr *SSHFP) Copy() RR { + return &SSHFP{*rr.Hdr.CopyHeader(), rr.Algorithm, rr.Type, rr.FingerPrint} } -func (rr *RR_SSHFP) String() string { +func (rr *SSHFP) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.Algorithm)) + " " + strconv.Itoa(int(rr.Type)) + " " + strings.ToUpper(rr.FingerPrint) } -func (rr *RR_SSHFP) Len() int { +func (rr *SSHFP) Len() int { return rr.Hdr.Len() + 2 + len(rr.FingerPrint)/2 } -type RR_IPSECKEY struct { +type IPSECKEY struct { Hdr RR_Header Precedence uint8 GatewayType uint8 @@ -959,12 +959,12 @@ type RR_IPSECKEY struct { PublicKey string `dns:"base64"` } -func (rr *RR_IPSECKEY) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_IPSECKEY) Copy() RR { - return &RR_IPSECKEY{*rr.Hdr.CopyHeader(), rr.Precedence, rr.GatewayType, rr.Algorithm, rr.Gateway, rr.PublicKey} +func (rr *IPSECKEY) Header() *RR_Header { return &rr.Hdr } +func (rr *IPSECKEY) Copy() RR { + return &IPSECKEY{*rr.Hdr.CopyHeader(), rr.Precedence, rr.GatewayType, rr.Algorithm, rr.Gateway, rr.PublicKey} } -func (rr *RR_IPSECKEY) String() string { +func (rr *IPSECKEY) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.Precedence)) + " " + strconv.Itoa(int(rr.GatewayType)) + " " + strconv.Itoa(int(rr.Algorithm)) + @@ -972,12 +972,12 @@ func (rr *RR_IPSECKEY) String() string { " " + rr.PublicKey } -func (rr *RR_IPSECKEY) Len() int { +func (rr *IPSECKEY) Len() int { return rr.Hdr.Len() + 3 + len(rr.Gateway) + 1 + base64.StdEncoding.DecodedLen(len(rr.PublicKey)) } -type RR_DNSKEY struct { +type DNSKEY struct { Hdr RR_Header Flags uint16 Protocol uint8 @@ -985,24 +985,24 @@ type RR_DNSKEY struct { PublicKey string `dns:"base64"` } -func (rr *RR_DNSKEY) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_DNSKEY) Copy() RR { - return &RR_DNSKEY{*rr.Hdr.CopyHeader(), rr.Flags, rr.Protocol, rr.Algorithm, rr.PublicKey} +func (rr *DNSKEY) Header() *RR_Header { return &rr.Hdr } +func (rr *DNSKEY) Copy() RR { + return &DNSKEY{*rr.Hdr.CopyHeader(), rr.Flags, rr.Protocol, rr.Algorithm, rr.PublicKey} } -func (rr *RR_DNSKEY) String() string { +func (rr *DNSKEY) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.Flags)) + " " + strconv.Itoa(int(rr.Protocol)) + " " + strconv.Itoa(int(rr.Algorithm)) + " " + rr.PublicKey } -func (rr *RR_DNSKEY) Len() int { +func (rr *DNSKEY) Len() int { return rr.Hdr.Len() + 4 + base64.StdEncoding.DecodedLen(len(rr.PublicKey)) } -type RR_RKEY struct { +type RKEY struct { Hdr RR_Header Flags uint16 Protocol uint8 @@ -1010,24 +1010,24 @@ type RR_RKEY struct { PublicKey string `dns:"base64"` } -func (rr *RR_RKEY) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_RKEY) Copy() RR { - return &RR_RKEY{*rr.Hdr.CopyHeader(), rr.Flags, rr.Protocol, rr.Algorithm, rr.PublicKey} +func (rr *RKEY) Header() *RR_Header { return &rr.Hdr } +func (rr *RKEY) Copy() RR { + return &RKEY{*rr.Hdr.CopyHeader(), rr.Flags, rr.Protocol, rr.Algorithm, rr.PublicKey} } -func (rr *RR_RKEY) String() string { +func (rr *RKEY) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.Flags)) + " " + strconv.Itoa(int(rr.Protocol)) + " " + strconv.Itoa(int(rr.Algorithm)) + " " + rr.PublicKey } -func (rr *RR_RKEY) Len() int { +func (rr *RKEY) Len() int { return rr.Hdr.Len() + 4 + base64.StdEncoding.DecodedLen(len(rr.PublicKey)) } -type RR_NSEC3 struct { +type NSEC3 struct { Hdr RR_Header Hash uint8 Flags uint8 @@ -1039,12 +1039,12 @@ type RR_NSEC3 struct { TypeBitMap []uint16 `dns:"nsec"` } -func (rr *RR_NSEC3) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_NSEC3) Copy() RR { - return &RR_NSEC3{*rr.Hdr.CopyHeader(), rr.Hash, rr.Flags, rr.Iterations, rr.SaltLength, rr.Salt, rr.HashLength, rr.NextDomain, rr.TypeBitMap} +func (rr *NSEC3) Header() *RR_Header { return &rr.Hdr } +func (rr *NSEC3) Copy() RR { + return &NSEC3{*rr.Hdr.CopyHeader(), rr.Hash, rr.Flags, rr.Iterations, rr.SaltLength, rr.Salt, rr.HashLength, rr.NextDomain, rr.TypeBitMap} } -func (rr *RR_NSEC3) String() string { +func (rr *NSEC3) String() string { s := rr.Hdr.String() s += strconv.Itoa(int(rr.Hash)) + " " + strconv.Itoa(int(rr.Flags)) + @@ -1061,12 +1061,12 @@ func (rr *RR_NSEC3) String() string { return s } -func (rr *RR_NSEC3) Len() int { +func (rr *NSEC3) Len() int { return rr.Hdr.Len() + 6 + len(rr.Salt)/2 + 1 + len(rr.NextDomain) + 1 + 32 // TODO: +32 is MAX type bit map } -type RR_NSEC3PARAM struct { +type NSEC3PARAM struct { Hdr RR_Header Hash uint8 Flags uint8 @@ -1075,12 +1075,12 @@ type RR_NSEC3PARAM struct { Salt string `dns:"hex"` } -func (rr *RR_NSEC3PARAM) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_NSEC3PARAM) Copy() RR { - return &RR_NSEC3PARAM{*rr.Hdr.CopyHeader(), rr.Hash, rr.Flags, rr.Iterations, rr.SaltLength, rr.Salt} +func (rr *NSEC3PARAM) Header() *RR_Header { return &rr.Hdr } +func (rr *NSEC3PARAM) Copy() RR { + return &NSEC3PARAM{*rr.Hdr.CopyHeader(), rr.Hash, rr.Flags, rr.Iterations, rr.SaltLength, rr.Salt} } -func (rr *RR_NSEC3PARAM) String() string { +func (rr *NSEC3PARAM) String() string { s := rr.Hdr.String() s += strconv.Itoa(int(rr.Hash)) + " " + strconv.Itoa(int(rr.Flags)) + @@ -1089,11 +1089,11 @@ func (rr *RR_NSEC3PARAM) String() string { return s } -func (rr *RR_NSEC3PARAM) Len() int { +func (rr *NSEC3PARAM) Len() int { return rr.Hdr.Len() + 2 + 4 + 1 + len(rr.Salt)/2 } -type RR_TKEY struct { +type TKEY struct { Hdr RR_Header Algorithm string `dns:"domain-name"` Inception uint32 @@ -1106,78 +1106,78 @@ type RR_TKEY struct { OtherData string } -func (rr *RR_TKEY) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_TKEY) Copy() RR { - return &RR_TKEY{*rr.Hdr.CopyHeader(), rr.Algorithm, rr.Inception, rr.Expiration, rr.Mode, rr.Error, rr.KeySize, rr.Key, rr.OtherLen, rr.OtherData} +func (rr *TKEY) Header() *RR_Header { return &rr.Hdr } +func (rr *TKEY) Copy() RR { + return &TKEY{*rr.Hdr.CopyHeader(), rr.Algorithm, rr.Inception, rr.Expiration, rr.Mode, rr.Error, rr.KeySize, rr.Key, rr.OtherLen, rr.OtherData} } -func (rr *RR_TKEY) String() string { +func (rr *TKEY) String() string { // It has no presentation format return "" } -func (rr *RR_TKEY) Len() int { +func (rr *TKEY) Len() int { return rr.Hdr.Len() + len(rr.Algorithm) + 1 + 4 + 4 + 6 + len(rr.Key) + 2 + len(rr.OtherData) } // RR_RFC3597 representes an unknown RR. -type RR_RFC3597 struct { +type RFC3597 struct { Hdr RR_Header Rdata string `dns:"hex"` } -func (rr *RR_RFC3597) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_RFC3597) Copy() RR { return &RR_RFC3597{*rr.Hdr.CopyHeader(), rr.Rdata} } +func (rr *RFC3597) Header() *RR_Header { return &rr.Hdr } +func (rr *RFC3597) Copy() RR { return &RFC3597{*rr.Hdr.CopyHeader(), rr.Rdata} } -func (rr *RR_RFC3597) String() string { +func (rr *RFC3597) String() string { s := rr.Hdr.String() s += "\\# " + strconv.Itoa(len(rr.Rdata)/2) + " " + rr.Rdata return s } -func (rr *RR_RFC3597) Len() int { +func (rr *RFC3597) Len() int { return rr.Hdr.Len() + len(rr.Rdata)/2 } -type RR_URI struct { +type URI struct { Hdr RR_Header Priority uint16 Weight uint16 Target string `dns:"txt"` } -func (rr *RR_URI) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_URI) Copy() RR { return &RR_URI{*rr.Hdr.CopyHeader(), rr.Weight, rr.Priority, rr.Target} } +func (rr *URI) Header() *RR_Header { return &rr.Hdr } +func (rr *URI) Copy() RR { return &URI{*rr.Hdr.CopyHeader(), rr.Weight, rr.Priority, rr.Target} } -func (rr *RR_URI) String() string { +func (rr *URI) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.Priority)) + " " + strconv.Itoa(int(rr.Weight)) + " " + rr.Target } -func (rr *RR_URI) Len() int { +func (rr *URI) Len() int { return rr.Hdr.Len() + 4 + len(rr.Target) + 1 } -type RR_DHCID struct { +type DHCID struct { Hdr RR_Header Digest string `dns:"base64"` } -func (rr *RR_DHCID) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_DHCID) Copy() RR { return &RR_DHCID{*rr.Hdr.CopyHeader(), rr.Digest} } +func (rr *DHCID) Header() *RR_Header { return &rr.Hdr } +func (rr *DHCID) Copy() RR { return &DHCID{*rr.Hdr.CopyHeader(), rr.Digest} } -func (rr *RR_DHCID) String() string { +func (rr *DHCID) String() string { return rr.Hdr.String() + rr.Digest } -func (rr *RR_DHCID) Len() int { +func (rr *DHCID) Len() int { return rr.Hdr.Len() + base64.StdEncoding.DecodedLen(len(rr.Digest)) } -type RR_TLSA struct { +type TLSA struct { Hdr RR_Header Usage uint8 Selector uint8 @@ -1185,12 +1185,12 @@ type RR_TLSA struct { Certificate string `dns:"hex"` } -func (rr *RR_TLSA) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_TLSA) Copy() RR { - return &RR_TLSA{*rr.Hdr.CopyHeader(), rr.Usage, rr.Selector, rr.MatchingType, rr.Certificate} +func (rr *TLSA) Header() *RR_Header { return &rr.Hdr } +func (rr *TLSA) Copy() RR { + return &TLSA{*rr.Hdr.CopyHeader(), rr.Usage, rr.Selector, rr.MatchingType, rr.Certificate} } -func (rr *RR_TLSA) String() string { +func (rr *TLSA) String() string { return rr.Hdr.String() + " " + strconv.Itoa(int(rr.Usage)) + " " + strconv.Itoa(int(rr.Selector)) + @@ -1198,11 +1198,11 @@ func (rr *RR_TLSA) String() string { " " + rr.Certificate } -func (rr *RR_TLSA) Len() int { +func (rr *TLSA) Len() int { return rr.Hdr.Len() + 3 + len(rr.Certificate)/2 } -type RR_HIP struct { +type HIP struct { Hdr RR_Header HitLength uint8 PublicKeyAlgorithm uint8 @@ -1212,12 +1212,12 @@ type RR_HIP struct { RendezvousServers []string `dns:"domain-name"` } -func (rr *RR_HIP) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_HIP) Copy() RR { - return &RR_HIP{*rr.Hdr.CopyHeader(), rr.HitLength, rr.PublicKeyAlgorithm, rr.PublicKeyLength, rr.Hit, rr.PublicKey, rr.RendezvousServers} +func (rr *HIP) Header() *RR_Header { return &rr.Hdr } +func (rr *HIP) Copy() RR { + return &HIP{*rr.Hdr.CopyHeader(), rr.HitLength, rr.PublicKeyAlgorithm, rr.PublicKeyLength, rr.Hit, rr.PublicKey, rr.RendezvousServers} } -func (rr *RR_HIP) String() string { +func (rr *HIP) String() string { s := rr.Hdr.String() + " " + strconv.Itoa(int(rr.PublicKeyAlgorithm)) + " " + rr.Hit + @@ -1228,7 +1228,7 @@ func (rr *RR_HIP) String() string { return s } -func (rr *RR_HIP) Len() int { +func (rr *HIP) Len() int { l := rr.Hdr.Len() + 4 + len(rr.Hit)/2 + base64.StdEncoding.DecodedLen(len(rr.PublicKey)) @@ -1238,15 +1238,15 @@ func (rr *RR_HIP) Len() int { return l } -type RR_NINFO struct { +type NINFO struct { Hdr RR_Header ZSData []string `dns:"txt"` } -func (rr *RR_NINFO) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_NINFO) Copy() RR { return &RR_NINFO{*rr.Hdr.CopyHeader(), rr.ZSData} } +func (rr *NINFO) Header() *RR_Header { return &rr.Hdr } +func (rr *NINFO) Copy() RR { return &NINFO{*rr.Hdr.CopyHeader(), rr.ZSData} } -func (rr *RR_NINFO) String() string { +func (rr *NINFO) String() string { s := rr.Hdr.String() for i, s1 := range rr.ZSData { if i > 0 { @@ -1258,7 +1258,7 @@ func (rr *RR_NINFO) String() string { return s } -func (rr *RR_NINFO) Len() int { +func (rr *NINFO) Len() int { l := rr.Hdr.Len() for _, t := range rr.ZSData { l += len(t) @@ -1266,17 +1266,17 @@ func (rr *RR_NINFO) Len() int { return l } -type RR_WKS struct { +type WKS struct { Hdr RR_Header Address net.IP `dns:"a"` Protocol uint8 BitMap []uint16 `dns:"wks"` } -func (rr *RR_WKS) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_WKS) Copy() RR { return &RR_WKS{*rr.Hdr.CopyHeader(), rr.Address, rr.Protocol, rr.BitMap} } +func (rr *WKS) Header() *RR_Header { return &rr.Hdr } +func (rr *WKS) Copy() RR { return &WKS{*rr.Hdr.CopyHeader(), rr.Address, rr.Protocol, rr.BitMap} } -func (rr *RR_WKS) String() string { +func (rr *WKS) String() string { s := rr.Hdr.String() + rr.Address.String() for i := 0; i < len(rr.BitMap); i++ { // should lookup the port @@ -1285,84 +1285,84 @@ func (rr *RR_WKS) String() string { return s } -func (rr *RR_WKS) Len() int { +func (rr *WKS) Len() int { return rr.Hdr.Len() + net.IPv4len + 1 } -type RR_NID struct { +type NID struct { Hdr RR_Header Preference uint16 NodeID uint64 } -func (rr *RR_NID) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_NID) Copy() RR { return &RR_NID{*rr.Hdr.CopyHeader(), rr.Preference, rr.NodeID} } +func (rr *NID) Header() *RR_Header { return &rr.Hdr } +func (rr *NID) Copy() RR { return &NID{*rr.Hdr.CopyHeader(), rr.Preference, rr.NodeID} } -func (rr *RR_NID) String() string { +func (rr *NID) String() string { s := rr.Hdr.String() + strconv.Itoa(int(rr.Preference)) node := fmt.Sprintf("%0.16x", rr.NodeID) s += " " + node[0:4] + ":" + node[4:8] + ":" + node[8:12] + ":" + node[12:16] return s } -func (rr *RR_NID) Len() int { +func (rr *NID) Len() int { return rr.Hdr.Len() + 2 + 8 } -type RR_L32 struct { +type L32 struct { Hdr RR_Header Preference uint16 Locator32 net.IP `dns:"a"` } -func (rr *RR_L32) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_L32) Copy() RR { return &RR_L32{*rr.Hdr.CopyHeader(), rr.Preference, rr.Locator32} } +func (rr *L32) Header() *RR_Header { return &rr.Hdr } +func (rr *L32) Copy() RR { return &L32{*rr.Hdr.CopyHeader(), rr.Preference, rr.Locator32} } -func (rr *RR_L32) String() string { +func (rr *L32) String() string { return rr.Hdr.String() + strconv.Itoa(int(rr.Preference)) + " " + rr.Locator32.String() } -func (rr *RR_L32) Len() int { +func (rr *L32) Len() int { return rr.Hdr.Len() + net.IPv4len } -type RR_L64 struct { +type L64 struct { Hdr RR_Header Preference uint16 Locator64 uint64 } -func (rr *RR_L64) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_L64) Copy() RR { return &RR_L64{*rr.Hdr.CopyHeader(), rr.Preference, rr.Locator64} } +func (rr *L64) Header() *RR_Header { return &rr.Hdr } +func (rr *L64) Copy() RR { return &L64{*rr.Hdr.CopyHeader(), rr.Preference, rr.Locator64} } -func (rr *RR_L64) String() string { +func (rr *L64) String() string { s := rr.Hdr.String() + strconv.Itoa(int(rr.Preference)) node := fmt.Sprintf("%0.16X", rr.Locator64) s += " " + node[0:4] + ":" + node[4:8] + ":" + node[8:12] + ":" + node[12:16] return s } -func (rr *RR_L64) Len() int { +func (rr *L64) Len() int { return rr.Hdr.Len() + 2 + 8 } -type RR_LP struct { +type LP struct { Hdr RR_Header Preference uint16 Fqdn string `dns:"domain-name"` } -func (rr *RR_LP) Header() *RR_Header { return &rr.Hdr } -func (rr *RR_LP) Copy() RR { return &RR_LP{*rr.Hdr.CopyHeader(), rr.Preference, rr.Fqdn} } +func (rr *LP) Header() *RR_Header { return &rr.Hdr } +func (rr *LP) Copy() RR { return &LP{*rr.Hdr.CopyHeader(), rr.Preference, rr.Fqdn} } -func (rr *RR_LP) String() string { +func (rr *LP) String() string { s := rr.Hdr.String() + strconv.Itoa(int(rr.Preference)) + " " + rr.Fqdn return s } -func (rr *RR_LP) Len() int { +func (rr *LP) Len() int { return rr.Hdr.Len() + 2 + len(rr.Fqdn) + 1 } @@ -1421,55 +1421,55 @@ func cmToString(mantissa, exponent uint8) string { // Map of constructors for each RR wire type. var rr_mk = map[uint16]func() RR{ - TypeCNAME: func() RR { return new(RR_CNAME) }, - TypeHINFO: func() RR { return new(RR_HINFO) }, - TypeMB: func() RR { return new(RR_MB) }, - TypeMG: func() RR { return new(RR_MG) }, - TypeMD: func() RR { return new(RR_MD) }, - TypeMF: func() RR { return new(RR_MF) }, - TypeMINFO: func() RR { return new(RR_MINFO) }, - TypeRP: func() RR { return new(RR_RP) }, - TypeAFSDB: func() RR { return new(RR_AFSDB) }, - TypeX25: func() RR { return new(RR_X25) }, - TypeMR: func() RR { return new(RR_MR) }, - TypeMX: func() RR { return new(RR_MX) }, - TypeRKEY: func() RR { return new(RR_RKEY) }, - TypeNINFO: func() RR { return new(RR_NINFO) }, - TypeNS: func() RR { return new(RR_NS) }, - TypePTR: func() RR { return new(RR_PTR) }, - TypeSOA: func() RR { return new(RR_SOA) }, - TypeRT: func() RR { return new(RR_RT) }, - TypeTXT: func() RR { return new(RR_TXT) }, - TypeSRV: func() RR { return new(RR_SRV) }, - TypeNAPTR: func() RR { return new(RR_NAPTR) }, - TypeDNAME: func() RR { return new(RR_DNAME) }, - TypeA: func() RR { return new(RR_A) }, - TypeWKS: func() RR { return new(RR_WKS) }, - TypeAAAA: func() RR { return new(RR_AAAA) }, - TypeLOC: func() RR { return new(RR_LOC) }, - TypeOPT: func() RR { return new(RR_OPT) }, - TypeDS: func() RR { return new(RR_DS) }, - TypeCDS: func() RR { return new(RR_CDS) }, - TypeCERT: func() RR { return new(RR_CERT) }, - TypeKX: func() RR { return new(RR_KX) }, - TypeSPF: func() RR { return new(RR_SPF) }, - TypeTALINK: func() RR { return new(RR_TALINK) }, - TypeSSHFP: func() RR { return new(RR_SSHFP) }, - TypeRRSIG: func() RR { return new(RR_RRSIG) }, - TypeNSEC: func() RR { return new(RR_NSEC) }, - TypeDNSKEY: func() RR { return new(RR_DNSKEY) }, - TypeNSEC3: func() RR { return new(RR_NSEC3) }, - TypeDHCID: func() RR { return new(RR_DHCID) }, - TypeNSEC3PARAM: func() RR { return new(RR_NSEC3PARAM) }, - TypeTKEY: func() RR { return new(RR_TKEY) }, - TypeTSIG: func() RR { return new(RR_TSIG) }, - TypeURI: func() RR { return new(RR_URI) }, - TypeTA: func() RR { return new(RR_TA) }, - TypeDLV: func() RR { return new(RR_DLV) }, - TypeTLSA: func() RR { return new(RR_TLSA) }, - TypeHIP: func() RR { return new(RR_HIP) }, - TypeNID: func() RR { return new(RR_NID) }, - TypeL32: func() RR { return new(RR_L32) }, - TypeL64: func() RR { return new(RR_L64) }, - TypeLP: func() RR { return new(RR_LP) }, + TypeCNAME: func() RR { return new(CNAME) }, + TypeHINFO: func() RR { return new(HINFO) }, + TypeMB: func() RR { return new(MB) }, + TypeMG: func() RR { return new(MG) }, + TypeMD: func() RR { return new(MD) }, + TypeMF: func() RR { return new(MF) }, + TypeMINFO: func() RR { return new(MINFO) }, + TypeRP: func() RR { return new(RP) }, + TypeAFSDB: func() RR { return new(AFSDB) }, + TypeX25: func() RR { return new(X25) }, + TypeMR: func() RR { return new(MR) }, + TypeMX: func() RR { return new(MX) }, + TypeRKEY: func() RR { return new(RKEY) }, + TypeNINFO: func() RR { return new(NINFO) }, + TypeNS: func() RR { return new(NS) }, + TypePTR: func() RR { return new(PTR) }, + TypeSOA: func() RR { return new(SOA) }, + TypeRT: func() RR { return new(RT) }, + TypeTXT: func() RR { return new(TXT) }, + TypeSRV: func() RR { return new(SRV) }, + TypeNAPTR: func() RR { return new(NAPTR) }, + TypeDNAME: func() RR { return new(DNAME) }, + TypeA: func() RR { return new(A) }, + TypeWKS: func() RR { return new(WKS) }, + TypeAAAA: func() RR { return new(AAAA) }, + TypeLOC: func() RR { return new(LOC) }, + TypeOPT: func() RR { return new(OPT) }, + TypeDS: func() RR { return new(DS) }, + TypeCDS: func() RR { return new(CDS) }, + TypeCERT: func() RR { return new(CERT) }, + TypeKX: func() RR { return new(KX) }, + TypeSPF: func() RR { return new(SPF) }, + TypeTALINK: func() RR { return new(TALINK) }, + TypeSSHFP: func() RR { return new(SSHFP) }, + TypeRRSIG: func() RR { return new(RRSIG) }, + TypeNSEC: func() RR { return new(NSEC) }, + TypeDNSKEY: func() RR { return new(DNSKEY) }, + TypeNSEC3: func() RR { return new(NSEC3) }, + TypeDHCID: func() RR { return new(DHCID) }, + TypeNSEC3PARAM: func() RR { return new(NSEC3PARAM) }, + TypeTKEY: func() RR { return new(TKEY) }, + TypeTSIG: func() RR { return new(TSIG) }, + TypeURI: func() RR { return new(URI) }, + TypeTA: func() RR { return new(TA) }, + TypeDLV: func() RR { return new(DLV) }, + TypeTLSA: func() RR { return new(TLSA) }, + TypeHIP: func() RR { return new(HIP) }, + TypeNID: func() RR { return new(NID) }, + TypeL32: func() RR { return new(L32) }, + TypeL64: func() RR { return new(L64) }, + TypeLP: func() RR { return new(LP) }, } diff --git a/update.go b/update.go index 1b989691..53986372 100644 --- a/update.go +++ b/update.go @@ -40,7 +40,7 @@ package dns func (u *Msg) NameUsed(rr []RR) { u.Answer = make([]RR, len(rr)) for i, r := range rr { - u.Answer[i] = &RR_ANY{Hdr: RR_Header{Name: r.Header().Name, Ttl: 0, Rrtype: TypeANY, Class: ClassANY}} + u.Answer[i] = &ANY{Hdr: RR_Header{Name: r.Header().Name, Ttl: 0, Rrtype: TypeANY, Class: ClassANY}} } } @@ -49,7 +49,7 @@ func (u *Msg) NameUsed(rr []RR) { func (u *Msg) NameNotUsed(rr []RR) { u.Answer = make([]RR, len(rr)) for i, r := range rr { - u.Answer[i] = &RR_ANY{Hdr: RR_Header{Name: r.Header().Name, Ttl: 0, Rrtype: TypeANY, Class: ClassNONE}} + u.Answer[i] = &ANY{Hdr: RR_Header{Name: r.Header().Name, Ttl: 0, Rrtype: TypeANY, Class: ClassNONE}} } } @@ -117,7 +117,7 @@ func (u *Msg) RemoveRRset(rr []RR) { func (u *Msg) RemoveName(rr []RR) { u.Ns = make([]RR, len(rr)) for i, r := range rr { - u.Ns[i] = &RR_ANY{Hdr: RR_Header{Name: r.Header().Name, Ttl: 0, Rrtype: TypeANY, Class: ClassANY}} + u.Ns[i] = &ANY{Hdr: RR_Header{Name: r.Header().Name, Ttl: 0, Rrtype: TypeANY, Class: ClassANY}} } } diff --git a/xfr.go b/xfr.go index b5b8a45a..1f0f588b 100644 --- a/xfr.go +++ b/xfr.go @@ -107,7 +107,7 @@ func (w *reply) ixfrIn(q *Msg, c chan *Envelope) { return } // This serial is important - serial = in.Answer[0].(*RR_SOA).Serial + serial = in.Answer[0].(*SOA).Serial first = !first } @@ -115,7 +115,7 @@ func (w *reply) ixfrIn(q *Msg, c chan *Envelope) { if !first { w.tsigTimersOnly = true // If the last record in the IXFR contains the servers' SOA, we should quit - if v, ok := in.Answer[len(in.Answer)-1].(*RR_SOA); ok { + if v, ok := in.Answer[len(in.Answer)-1].(*SOA); ok { if v.Serial == serial { c <- &Envelope{in.Answer, nil} return diff --git a/zone.go b/zone.go index 4f72555c..3c6adff5 100644 --- a/zone.go +++ b/zone.go @@ -91,10 +91,10 @@ func NewZone(origin string) *Zone { // ZoneData holds all the RRs having their owner name equal to Name. type ZoneData struct { - Name string // Domain name for this node - RR map[uint16][]RR // Map of the RR type to the RR - Signatures map[uint16][]*RR_RRSIG // DNSSEC signatures for the RRs, stored under type covered - NonAuth bool // Always false, except for NSsets that differ from z.Origin + Name string // Domain name for this node + RR map[uint16][]RR // Map of the RR type to the RR + Signatures map[uint16][]*RRSIG // DNSSEC signatures for the RRs, stored under type covered + NonAuth bool // Always false, except for NSsets that differ from z.Origin *sync.RWMutex } @@ -103,7 +103,7 @@ func NewZoneData(s string) *ZoneData { zd := new(ZoneData) zd.Name = s zd.RR = make(map[uint16][]RR) - zd.Signatures = make(map[uint16][]*RR_RRSIG) + zd.Signatures = make(map[uint16][]*RRSIG) zd.RWMutex = new(sync.RWMutex) return zd } @@ -214,8 +214,8 @@ func (z *Zone) Insert(r RR) error { zd := NewZoneData(r.Header().Name) switch t := r.Header().Rrtype; t { case TypeRRSIG: - sigtype := r.(*RR_RRSIG).TypeCovered - zd.Signatures[sigtype] = append(zd.Signatures[sigtype], r.(*RR_RRSIG)) + sigtype := r.(*RRSIG).TypeCovered + zd.Signatures[sigtype] = append(zd.Signatures[sigtype], r.(*RRSIG)) case TypeNS: // NS records with other names than z.Origin are non-auth if r.Header().Name != z.Origin { @@ -234,8 +234,8 @@ func (z *Zone) Insert(r RR) error { // Name already there switch t := r.Header().Rrtype; t { case TypeRRSIG: - sigtype := r.(*RR_RRSIG).TypeCovered - zd.Value.(*ZoneData).Signatures[sigtype] = append(zd.Value.(*ZoneData).Signatures[sigtype], r.(*RR_RRSIG)) + sigtype := r.(*RRSIG).TypeCovered + zd.Value.(*ZoneData).Signatures[sigtype] = append(zd.Value.(*ZoneData).Signatures[sigtype], r.(*RRSIG)) case TypeNS: if r.Header().Name != z.Origin { zd.Value.(*ZoneData).NonAuth = true @@ -263,7 +263,7 @@ func (z *Zone) Remove(r RR) error { remove := false switch t := r.Header().Rrtype; t { case TypeRRSIG: - sigtype := r.(*RR_RRSIG).TypeCovered + sigtype := r.(*RRSIG).TypeCovered for i, zr := range zd.Value.(*ZoneData).Signatures[sigtype] { if r == zr { zd.Value.(*ZoneData).Signatures[sigtype] = append(zd.Value.(*ZoneData).Signatures[sigtype][:i], zd.Value.(*ZoneData).Signatures[sigtype][i+1:]...) @@ -420,14 +420,14 @@ func (z *Zone) isSubDomain(child string) bool { // // TODO(mg): resigning is not implemented // TODO(mg): NSEC3 is not implemented -func (z *Zone) Sign(keys map[*RR_DNSKEY]PrivateKey, config *SignatureConfig) error { +func (z *Zone) Sign(keys map[*DNSKEY]PrivateKey, config *SignatureConfig) error { z.Lock() defer z.Unlock() if config == nil { config = DefaultSignatureConfig } // Pre-calc the key tag - keytags := make(map[*RR_DNSKEY]uint16) + keytags := make(map[*DNSKEY]uint16) for k := range keys { keytags[k] = k.KeyTag() } @@ -446,7 +446,7 @@ func (z *Zone) Sign(keys map[*RR_DNSKEY]PrivateKey, config *SignatureConfig) err if !e { return ErrSoa } - config.Minttl = apex.Value.(*ZoneData).RR[TypeSOA][0].(*RR_SOA).Minttl + config.Minttl = apex.Value.(*ZoneData).RR[TypeSOA][0].(*SOA).Minttl next := apex.Next() radChan <- apex @@ -471,7 +471,7 @@ Sign: } // signerRoutine is a small helper routine to make the concurrent signing work. -func signerRoutine(wg *sync.WaitGroup, keys map[*RR_DNSKEY]PrivateKey, keytags map[*RR_DNSKEY]uint16, config *SignatureConfig, in chan *radix.Radix, err chan error) { +func signerRoutine(wg *sync.WaitGroup, keys map[*DNSKEY]PrivateKey, keytags map[*DNSKEY]uint16, config *SignatureConfig, in chan *radix.Radix, err chan error) { defer wg.Done() for { select { @@ -494,11 +494,11 @@ func signerRoutine(wg *sync.WaitGroup, keys map[*RR_DNSKEY]PrivateKey, keytags m // For a more complete description see zone.Sign. // Note: as this method has no (direct) // access to the zone's SOA record, the SOA's Minttl value should be set in *config. -func (node *ZoneData) Sign(next *ZoneData, keys map[*RR_DNSKEY]PrivateKey, keytags map[*RR_DNSKEY]uint16, config *SignatureConfig) error { +func (node *ZoneData) Sign(next *ZoneData, keys map[*DNSKEY]PrivateKey, keytags map[*DNSKEY]uint16, config *SignatureConfig) error { node.Lock() defer node.Unlock() - nsec := new(RR_NSEC) + nsec := new(NSEC) nsec.Hdr.Rrtype = TypeNSEC nsec.Hdr.Ttl = config.Minttl // SOA's minimum value nsec.Hdr.Name = node.Name @@ -522,7 +522,7 @@ func (node *ZoneData) Sign(next *ZoneData, keys map[*RR_DNSKEY]PrivateKey, keyta } // which sigs to check?? - s := new(RR_RRSIG) + s := new(RRSIG) s.SignerName = k.Hdr.Name s.Hdr.Ttl = k.Hdr.Ttl s.Algorithm = k.Algorithm @@ -536,7 +536,7 @@ func (node *ZoneData) Sign(next *ZoneData, keys map[*RR_DNSKEY]PrivateKey, keyta node.Signatures[TypeNSEC] = append(node.Signatures[TypeNSEC], s) // DS if ds, ok := node.RR[TypeDS]; ok { - s := new(RR_RRSIG) + s := new(RRSIG) s.SignerName = k.Hdr.Name s.Hdr.Ttl = k.Hdr.Ttl s.Algorithm = k.Algorithm @@ -556,13 +556,13 @@ func (node *ZoneData) Sign(next *ZoneData, keys map[*RR_DNSKEY]PrivateKey, keyta for k, p := range keys { for t, rrset := range node.RR { if k.Flags&SEP == SEP { - if _, ok := rrset[0].(*RR_DNSKEY); !ok { + if _, ok := rrset[0].(*DNSKEY); !ok { // only sign keys with SEP keys continue } } - s := new(RR_RRSIG) + s := new(RRSIG) s.SignerName = k.Hdr.Name s.Hdr.Ttl = k.Hdr.Ttl s.Hdr.Class = ClassINET @@ -582,7 +582,7 @@ func (node *ZoneData) Sign(next *ZoneData, keys map[*RR_DNSKEY]PrivateKey, keyta sort.Sort(uint16Slice(nsec.TypeBitMap)) node.RR[TypeNSEC] = []RR{nsec} // NSEC - s := new(RR_RRSIG) + s := new(RRSIG) s.SignerName = k.Hdr.Name s.Hdr.Ttl = k.Hdr.Ttl s.Algorithm = k.Algorithm diff --git a/zone_test.go b/zone_test.go index a1f0f2e5..5c0ddf84 100644 --- a/zone_test.go +++ b/zone_test.go @@ -42,7 +42,7 @@ func TestApex(t *testing.T) { t.Fatalf("Apex not found") } t.Logf("Apex found %s", apex.RR[TypeSOA][0].String()) - apex.RR[TypeSOA][0].(*RR_SOA).Serial++ + apex.RR[TypeSOA][0].(*SOA).Serial++ apex = z.Apex() t.Logf("Apex found %s", z.Apex().RR[TypeSOA][0].String()) } diff --git a/zscan_rr.go b/zscan_rr.go index 5a46e706..3a570826 100644 --- a/zscan_rr.go +++ b/zscan_rr.go @@ -211,7 +211,7 @@ func endingToTxtSlice(c chan lex, errstr, f string) ([]string, *ParseError) { } func setA(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_A) + rr := new(A) rr.Hdr = h l := <-c @@ -223,7 +223,7 @@ func setA(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setAAAA(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_AAAA) + rr := new(AAAA) rr.Hdr = h l := <-c @@ -235,7 +235,7 @@ func setAAAA(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setNS(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_NS) + rr := new(NS) rr.Hdr = h l := <-c @@ -255,7 +255,7 @@ func setNS(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setPTR(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_PTR) + rr := new(PTR) rr.Hdr = h l := <-c @@ -275,7 +275,7 @@ func setPTR(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setRP(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_RP) + rr := new(RP) rr.Hdr = h l := <-c @@ -310,7 +310,7 @@ func setRP(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setMR(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_MR) + rr := new(MR) rr.Hdr = h l := <-c @@ -330,7 +330,7 @@ func setMR(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setMB(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_MB) + rr := new(MB) rr.Hdr = h l := <-c @@ -350,7 +350,7 @@ func setMB(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setMG(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_MG) + rr := new(MG) rr.Hdr = h l := <-c @@ -370,7 +370,7 @@ func setMG(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setHINFO(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_HINFO) + rr := new(HINFO) rr.Hdr = h l := <-c @@ -383,7 +383,7 @@ func setHINFO(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setMINFO(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_MINFO) + rr := new(MINFO) rr.Hdr = h l := <-c @@ -416,7 +416,7 @@ func setMINFO(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setMF(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_MF) + rr := new(MF) rr.Hdr = h l := <-c @@ -436,7 +436,7 @@ func setMF(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setMD(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_MD) + rr := new(MD) rr.Hdr = h l := <-c @@ -456,7 +456,7 @@ func setMD(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setMX(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_MX) + rr := new(MX) rr.Hdr = h l := <-c @@ -483,7 +483,7 @@ func setMX(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setRT(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_RT) + rr := new(RT) rr.Hdr = h l := <-c @@ -510,7 +510,7 @@ func setRT(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setAFSDB(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_AFSDB) + rr := new(AFSDB) rr.Hdr = h l := <-c @@ -537,7 +537,7 @@ func setAFSDB(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setX25(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_X25) + rr := new(X25) rr.Hdr = h l := <-c @@ -546,7 +546,7 @@ func setX25(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setKX(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_KX) + rr := new(KX) rr.Hdr = h l := <-c @@ -573,7 +573,7 @@ func setKX(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setCNAME(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_CNAME) + rr := new(CNAME) rr.Hdr = h l := <-c @@ -593,7 +593,7 @@ func setCNAME(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setDNAME(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_DNAME) + rr := new(DNAME) rr.Hdr = h l := <-c @@ -613,7 +613,7 @@ func setDNAME(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setSOA(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_SOA) + rr := new(SOA) rr.Hdr = h l := <-c @@ -685,7 +685,7 @@ func setSOA(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setSRV(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_SRV) + rr := new(SRV) rr.Hdr = h l := <-c @@ -726,7 +726,7 @@ func setSRV(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setNAPTR(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_NAPTR) + rr := new(NAPTR) rr.Hdr = h l := <-c @@ -817,7 +817,7 @@ func setNAPTR(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setTALINK(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_TALINK) + rr := new(TALINK) rr.Hdr = h l := <-c @@ -851,7 +851,7 @@ func setTALINK(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setLOC(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_LOC) + rr := new(LOC) rr.Hdr = h // Non zero defaults for LOC record, see RFC 1876, Section 3. rr.HorizPre = 165 // 10000 @@ -978,7 +978,7 @@ Altitude: } func setHIP(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_HIP) + rr := new(HIP) rr.Hdr = h // HitLength is not represented @@ -1028,7 +1028,7 @@ func setHIP(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setCERT(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_CERT) + rr := new(CERT) rr.Hdr = h l := <-c @@ -1060,7 +1060,7 @@ func setCERT(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setRRSIG(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_RRSIG) + rr := new(RRSIG) rr.Hdr = h l := <-c if t, ok := StringToType[strings.ToUpper(l.token)]; !ok { @@ -1133,7 +1133,7 @@ func setRRSIG(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setNSEC(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_NSEC) + rr := new(NSEC) rr.Hdr = h l := <-c @@ -1176,7 +1176,7 @@ func setNSEC(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setNSEC3(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_NSEC3) + rr := new(NSEC3) rr.Hdr = h l := <-c @@ -1238,7 +1238,7 @@ func setNSEC3(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setNSEC3PARAM(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_NSEC3PARAM) + rr := new(NSEC3PARAM) rr.Hdr = h l := <-c @@ -1269,7 +1269,7 @@ func setNSEC3PARAM(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setWKS(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_WKS) + rr := new(WKS) rr.Hdr = h l := <-c @@ -1324,7 +1324,7 @@ func setWKS(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setSSHFP(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_SSHFP) + rr := new(SSHFP) rr.Hdr = h l := <-c @@ -1347,7 +1347,7 @@ func setSSHFP(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setDNSKEY(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_DNSKEY) + rr := new(DNSKEY) rr.Hdr = h l := <-c @@ -1379,7 +1379,7 @@ func setDNSKEY(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setRKEY(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_RKEY) + rr := new(RKEY) rr.Hdr = h l := <-c @@ -1411,7 +1411,7 @@ func setRKEY(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setDS(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_DS) + rr := new(DS) rr.Hdr = h l := <-c if i, e := strconv.Atoi(l.token); e != nil { @@ -1446,7 +1446,7 @@ func setDS(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setCDS(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_CDS) + rr := new(CDS) rr.Hdr = h l := <-c if i, e := strconv.Atoi(l.token); e != nil { @@ -1481,7 +1481,7 @@ func setCDS(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setDLV(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_DLV) + rr := new(DLV) rr.Hdr = h l := <-c if i, e := strconv.Atoi(l.token); e != nil { @@ -1516,7 +1516,7 @@ func setDLV(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setTA(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_TA) + rr := new(TA) rr.Hdr = h l := <-c if i, e := strconv.Atoi(l.token); e != nil { @@ -1551,7 +1551,7 @@ func setTA(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setTLSA(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_TLSA) + rr := new(TLSA) rr.Hdr = h l := <-c if i, e := strconv.Atoi(l.token); e != nil { @@ -1582,7 +1582,7 @@ func setTLSA(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setRFC3597(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_RFC3597) + rr := new(RFC3597) rr.Hdr = h l := <-c if l.token != "\\#" { @@ -1607,7 +1607,7 @@ func setRFC3597(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setSPF(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_SPF) + rr := new(SPF) rr.Hdr = h s, e := endingToTxtSlice(c, "bad SPF Txt", f) @@ -1619,7 +1619,7 @@ func setSPF(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setTXT(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_TXT) + rr := new(TXT) rr.Hdr = h s, e := endingToTxtSlice(c, "bad TXT Txt", f) @@ -1632,7 +1632,7 @@ func setTXT(h RR_Header, c chan lex, f string) (RR, *ParseError) { // identical to setTXT func setNINFO(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_NINFO) + rr := new(NINFO) rr.Hdr = h s, e := endingToTxtSlice(c, "bad NINFO ZSData", f) @@ -1644,7 +1644,7 @@ func setNINFO(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setURI(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_URI) + rr := new(URI) rr.Hdr = h l := <-c @@ -1695,7 +1695,7 @@ func setURI(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setIPSECKEY(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_IPSECKEY) + rr := new(IPSECKEY) rr.Hdr = h l := <-c @@ -1731,7 +1731,7 @@ func setIPSECKEY(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { func setDHCID(h RR_Header, c chan lex, f string) (RR, *ParseError) { // awesome record to parse! - rr := new(RR_DHCID) + rr := new(DHCID) rr.Hdr = h s, e := endingToString(c, "bad DHCID Digest", f) @@ -1743,7 +1743,7 @@ func setDHCID(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setNID(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_NID) + rr := new(NID) rr.Hdr = h l := <-c @@ -1763,7 +1763,7 @@ func setNID(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setL32(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_L32) + rr := new(L32) rr.Hdr = h l := <-c @@ -1782,7 +1782,7 @@ func setL32(h RR_Header, c chan lex, f string) (RR, *ParseError) { } func setLP(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { - rr := new(RR_LP) + rr := new(LP) rr.Hdr = h l := <-c @@ -1809,7 +1809,7 @@ func setLP(h RR_Header, c chan lex, o, f string) (RR, *ParseError) { } func setL64(h RR_Header, c chan lex, f string) (RR, *ParseError) { - rr := new(RR_L64) + rr := new(L64) rr.Hdr = h l := <-c