Created
October 18, 2019 10:22
-
-
Save GitMirar/6b07cca668cbf5d95d8cb0c3ee60fa6f to your computer and use it in GitHub Desktop.
snippet to parse the DNS RCODE field
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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