1 | 'use strict'
|
2 |
|
3 | exports.toString = function (type) {
|
4 | switch (type) {
|
5 | case 1: return 'A'
|
6 | case 10: return 'NULL'
|
7 | case 28: return 'AAAA'
|
8 | case 18: return 'AFSDB'
|
9 | case 42: return 'APL'
|
10 | case 257: return 'CAA'
|
11 | case 60: return 'CDNSKEY'
|
12 | case 59: return 'CDS'
|
13 | case 37: return 'CERT'
|
14 | case 5: return 'CNAME'
|
15 | case 49: return 'DHCID'
|
16 | case 32769: return 'DLV'
|
17 | case 39: return 'DNAME'
|
18 | case 48: return 'DNSKEY'
|
19 | case 43: return 'DS'
|
20 | case 55: return 'HIP'
|
21 | case 13: return 'HINFO'
|
22 | case 45: return 'IPSECKEY'
|
23 | case 25: return 'KEY'
|
24 | case 36: return 'KX'
|
25 | case 29: return 'LOC'
|
26 | case 15: return 'MX'
|
27 | case 35: return 'NAPTR'
|
28 | case 2: return 'NS'
|
29 | case 47: return 'NSEC'
|
30 | case 50: return 'NSEC3'
|
31 | case 51: return 'NSEC3PARAM'
|
32 | case 12: return 'PTR'
|
33 | case 46: return 'RRSIG'
|
34 | case 17: return 'RP'
|
35 | case 24: return 'SIG'
|
36 | case 6: return 'SOA'
|
37 | case 99: return 'SPF'
|
38 | case 33: return 'SRV'
|
39 | case 44: return 'SSHFP'
|
40 | case 32768: return 'TA'
|
41 | case 249: return 'TKEY'
|
42 | case 52: return 'TLSA'
|
43 | case 250: return 'TSIG'
|
44 | case 16: return 'TXT'
|
45 | case 252: return 'AXFR'
|
46 | case 251: return 'IXFR'
|
47 | case 41: return 'OPT'
|
48 | case 255: return 'ANY'
|
49 | }
|
50 | return 'UNKNOWN_' + type
|
51 | }
|
52 |
|
53 | exports.toType = function (name) {
|
54 | switch (name.toUpperCase()) {
|
55 | case 'A': return 1
|
56 | case 'NULL': return 10
|
57 | case 'AAAA': return 28
|
58 | case 'AFSDB': return 18
|
59 | case 'APL': return 42
|
60 | case 'CAA': return 257
|
61 | case 'CDNSKEY': return 60
|
62 | case 'CDS': return 59
|
63 | case 'CERT': return 37
|
64 | case 'CNAME': return 5
|
65 | case 'DHCID': return 49
|
66 | case 'DLV': return 32769
|
67 | case 'DNAME': return 39
|
68 | case 'DNSKEY': return 48
|
69 | case 'DS': return 43
|
70 | case 'HIP': return 55
|
71 | case 'HINFO': return 13
|
72 | case 'IPSECKEY': return 45
|
73 | case 'KEY': return 25
|
74 | case 'KX': return 36
|
75 | case 'LOC': return 29
|
76 | case 'MX': return 15
|
77 | case 'NAPTR': return 35
|
78 | case 'NS': return 2
|
79 | case 'NSEC': return 47
|
80 | case 'NSEC3': return 50
|
81 | case 'NSEC3PARAM': return 51
|
82 | case 'PTR': return 12
|
83 | case 'RRSIG': return 46
|
84 | case 'RP': return 17
|
85 | case 'SIG': return 24
|
86 | case 'SOA': return 6
|
87 | case 'SPF': return 99
|
88 | case 'SRV': return 33
|
89 | case 'SSHFP': return 44
|
90 | case 'TA': return 32768
|
91 | case 'TKEY': return 249
|
92 | case 'TLSA': return 52
|
93 | case 'TSIG': return 250
|
94 | case 'TXT': return 16
|
95 | case 'AXFR': return 252
|
96 | case 'IXFR': return 251
|
97 | case 'OPT': return 41
|
98 | case 'ANY': return 255
|
99 | case '*': return 255
|
100 | }
|
101 | if (name.toUpperCase().startsWith('UNKNOWN_')) return parseInt(name.slice(8))
|
102 | return 0
|
103 | }
|