You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.3 KiB
50 lines
1.3 KiB
'use strict' |
|
|
|
/* |
|
* 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 |
|
}
|
|
|