From 38d78bafe419ff4fe38b256526b07d45d463faa2 Mon Sep 17 00:00:00 2001 From: Andrew Tunnell-Jones Date: Sat, 1 Mar 2014 22:30:52 +0000 Subject: [PATCH] Escape @ when printing/unpacking domain names --- msg.go | 2 +- types.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/msg.go b/msg.go index 20877e8e..5e9e1bc8 100644 --- a/msg.go +++ b/msg.go @@ -403,7 +403,7 @@ Loop: } for j := off; j < off+c; j++ { switch b := msg[j]; b { - case '.', '(', ')', ';', ' ': + case '.', '(', ')', ';', ' ', '@': fallthrough case '"', '\\': s = append(s, '\\', b) diff --git a/types.go b/types.go index 19058c15..2b6ce8a4 100644 --- a/types.go +++ b/types.go @@ -480,7 +480,7 @@ func sprintTxt(txt []string) string { } func appendDomainNameByte(s []byte, b byte) []byte { - if b == '.' || b == '(' || b == ')' || b == ';' || b == ' ' || b == '\'' { + if b == '.' || b == '(' || b == ')' || b == ';' || b == ' ' || b == '\'' || b == '@' { return append(s, '\\', b) } return appendTXTStringByte(s, b)