blob: 77ae46d4785584aa1a5019f93d7ce8b219b25b25 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
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)
}
|