tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

rcodes.js (1284B)


      1 'use strict'
      2 
      3 /*
      4 * Traditional DNS header RCODEs (4-bits) defined by IANA in
      5 * https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml
      6 */
      7 
      8 exports.toString = function (rcode) {
      9  switch (rcode) {
     10    case 0: return 'NOERROR'
     11    case 1: return 'FORMERR'
     12    case 2: return 'SERVFAIL'
     13    case 3: return 'NXDOMAIN'
     14    case 4: return 'NOTIMP'
     15    case 5: return 'REFUSED'
     16    case 6: return 'YXDOMAIN'
     17    case 7: return 'YXRRSET'
     18    case 8: return 'NXRRSET'
     19    case 9: return 'NOTAUTH'
     20    case 10: return 'NOTZONE'
     21    case 11: return 'RCODE_11'
     22    case 12: return 'RCODE_12'
     23    case 13: return 'RCODE_13'
     24    case 14: return 'RCODE_14'
     25    case 15: return 'RCODE_15'
     26  }
     27  return 'RCODE_' + rcode
     28 }
     29 
     30 exports.toRcode = function (code) {
     31  switch (code.toUpperCase()) {
     32    case 'NOERROR': return 0
     33    case 'FORMERR': return 1
     34    case 'SERVFAIL': return 2
     35    case 'NXDOMAIN': return 3
     36    case 'NOTIMP': return 4
     37    case 'REFUSED': return 5
     38    case 'YXDOMAIN': return 6
     39    case 'YXRRSET': return 7
     40    case 'NXRRSET': return 8
     41    case 'NOTAUTH': return 9
     42    case 'NOTZONE': return 10
     43    case 'RCODE_11': return 11
     44    case 'RCODE_12': return 12
     45    case 'RCODE_13': return 13
     46    case 'RCODE_14': return 14
     47    case 'RCODE_15': return 15
     48  }
     49  return 0
     50 }