From a0c2f6616993678ef38c48b8d36cfc933d06d474 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Mon, 19 May 2014 17:46:08 -0500 Subject: [PATCH] peer: fix handleGetAddr. fix addr test. Signed-off-by: Fedor Indutny --- lib/bcoin/peer.js | 4 +--- test/protocol-test.js | 14 +++++--------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/lib/bcoin/peer.js b/lib/bcoin/peer.js index 2f762abd..63496d2a 100644 --- a/lib/bcoin/peer.js +++ b/lib/bcoin/peer.js @@ -382,9 +382,7 @@ Peer.prototype._handleGetAddr = function handleGetAddr() { return +n; }); - peer.ipv6 = peer.ipv6.split(':').slice(5).map(function(n) { - return parseInt(n || 0, 16); - }); + peer.ipv6 = utils.toArray(peer.ipv6, 'hex'); return peer; }).filter(Boolean); diff --git a/test/protocol-test.js b/test/protocol-test.js index 88b2b166..158e59e9 100644 --- a/test/protocol-test.js +++ b/test/protocol-test.js @@ -1,5 +1,6 @@ var assert = require('assert'); var bcoin = require('../'); +var utils = bcoin.utils; describe('Protocol', function() { var parser; @@ -49,19 +50,14 @@ describe('Protocol', function() { return +n; }); addr._ipv6 = addr.ipv6; - addr.ipv6 = addr.ipv6.split(':').map(function(n) { - return [(parseInt(n, 16) >> 8) & 0xff, parseInt(n, 16) & 0xff]; - }).reduce(function(out, val) { - return out.concat(val); - }, []); + addr.ipv6 = utils.toArray(addr.ipv6, 'hex'); addr._ipv6 = '::' + addr._ipv6.split(':').slice(2).join(':'); }); + packetTest('addr', peers, function(payload) { - if (parser.parseAddr) { - payload = parser.parseAddr(payload); - } else { - // XXX Legacy + // XXX Legacy + if (!parser.parseAddr) { var addrs = []; bcoin.peer.prototype._handleAddr.call({ emit: function(_, obj) {