CopyFrom pattern for DNS and use it for Cookie

This commit is contained in:
soypat
2025-06-25 09:32:35 -03:00
parent 1fcde05284
commit 23212d8dc6
6 changed files with 81 additions and 12 deletions
+5
View File
@@ -9,6 +9,7 @@ import (
// common errors. Taken from golang.org/x/net/dns/dnsmessage module.
var (
errNoResponse = errors.New("no DNS response")
errNameTooLong = errors.New("DNS name exceeds maximum length")
errNoNullTerm = errors.New("DNS name missing null terminator")
errCalcLen = errors.New("DNS calculated name label length exceeds remaining buffer length")
@@ -141,6 +142,10 @@ func (flags HeaderFlags) String() string {
return string(flags.appendF(buf))
}
func (flags RCode) Error() string {
return flags.String()
}
func (flags HeaderFlags) appendF(buf []byte) []byte {
writeBit := func(b bool, s string) {
if b {