dns-packet-typescript
Version:
An abstract-encoding compliant module for encoding / decoding DNS packets
52 lines • 1.63 kB
JavaScript
"use strict";
/*
* Traditional DNS header RCODEs (4-bits) defined by IANA in
* https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.toRcode = exports.toString = void 0;
function toString(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.toString = toString;
function toRcode(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;
}
exports.toRcode = toRcode;
//# sourceMappingURL=rcodes.js.map