diff --git a/t/miek.nl.signed_test b/t/miek.nl.signed_test index 2bea2633..93b41d33 100644 --- a/t/miek.nl.signed_test +++ b/t/miek.nl.signed_test @@ -65,3 +65,4 @@ zzzzz.miek.nl. 86400 IN RRSIG NSEC 8 3 86400 20110823011301 20110724011 a.example. CLASS32 TYPE731 \# 6 abcd ( ef 01 23 45 ) b.example. HS TYPE62347 \# 0 +@ IN NS a.miek.nl. diff --git a/zscan.go b/zscan.go index 29e1095a..33d035a2 100644 --- a/zscan.go +++ b/zscan.go @@ -167,6 +167,11 @@ func parseZone(r io.Reader, f string, t chan Token, include int) { st = _EXPECT_OWNER_DIR case _OWNER: h.Name = l.token + if l.token == "@" { + h.Name = origin + st = _EXPECT_OWNER_BL + break + } _, ld, ok := IsDomainName(l.token) if !ok { t <- Token{Error: &ParseError{f, "bad owner name", l}} diff --git a/zscan_rr.go b/zscan_rr.go index d9525d05..ba15623f 100644 --- a/zscan_rr.go +++ b/zscan_rr.go @@ -748,7 +748,7 @@ func setRFC3597(h RR_Header, c chan lex, f string) (RR, *ParseError) { rr.Hdr = h l := <-c if l.token != "\\#" { - return nil, &ParseError{f, "bad RFC3597 Token", l} + return nil, &ParseError{f, "Unkown RR type", l} } <-c // _BLANK l = <-c