Remove the NSAP record
The NSAP was not implemented correctly, see #239. Just remove it. It will still work as unknown RR.
This commit is contained in:
parent
8eb292db07
commit
21b35db538
1
msg.go
1
msg.go
|
@ -134,7 +134,6 @@ var TypeToString = map[uint16]string{
|
||||||
TypeNINFO: "NINFO",
|
TypeNINFO: "NINFO",
|
||||||
TypeNIMLOC: "NIMLOC",
|
TypeNIMLOC: "NIMLOC",
|
||||||
TypeNS: "NS",
|
TypeNS: "NS",
|
||||||
TypeNSAP: "NSAP",
|
|
||||||
TypeNSAPPTR: "NSAP-PTR",
|
TypeNSAPPTR: "NSAP-PTR",
|
||||||
TypeNSEC3: "NSEC3",
|
TypeNSEC3: "NSEC3",
|
||||||
TypeNSEC3PARAM: "NSEC3PARAM",
|
TypeNSEC3PARAM: "NSEC3PARAM",
|
||||||
|
|
|
@ -905,11 +905,8 @@ func TestILNP(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNsapGposEidNimloc(t *testing.T) {
|
func TestGposEidNimloc(t *testing.T) {
|
||||||
dt := map[string]string{
|
dt := map[string]string{
|
||||||
"foo.bar.com. IN NSAP 21 47000580ffff000000321099991111222233334444": "foo.bar.com.\t3600\tIN\tNSAP\t0x47000580ffff000000321099991111222233334444",
|
|
||||||
"foo.bar.com. IN NSAP 0x47000580ffff000000321099991111222233334444": "foo.bar.com.\t3600\tIN\tNSAP\t0x47000580ffff000000321099991111222233334444",
|
|
||||||
"host.school.de IN NSAP 17 39276f3100111100002222333344449876": "host.school.de.\t3600\tIN\tNSAP\t0x39276f3100111100002222333344449876",
|
|
||||||
"444433332222111199990123000000ff. NSAP-PTR foo.bar.com.": "444433332222111199990123000000ff.\t3600\tIN\tNSAP-PTR\tfoo.bar.com.",
|
"444433332222111199990123000000ff. NSAP-PTR foo.bar.com.": "444433332222111199990123000000ff.\t3600\tIN\tNSAP-PTR\tfoo.bar.com.",
|
||||||
"lillee. IN GPOS -32.6882 116.8652 10.0": "lillee.\t3600\tIN\tGPOS\t-32.6882 116.8652 10.0",
|
"lillee. IN GPOS -32.6882 116.8652 10.0": "lillee.\t3600\tIN\tGPOS\t-32.6882 116.8652 10.0",
|
||||||
"hinault. IN GPOS -22.6882 116.8652 250.0": "hinault.\t3600\tIN\tGPOS\t-22.6882 116.8652 250.0",
|
"hinault. IN GPOS -22.6882 116.8652 250.0": "hinault.\t3600\tIN\tGPOS\t-22.6882 116.8652 250.0",
|
||||||
|
|
12
types.go
12
types.go
|
@ -46,7 +46,6 @@ const (
|
||||||
TypeX25 uint16 = 19
|
TypeX25 uint16 = 19
|
||||||
TypeISDN uint16 = 20
|
TypeISDN uint16 = 20
|
||||||
TypeRT uint16 = 21
|
TypeRT uint16 = 21
|
||||||
TypeNSAP uint16 = 22
|
|
||||||
TypeNSAPPTR uint16 = 23
|
TypeNSAPPTR uint16 = 23
|
||||||
TypeSIG uint16 = 24
|
TypeSIG uint16 = 24
|
||||||
TypeKEY uint16 = 25
|
TypeKEY uint16 = 25
|
||||||
|
@ -1179,16 +1178,6 @@ func (rr *RKEY) String() string {
|
||||||
" " + rr.PublicKey
|
" " + rr.PublicKey
|
||||||
}
|
}
|
||||||
|
|
||||||
type NSAP struct {
|
|
||||||
Hdr RR_Header
|
|
||||||
Nsap string
|
|
||||||
}
|
|
||||||
|
|
||||||
func (rr *NSAP) Header() *RR_Header { return &rr.Hdr }
|
|
||||||
func (rr *NSAP) copy() RR { return &NSAP{*rr.Hdr.copyHeader(), rr.Nsap} }
|
|
||||||
func (rr *NSAP) String() string { return rr.Hdr.String() + "0x" + rr.Nsap }
|
|
||||||
func (rr *NSAP) len() int { return rr.Hdr.len() + 1 + len(rr.Nsap) + 1 }
|
|
||||||
|
|
||||||
type NSAPPTR struct {
|
type NSAPPTR struct {
|
||||||
Hdr RR_Header
|
Hdr RR_Header
|
||||||
Ptr string `dns:"domain-name"`
|
Ptr string `dns:"domain-name"`
|
||||||
|
@ -1720,7 +1709,6 @@ var typeToRR = map[uint16]func() RR{
|
||||||
TypeNINFO: func() RR { return new(NINFO) },
|
TypeNINFO: func() RR { return new(NINFO) },
|
||||||
TypeNIMLOC: func() RR { return new(NIMLOC) },
|
TypeNIMLOC: func() RR { return new(NIMLOC) },
|
||||||
TypeNS: func() RR { return new(NS) },
|
TypeNS: func() RR { return new(NS) },
|
||||||
TypeNSAP: func() RR { return new(NSAP) },
|
|
||||||
TypeNSAPPTR: func() RR { return new(NSAPPTR) },
|
TypeNSAPPTR: func() RR { return new(NSAPPTR) },
|
||||||
TypeNSEC3: func() RR { return new(NSEC3) },
|
TypeNSEC3: func() RR { return new(NSEC3) },
|
||||||
TypeNSEC3PARAM: func() RR { return new(NSEC3PARAM) },
|
TypeNSEC3PARAM: func() RR { return new(NSEC3PARAM) },
|
||||||
|
|
29
zscan_rr.go
29
zscan_rr.go
|
@ -1641,34 +1641,6 @@ func setNIMLOC(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
|
||||||
return rr, nil, c1
|
return rr, nil, c1
|
||||||
}
|
}
|
||||||
|
|
||||||
func setNSAP(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
|
|
||||||
rr := new(NSAP)
|
|
||||||
rr.Hdr = h
|
|
||||||
chunks, e1, c1 := endingToTxtSlice(c, "bad NSAP Nsap", f)
|
|
||||||
if e1 != nil {
|
|
||||||
return nil, e1, c1
|
|
||||||
}
|
|
||||||
// data would come as one string or multiple... Just to ignore possible
|
|
||||||
// variety let's merge things back together and split to actual "words"
|
|
||||||
s := strings.Fields(strings.Join(chunks, " "))
|
|
||||||
if len(s) == 0 {
|
|
||||||
return rr, nil, c1
|
|
||||||
}
|
|
||||||
if len(s[0]) >= 2 && (s[0][0:2] == "0x" || s[0][0:2] == "0X") {
|
|
||||||
// although RFC only suggests 0x there is no clarification that X is not allowed
|
|
||||||
rr.Nsap = strings.Join(s, "")[2:]
|
|
||||||
} else {
|
|
||||||
// since we do not know what to do with this data, and, we would not use original length
|
|
||||||
// in formatting, it's moot to check correctness of the length
|
|
||||||
_, err := strconv.Atoi(s[0])
|
|
||||||
if err != nil {
|
|
||||||
return nil, &ParseError{f, "bad NSAP Length", lex{token: s[0]}}, ""
|
|
||||||
}
|
|
||||||
rr.Nsap = strings.Join(s[1:], "")
|
|
||||||
}
|
|
||||||
return rr, nil, c1
|
|
||||||
}
|
|
||||||
|
|
||||||
func setGPOS(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
|
func setGPOS(h RR_Header, c chan lex, o, f string) (RR, *ParseError, string) {
|
||||||
rr := new(GPOS)
|
rr := new(GPOS)
|
||||||
rr.Hdr = h
|
rr.Hdr = h
|
||||||
|
@ -2267,7 +2239,6 @@ var typeToparserFunc = map[uint16]parserFunc{
|
||||||
TypeNID: parserFunc{setNID, false},
|
TypeNID: parserFunc{setNID, false},
|
||||||
TypeNIMLOC: parserFunc{setNIMLOC, true},
|
TypeNIMLOC: parserFunc{setNIMLOC, true},
|
||||||
TypeNINFO: parserFunc{setNINFO, true},
|
TypeNINFO: parserFunc{setNINFO, true},
|
||||||
TypeNSAP: parserFunc{setNSAP, true},
|
|
||||||
TypeNSAPPTR: parserFunc{setNSAPPTR, false},
|
TypeNSAPPTR: parserFunc{setNSAPPTR, false},
|
||||||
TypeNSEC3PARAM: parserFunc{setNSEC3PARAM, false},
|
TypeNSEC3PARAM: parserFunc{setNSEC3PARAM, false},
|
||||||
TypeNSEC3: parserFunc{setNSEC3, true},
|
TypeNSEC3: parserFunc{setNSEC3, true},
|
||||||
|
|
Loading…
Reference in New Issue