Merge branch 'creationix/add-missing-dns-types' into 'master'
Add missing dns type IDs to mapping table See merge request !2
This commit is contained in:
commit
8fc78f35f0
49
dns.types.js
49
dns.types.js
|
@ -2,22 +2,55 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var types = exports.DNS_TYPES = {
|
var types = exports.DNS_TYPES = {
|
||||||
A: 0x01 // 1
|
A: 0x1 // 1
|
||||||
, NS: 0x02 // 2
|
, NS: 0x2 // 2
|
||||||
, CNAME: 0x05 // 5
|
, CNAME: 0x5 // 5
|
||||||
, SOA: 0x06 // 6
|
, SOA: 0x6 // 6
|
||||||
, PTR: 0x0c // 12
|
, NULL: 0xa // 10
|
||||||
, MX: 0x0f // 15
|
, PTR: 0xc // 12
|
||||||
|
, HINFO: 0xd // 13
|
||||||
|
, MX: 0xf // 15
|
||||||
, TXT: 0x10 // 16
|
, TXT: 0x10 // 16
|
||||||
|
, RP: 0x11 // 17
|
||||||
|
, AFSDB: 0x12 // 18
|
||||||
|
, SIG: 0x18 // 24
|
||||||
|
, KEY: 0x19 // 25
|
||||||
, AAAA: 0x1c // 28
|
, AAAA: 0x1c // 28
|
||||||
|
, LOC: 0x1d // 29
|
||||||
, SRV: 0x21 // 33
|
, SRV: 0x21 // 33
|
||||||
|
, NAPTR: 0x23 // 35
|
||||||
|
, KX: 0x24 // 36
|
||||||
|
, CERT: 0x25 // 37
|
||||||
|
, DNAME: 0x27 // 39
|
||||||
, OPT: 0x29 // 41
|
, OPT: 0x29 // 41
|
||||||
|
, APL: 0x2a // 42
|
||||||
|
, DS: 0x2b // 43
|
||||||
|
, SSHFP: 0x2c // 44
|
||||||
|
, IPSECKEY: 0x2d // 45
|
||||||
|
, RRSIG: 0x2e // 46
|
||||||
|
, NSEC: 0x2f // 47
|
||||||
|
, DNSKEY: 0x30 // 48
|
||||||
|
, DHCID: 0x31 // 49
|
||||||
|
, NSEC3: 0x32 // 50
|
||||||
|
, NSEC3PARAM: 0x33 // 51
|
||||||
|
, TLSA: 0x34 // 52
|
||||||
|
, HIP: 0x37 // 55
|
||||||
|
, CDS: 0x3b // 59
|
||||||
|
, CDNSKEY: 0x3c // 60
|
||||||
|
, SPF: 0x63 // 99
|
||||||
|
, TKEY: 0xf9 // 249
|
||||||
|
, TSIG: 0xfa // 250
|
||||||
|
, IXFR: 0xfb // 251
|
||||||
|
, AXFR: 0xfc // 252
|
||||||
, ANY: 0xff // 255
|
, ANY: 0xff // 255
|
||||||
|
, CAA: 0x101 // 257
|
||||||
|
, TA: 0x8000 // 32768
|
||||||
|
, DLV: 0x8001 // 32769
|
||||||
};
|
};
|
||||||
|
|
||||||
// and in reverse
|
// and in reverse
|
||||||
Object.keys(types).forEach(function (key) {
|
for (var key in types) {
|
||||||
types[types[key]] = key;
|
types[types[key]] = key;
|
||||||
});
|
}
|
||||||
|
|
||||||
}('undefined' !== typeof window ? window : exports));
|
}('undefined' !== typeof window ? window : exports));
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
(function (exports) {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
// A Certification Authority Authorization (CAA) record is used to specify which
|
||||||
|
// certificate authorities (CAs) are allowed to issue certificates for a domain.
|
||||||
|
|
||||||
|
// Value Meaning/Use
|
||||||
|
//
|
||||||
|
// Flag An unsigned integer between 0-255.
|
||||||
|
// It is currently used to represent the critical flag, that has a
|
||||||
|
// specific meaning per RFC 6844
|
||||||
|
// Tag An ASCII string that represents the identifier of the property
|
||||||
|
// represented by the record.
|
||||||
|
// Value The value associated with the tag.
|
||||||
|
|
||||||
|
// The RFC currently defines 3 available tags:
|
||||||
|
//
|
||||||
|
// - issue: explicity authorizes a single certificate authority to issue a
|
||||||
|
// certificate (any type) for the hostname.
|
||||||
|
// - issuewild: explicity authorizes a single certificate authority to issue a
|
||||||
|
// wildcard certificate (and only wildcard) for the hostname.
|
||||||
|
// - iodef: specifies an URL to which a certificate authority may report
|
||||||
|
// policy violations.
|
||||||
|
|
||||||
|
exports.DNS_PARSER_TYPE_CAA = function (ab, packet, record) {
|
||||||
|
|
||||||
|
var data = new Uint8Array(ab);
|
||||||
|
var i = record.rdstart;
|
||||||
|
var flag = data[i++];
|
||||||
|
var mid = data[i++];
|
||||||
|
mid += i;
|
||||||
|
var end = record.rdstart + record.rdlength;
|
||||||
|
var tag = '', value = '';
|
||||||
|
while (i < mid) { tag += String.fromCharCode(data[i++]); }
|
||||||
|
while (i < end) { value += String.fromCharCode(data[i++]); }
|
||||||
|
|
||||||
|
record.flag = flag;
|
||||||
|
record.tag = tag;
|
||||||
|
record.value = value;
|
||||||
|
|
||||||
|
return record;
|
||||||
|
};
|
||||||
|
|
||||||
|
}('undefined' !== typeof window ? window : exports));
|
Loading…
Reference in New Issue