86 lines
1.6 KiB
JavaScript
86 lines
1.6 KiB
JavaScript
|
|
"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;
|
||
|
|
}
|