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",
|
||||
TypeNIMLOC: "NIMLOC",
|
||||
TypeNS: "NS",
|
||||
TypeNSAP: "NSAP",
|
||||
TypeNSAPPTR: "NSAP-PTR",
|
||||
TypeNSEC3: "NSEC3",
|
||||
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{
|
||||
"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.",
|
||||
"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",
|
||||
|
|
12
types.go
12
types.go
|
@ -46,7 +46,6 @@ const (
|
|||
TypeX25 uint16 = 19
|
||||
TypeISDN uint16 = 20
|
||||
TypeRT uint16 = 21
|
||||
TypeNSAP uint16 = 22
|
||||
TypeNSAPPTR uint16 = 23
|
||||
TypeSIG uint16 = 24
|
||||
TypeKEY uint16 = 25
|
||||
|
@ -1179,16 +1178,6 @@ func (rr *RKEY) String() string {
|
|||
" " + 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 {
|
||||
Hdr RR_Header
|
||||
Ptr string `dns:"domain-name"`
|
||||
|
@ -1720,7 +1709,6 @@ var typeToRR = map[uint16]func() RR{
|
|||
TypeNINFO: func() RR { return new(NINFO) },
|
||||
TypeNIMLOC: func() RR { return new(NIMLOC) },
|
||||
TypeNS: func() RR { return new(NS) },
|
||||
TypeNSAP: func() RR { return new(NSAP) },
|
||||
TypeNSAPPTR: func() RR { return new(NSAPPTR) },
|
||||
TypeNSEC3: func() RR { return new(NSEC3) },
|
||||
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
|
||||
}
|
||||
|
||||
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) {
|
||||
rr := new(GPOS)
|
||||
rr.Hdr = h
|
||||
|
@ -2267,7 +2239,6 @@ var typeToparserFunc = map[uint16]parserFunc{
|
|||
TypeNID: parserFunc{setNID, false},
|
||||
TypeNIMLOC: parserFunc{setNIMLOC, true},
|
||||
TypeNINFO: parserFunc{setNINFO, true},
|
||||
TypeNSAP: parserFunc{setNSAP, true},
|
||||
TypeNSAPPTR: parserFunc{setNSAPPTR, false},
|
||||
TypeNSEC3PARAM: parserFunc{setNSEC3PARAM, false},
|
||||
TypeNSEC3: parserFunc{setNSEC3, true},
|
||||
|
|
Loading…
Reference in New Issue