From 2062e359ae3676f9e79621ffbd1f4aab0213b2ef Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Thu, 23 Feb 2017 16:35:19 -0700 Subject: [PATCH] compatibility fix: return NodeBuffer from DNSPacket.write --- README.md | 13 ++++++++++++- dns.js | 13 +++++++------ test/packer.js | 4 ++-- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 9685bc3..7a433bc 100644 --- a/README.md +++ b/README.md @@ -51,8 +51,19 @@ Similar API to `dns.js` and `native-dns-packet`. Install ------- +You can use git to install v1.x (and get updates) or just v1.0.x (and only get patches). +The API will not break until v2. + ```bash -npm install git+https://git@git.daplie.com:Daplie/dns-suite +# latest of v1.x +npm install 'git+https://git@git.daplie.com:Daplie/dns-suite#v1' +``` + +Don't have git? You can bow down to the gods of the centralized, monopolized, concentrated, dictatornet +(as we like to call it here at Daplie Labs): + +``` +npm install --save dns-suite ``` **Test**: diff --git a/dns.js b/dns.js index c257669..eaa9b99 100644 --- a/dns.js +++ b/dns.js @@ -1,13 +1,10 @@ ;(function (exports) { 'use strict'; -// Value: IP Address -// Meaning:Use: 16 octets represting the IP address - var Parser = (exports.DNS_PARSER || require('./dns.parser.js').DNS_PARSER); var Packer = (exports.DNS_PACKER || require('./dns.packer.js').DNS_PACKER); -var classes = exports.DNS_CLASSES || require('./dns.classes.js').DNS_CLASSES; -var types = exports.DNS_TYPES || require('./dns.types.js').DNS_TYPES; +//var classes = exports.DNS_CLASSES || require('./dns.classes.js').DNS_CLASSES; +//var types = exports.DNS_TYPES || require('./dns.types.js').DNS_TYPES; exports.DNSPacket = { parse: function (nb) { // backwards compat with node buffer @@ -15,7 +12,7 @@ exports.DNSPacket = { var packet = Parser.unpack(ab); function tryParseRdata(record) { - + try { record = Parser.unpackRdata(ab, packet, record); @@ -31,7 +28,11 @@ exports.DNSPacket = { return packet; } + // Backwards compat , write: function (json) { + return Buffer.from(Packer.pack(json)); + } +, pack: function (json) { return Packer.pack(json); } }; diff --git a/test/packer.js b/test/packer.js index e5b6041..f50c2e8 100644 --- a/test/packer.js +++ b/test/packer.js @@ -2,7 +2,7 @@ 'use strict'; var fs = require('fs'); - var path = require('path'); + //var path = require('path'); var dnsjs = require('../').DNSPacket; //var dirname = path.join(__dirname, 'fixtures'); @@ -21,7 +21,7 @@ var json = JSON.parse(fs.readFileSync(onefile, 'utf8')); - var ab = dnsjs.write(json); + var ab = dnsjs.write(json).buffer; //console.log(ab); //console.log(ui8);