This commit is contained in:
Miek Gieben 2012-02-19 16:20:48 +01:00
parent b47f11ff9c
commit 01796f5d2b
1 changed files with 29 additions and 0 deletions

View File

@ -49,6 +49,9 @@ func setRR(h RR_Header, c chan lex, o, f string) (RR, *ParseError) {
case TypeNAPTR:
r, e = setNAPTR(h, c, o, f)
goto Slurp
case TypeTALINK:
r, e = setTALINK(h, c, o, f)
goto Slurp
case TypeLOC:
//r, e = setLOC(h, c, f)
// TODO
@ -394,6 +397,32 @@ func setNAPTR(h RR_Header, c chan lex, o, f string) (RR, *ParseError) {
return rr, nil
}
func setTALINK(h RR_Header, c chan lex, o, f string) (RR, *ParseError) {
rr := new(RR_TALINK)
rr.Hdr = h
l := <-c
rr.PreviousName = l.token
_, ld, ok := IsDomainName(l.token)
if !ok {
return nil, &ParseError{f, "bad TALINK PreviousName", l}
}
if rr.PreviousName[ld-1] != '.' {
rr.PreviousName = appendOrigin(rr.PreviousName, o)
}
<-c // _BLANK
l := <-c
rr.NextName = l.token
_, ld, ok := IsDomainName(l.token)
if !ok {
return nil, &ParseError{f, "bad TALINK NextName", l}
}
if rr.NextName[ld-1] != '.' {
rr.NextName = appendOrigin(rr.NextName, o)
}
return rr, nil
}
func setHIP(h RR_Header, c chan lex, o, f string) (RR, *ParseError) {
rr := new(RR_HIP)
rr.Hdr = h