|
|
- /*
- * Traditional DNS header RCODEs (4-bits) defined by IANA in
- * https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml
- */
-
- exports.toString = function (rcode) {
- switch (rcode) {
- case 0: return 'NOERROR'
- case 1: return 'FORMERR'
- case 2: return 'SERVFAIL'
- case 3: return 'NXDOMAIN'
- case 4: return 'NOTIMP'
- case 5: return 'REFUSED'
- case 6: return 'YXDOMAIN'
- case 7: return 'YXRRSET'
- case 8: return 'NXRRSET'
- case 9: return 'NOTAUTH'
- case 10: return 'NOTZONE'
- case 11: return 'RCODE_11'
- case 12: return 'RCODE_12'
- case 13: return 'RCODE_13'
- case 14: return 'RCODE_14'
- case 15: return 'RCODE_15'
- }
- return 'RCODE_' + rcode
- }
-
- exports.toRcode = function (code) {
- switch (code.toUpperCase()) {
- case 'NOERROR': return 0
- case 'FORMERR': return 1
- case 'SERVFAIL': return 2
- case 'NXDOMAIN': return 3
- case 'NOTIMP': return 4
- case 'REFUSED': return 5
- case 'YXDOMAIN': return 6
- case 'YXRRSET': return 7
- case 'NXRRSET': return 8
- case 'NOTAUTH': return 9
- case 'NOTZONE': return 10
- case 'RCODE_11': return 11
- case 'RCODE_12': return 12
- case 'RCODE_13': return 13
- case 'RCODE_14': return 14
- case 'RCODE_15': return 15
- }
- return 0
- }
|