Skip to main content
Module

x/packet/src/utility/rcodes.ts

An abstract-encoding compliant module for encoding / decoding DNS packets, for Deno.
Go to Latest
File



/// export
export 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}`;}
export 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;}
/// Traditional DNS header RCODEs (4-bits) defined by IANA in/// https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml