86 lines
1.6 KiB
JavaScript
Raw Normal View History

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.toRcode = toRcode;
exports.toString = toString;
/*
* Traditional DNS header RCODEs (4-bits) defined by IANA in
* https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml
*/
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;
}
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;
}