summaryrefslogtreecommitdiff
path: root/internal/dns/header.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/dns/header.go')
-rw-r--r--internal/dns/header.go28
1 files changed, 14 insertions, 14 deletions
diff --git a/internal/dns/header.go b/internal/dns/header.go
index 1535500..3b51f67 100644
--- a/internal/dns/header.go
+++ b/internal/dns/header.go
@@ -36,22 +36,22 @@ func (h *Header) RA() bool { return h.Flags&0x0080 != 0 }
// Mutator Flags
func (h *Header) SetQR(v bool) { h.set(0x8000, v) }
func (h *Header) SetOpCode(v uint8) {
- h.Bits = (h.Bits &^ (0xF << 11)) |
+ h.Flags = (h.Flags &^ (0xF << 11)) |
((uint16(v) & 0xF) << 11)
}
-func (h *Header) SetAA(v bool) { h.set(0x0400, v) }
-func (h *Header) SetTC(v bool) { h.set(0x0200, v) }
-func (h *Header) SetRD(v bool) { h.set(0x0100, v) }
-func (h *Header) SetRA(v bool) { h.set(0x0080, v) }
-func (h *Header) SetZ(v uint8) { h.Bits = (h.Bits &^ 0xF) | (uint16(v) & 0xF) << 4) }
-func (h *Header) SetAD(v bool) { h.set(0x0020, v) }
-func (h *Header) SetCD(v bool) { h.set(0x0010, v) }
-func (h *Header) SetRCode(v uint8) { h.Bits = (h.Bits &^ 0xF) | (uint16(v) & 0xF) }
+func (h *Header) SetAA(v bool) { h.set(0x0400, v) }
+func (h *Header) SetTC(v bool) { h.set(0x0200, v) }
+func (h *Header) SetRD(v bool) { h.set(0x0100, v) }
+func (h *Header) SetRA(v bool) { h.set(0x0080, v) }
+func (h *Header) SetZ(v uint8) { h.Flags = (h.Flags &^ (0x7 << 4)) | ((uint16(v) & 0x7) << 4) }
+func (h *Header) SetAD(v bool) { h.set(0x0020, v) }
+func (h *Header) SetCD(v bool) { h.set(0x0010, v) }
+func (h *Header) SetRCode(v uint8) { h.Flags = (h.Flags &^ 0xF) | (uint16(v) & 0xF) }
func (h *Header) set(mask uint16, v bool) {
- if v {
- h.Bits |= mask
- } else {
- h.Bits &^= mask
- }
+ if v {
+ h.Flags |= mask
+ } else {
+ h.Flags &^= mask
+ }
}