From 03d7306558eb9f74f48cdda2c8a4205058988e5e Mon Sep 17 00:00:00 2001 From: Tom Thorogood Date: Wed, 28 Nov 2018 01:08:33 +1030 Subject: [PATCH] Fix NotImp RCode string (#819) * Fix NOTIMP typo in RcodeToString RFC 6895 lists RCODE 4 as NotImp. * Accept legacy NOTIMPL spelling in StringToRcode --- msg.go | 2 +- reverse.go | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/msg.go b/msg.go index 7f151f12..4208eb45 100644 --- a/msg.go +++ b/msg.go @@ -150,7 +150,7 @@ var RcodeToString = map[int]string{ RcodeFormatError: "FORMERR", RcodeServerFailure: "SERVFAIL", RcodeNameError: "NXDOMAIN", - RcodeNotImplemented: "NOTIMPL", + RcodeNotImplemented: "NOTIMP", RcodeRefused: "REFUSED", RcodeYXDomain: "YXDOMAIN", // See RFC 2136 RcodeYXRrset: "YXRRSET", diff --git a/reverse.go b/reverse.go index f6e7a47a..1f0e2b2a 100644 --- a/reverse.go +++ b/reverse.go @@ -12,6 +12,11 @@ var StringToOpcode = reverseInt(OpcodeToString) // StringToRcode is a map of rcodes to strings. var StringToRcode = reverseInt(RcodeToString) +func init() { + // Preserve previous NOTIMP typo, see github.com/miekg/dns/issues/733. + StringToRcode["NOTIMPL"] = RcodeNotImplemented +} + // Reverse a map func reverseInt8(m map[uint8]string) map[string]uint8 { n := make(map[string]uint8, len(m))