| /* |
| * 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 |
| } |