diff --git a/package.json b/package.json index bfec7141..ab24c4fd 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ }, "dependencies": { "async": "^1.3.0", - "ip-address": "^4.0.0", + "ip-address": "^5.0.2", "ipfs-logger": "^0.1.0", "multiaddr": "^1.0.0", "multiplex-stream-muxer": "^0.2.0", diff --git a/src/identify/index.js b/src/identify/index.js index e7a857c4..63684631 100644 --- a/src/identify/index.js +++ b/src/identify/index.js @@ -7,7 +7,7 @@ var Interactive = require('multistream-select').Interactive var protobufs = require('protocol-buffers-stream') var fs = require('fs') var schema = fs.readFileSync(__dirname + '/identify.proto') -var v6 = require('ip-address').v6 +var Address6 = require('ip-address').Address6 var Id = require('peer-id') var multiaddr = require('multiaddr') @@ -112,10 +112,10 @@ exports.getHandlerFunction = function (peerInfoSelf, muxedConns) { function getMultiaddr (socket) { var mh - if (~socket.remoteAddress.indexOf(':')) { - var addr = new v6.Address(socket.remoteAddress) + if (socket.remoteFamily === 'IPv6') { + var addr = new Address6(socket.remoteAddress) if (addr.v4) { - var ip4 = socket.remoteAddress.split(':')[3] + var ip4 = addr.to4().correctForm() mh = multiaddr('/ip4/' + ip4 + '/tcp/' + socket.remotePort) } else { mh = multiaddr('/ip6/' + socket.remoteAddress + '/tcp/' + socket.remotePort)