package dns // https://datatracker.ietf.org/doc/html/rfc3597 import "fmt" type Unknown struct { RRType uint16 Data []byte } func (u *Unknown) Type() uint16 { return u.RRType } func (u *Unknown) Pack(p *packer) error { p.buf = append(p.buf, u.Data...) return nil } func (u *Unknown) Unpack(ru *unpacker, length uint16) error { if ru.off+int(length) > len(ru.buf) { return fmt.Errorf("dns: short unknown rdata") } u.Data = make([]byte, length) copy(u.Data, ru.buf[ru.off:ru.off+int(length)]) ru.off += int(length) return nil } func (u *Unknown) String() string { return fmt.Sprintf("\\# %d %x", len(u.Data), u.Data) }