diff --git a/types_generate.go b/types_generate.go index 8c897ec11..02576b1d6 100644 --- a/types_generate.go +++ b/types_generate.go @@ -193,6 +193,8 @@ func main() { fallthrough case st.Tag(i) == `dns:"hex"`: o("l += len(rr.%s)/2 + 1\n") + case st.Tag(i) == `dns:"any"`: + o("l += len(rr.%s)\n") case st.Tag(i) == `dns:"a"`: o("l += net.IPv4len // %s\n") case st.Tag(i) == `dns:"aaaa"`: diff --git a/zmsg.go b/zmsg.go index 6e2e0c5b9..9cbc8ae5d 100644 --- a/zmsg.go +++ b/zmsg.go @@ -898,7 +898,7 @@ func (rr *NULL) pack(msg []byte, off int, compression map[string]int, compress b return off, err } headerEnd := off - off, err = packStringOctet(rr.Anything, msg, off) + off, err = packStringAny(rr.Anything, msg, off) if err != nil { return off, err } @@ -2713,7 +2713,7 @@ func unpackNULL(h RR_Header, msg []byte, off int) (RR, int, error) { rdStart := off _ = rdStart - rr.Anything, off, err = unpackStringOctet(msg, off) + rr.Anything, off, err = unpackStringAny(msg, off, rdStart+int(rr.Hdr.Rdlength)) if err != nil { return rr, off, err }