2017-01-27 02:18:46 +00:00
|
|
|
(function (exports) {
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
// Pointer records are the opposite of A and AAAA and are
|
|
|
|
// used in Reverse Map zone files to map an IP address (IPv4 or IPv6)
|
|
|
|
// to a host name.
|
|
|
|
|
|
|
|
// FORMAT:
|
2017-10-09 19:48:54 +00:00
|
|
|
// name ttl class rr name
|
|
|
|
// foo. 15 IN PTR www.example.com.
|
2017-01-27 02:18:46 +00:00
|
|
|
|
2017-02-18 02:38:47 +00:00
|
|
|
var unpackLabels = exports.DNS_UNPACK_LABELS || require('../dns.unpack-labels.js').DNS_UNPACK_LABELS;
|
2017-02-17 23:13:57 +00:00
|
|
|
exports.DNS_PARSER_TYPE_PTR = function (ab, pack, record) {
|
2017-10-09 19:48:54 +00:00
|
|
|
var labelInfo = unpackLabels(new Uint8Array(ab), record.rdstart, { byteLength: 0, cpcount: 0, labels: [], name: '' });
|
|
|
|
if (record.trunc) {
|
|
|
|
throw new Error("RDATA type PTR must be `null`-terminated, not truncated by rdata length.");
|
|
|
|
}
|
|
|
|
record.data = labelInfo.name;
|
2017-01-27 02:18:46 +00:00
|
|
|
};
|
2017-10-09 19:48:54 +00:00
|
|
|
|
2017-01-27 02:18:46 +00:00
|
|
|
}('undefined' !== typeof window ? window : exports));
|