This commit is contained in:
Miek Gieben 2012-08-10 09:25:35 +02:00
parent a9126f1b54
commit 9c429db88f
1 changed files with 29 additions and 0 deletions

View File

@ -37,6 +37,12 @@ func setRR(h RR_Header, c chan lex, o, f string) (RR, *ParseError) {
case TypeMD:
r, e = setMD(h, c, o, f)
goto Slurp
case TypeMG:
r, e = setMG(h, c, o, f)
goto Slurp
case TypeRT:
r, e = setRT(h, c, o, f)
goto Slurp
case TypeAFSDB:
r, e = setAFSDB(h, c, o, f)
goto Slurp
@ -349,6 +355,29 @@ func setMX(h RR_Header, c chan lex, o, f string) (RR, *ParseError) {
return rr, nil
}
func setRT(h RR_Header, c chan lex, o, f string) (RR, *ParseError) {
rr := new(RR_RT)
rr.Hdr = h
l := <-c
if i, e := strconv.Atoi(l.token); e != nil {
return nil, &ParseError{f, "bad RT Preference", l}
} else {
rr.Preference = uint16(i)
}
<-c // _BLANK
l = <-c // _STRING
rr.Host = l.token
_, ld, ok := IsDomainName(l.token)
if !ok {
return nil, &ParseError{f, "bad RT Host", l}
}
if rr.Host[ld-1] != '.' {
rr.Host= appendOrigin(rr.Host, o)
}
return rr, nil
}
func setAFSDB(h RR_Header, c chan lex, o, f string) (RR, *ParseError) {
rr := new(RR_AFSDB)
rr.Hdr = h