Skip to content

Instantly share code, notes, and snippets.

@GitMirar
Created October 18, 2019 10:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GitMirar/6b07cca668cbf5d95d8cb0c3ee60fa6f to your computer and use it in GitHub Desktop.
Save GitMirar/6b07cca668cbf5d95d8cb0c3ee60fa6f to your computer and use it in GitHub Desktop.
snippet to parse the DNS RCODE field
const (
RC_NOERROR = 0
RC_FORMERR = 1
RC_SERVFAIL = 2
RC_NXDOMAIN = 3
RC_NOTIMP = 4
RC_REFUSED = 5
RC_YXDOMAIN = 6
RC_YXRRSET = 7
RC_NXRRSET = 8
RC_NOTAUTH = 9
RC_NOTZONE = 10
RC_DSOTYPENI = 11
RC_BADVERS = 16
RC_BADKEY = 17
RC_BADTIME = 18
RC_BADMODE = 19
RC_BADNAME = 20
RC_BADALG = 21
RC_BADTRUNC = 22
RC_COOKIE = 23
)
func parseRCode(rcode int) string {
switch rcode {
case RC_NOERROR:
return "NOERROR"
case RC_FORMERR:
return "FORMERR"
case RC_SERVFAIL:
return "SERVFAIL"
case RC_NXDOMAIN:
return "NXDOMAIN"
case RC_NOTIMP:
return "NOTIMP"
case RC_REFUSED:
return "REFUSED"
case RC_YXDOMAIN:
return "YXDOMAIN"
case RC_YXRRSET:
return "YXRRSET"
case RC_NXRRSET:
return "NXRRSET"
case RC_NOTAUTH:
return "NOTAUTH"
case RC_NOTZONE:
return "NOTZONE"
case RC_DSOTYPENI:
return "DCSOTYPENI"
case RC_BADVERS:
return "BADVERS"
case RC_BADKEY:
return "BADKEY"
case RC_BADTIME:
return "BADTIME"
case RC_BADMODE:
return "BADMODE"
case RC_BADNAME:
return "BADNAME"
case RC_BADALG:
return "BADALG"
case RC_BADTRUNC:
return "BADTRUNC"
case RC_COOKIE:
return "COOKIE"
default:
return fmt.Sprintf("%d", rcode)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment