Compare commits

..

13 Commits

Author SHA1 Message Date
f686a3a010 chore: release version v0.4.2 2017-07-08 21:24:29 +01:00
92946a59c3 chore: update contributors 2017-07-08 21:24:29 +01:00
65e8fd5f24 chore: update deps 2017-07-08 21:21:27 +01:00
f07b35f4d4 chore: release version v0.4.1 2017-04-06 15:26:16 -04:00
85f601f809 chore: update contributors 2017-04-06 15:26:15 -04:00
bb6d3dfc36 fix: if conn was closed, don't crash just because identify didn't get any data (#40) 2017-04-06 15:14:37 -04:00
4312acf49a chore: release version v0.4.0 2017-03-30 14:20:11 +01:00
45c0e957c3 chore: update contributors 2017-03-30 14:20:10 +01:00
7d4294b279 Feat/new peer info (#39)
* chore: update deps

* feat: peer-info rave
2017-03-30 14:17:25 +01:00
228c2b09de chore: release version v0.3.3 2017-03-21 15:17:06 +00:00
faa5433f8d chore: update contributors 2017-03-21 15:17:06 +00:00
de53a00e4d chore: update aegir 2017-03-21 15:16:31 +00:00
cf45341754 chore(package): update aegir to version 10.0.0 (#32)
https://greenkeeper.io/
2017-02-13 18:03:30 -08:00
6 changed files with 42 additions and 39 deletions

View File

@ -1,6 +1,6 @@
{
"name": "libp2p-identify",
"version": "0.3.2",
"version": "0.4.2",
"description": "libp2p Identify Protocol",
"main": "src/index.js",
"scripts": {
@ -37,18 +37,19 @@
},
"homepage": "https://github.com/libp2p/js-libp2p-identify#readme",
"devDependencies": {
"aegir": "^10.0.0",
"chai": "^3.5.0",
"aegir": "^11.0.2",
"chai": "^4.0.2",
"dirty-chai": "^2.0.0",
"pre-commit": "^1.2.2",
"pull-pair": "^1.1.0"
},
"dependencies": {
"multiaddr": "^2.2.1",
"peer-id": "~0.8.2",
"peer-info": "~0.8.3",
"multiaddr": "^2.3.0",
"peer-id": "~0.8.7",
"peer-info": "~0.9.2",
"protocol-buffers": "^3.2.1",
"pull-length-prefixed": "^1.2.0",
"pull-stream": "^3.5.0"
"pull-length-prefixed": "^1.3.0",
"pull-stream": "^3.6.0"
},
"contributors": [
"David Dias <daviddias.p@gmail.com>",

View File

@ -17,6 +17,11 @@ module.exports = (conn, callback) => {
return callback(err)
}
// connection got closed graciously
if (data.length === 0) {
return callback(new Error('conn was closed, did not receive data'))
}
const input = msg.decode(data[0])
PeerId.createFromPubKey(input.publicKey, (err, id) => {
@ -24,12 +29,12 @@ module.exports = (conn, callback) => {
return callback(err)
}
const info = new PeerInfo(id)
const peerInfo = new PeerInfo(id)
input.listenAddrs
.map(multiaddr)
.forEach((ma) => info.multiaddr.add(ma))
.forEach((ma) => peerInfo.multiaddrs.add(ma))
callback(null, info, getObservedAddrs(input))
callback(null, peerInfo, getObservedAddrs(input))
})
})
)

View File

@ -20,7 +20,7 @@ module.exports = (conn, pInfoSelf) => {
protocolVersion: 'ipfs/0.1.0',
agentVersion: 'na',
publicKey: publicKey,
listenAddrs: pInfoSelf.multiaddrs.map((ma) => ma.buffer),
listenAddrs: pInfoSelf.multiaddrs.toArray().map((ma) => ma.buffer),
observedAddr: observedAddrs ? observedAddrs.buffer : new Buffer('')
})

View File

@ -2,7 +2,10 @@
'use strict'
const pull = require('pull-stream')
const expect = require('chai').expect
const chai = require('chai')
const dirtyChai = require('dirty-chai')
const expect = chai.expect
chai.use(dirtyChai)
const pair = require('pull-pair/duplex')
const PeerInfo = require('peer-info')
const lp = require('pull-length-prefixed')
@ -26,7 +29,7 @@ describe('identify.dialer', () => {
it('works', (done) => {
const p = pair()
original.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/5002'))
original.multiaddrs.add(multiaddr('/ip4/127.0.0.1/tcp/5002'))
const input = msg.encode({
protocolVersion: 'ipfs/0.1.0',
agentVersion: 'na',
@ -42,24 +45,15 @@ describe('identify.dialer', () => {
)
identify.dialer(p[1], (err, info, observedAddrs) => {
expect(err).to.not.exist
expect(
info.id.pubKey.bytes
).to.be.eql(
original.id.pubKey.bytes
)
expect(err).to.not.exist()
expect(info.id.pubKey.bytes)
.to.eql(original.id.pubKey.bytes)
expect(
info.multiaddrs
).to.be.eql(
original.multiaddrs
)
expect(info.multiaddrs.toArray())
.to.eql(original.multiaddrs.toArray())
expect(
observedAddrs
).to.be.eql(
[multiaddr('/ip4/127.0.0.1/tcp/5001')]
)
expect(observedAddrs)
.to.eql([multiaddr('/ip4/127.0.0.1/tcp/5001')])
done()
})

View File

@ -1,16 +1,15 @@
/* eslint-env mocha */
'use strict'
const expect = require('chai').expect
const chai = require('chai')
const dirtyChai = require('dirty-chai')
const expect = chai.expect
chai.use(dirtyChai)
const identify = require('../src')
describe('identify', () => {
it('multicodec', () => {
expect(
identify.multicodec
).to.be.eql(
'/ipfs/id/1.0.0'
)
expect(identify.multicodec).to.eql('/ipfs/id/1.0.0')
})
})

View File

@ -2,7 +2,10 @@
'use strict'
const pull = require('pull-stream')
const expect = require('chai').expect
const chai = require('chai')
const dirtyChai = require('dirty-chai')
const expect = chai.expect
chai.use(dirtyChai)
const pair = require('pull-pair/duplex')
const PeerInfo = require('peer-info')
const lp = require('pull-length-prefixed')
@ -13,6 +16,7 @@ const identify = require('../src')
describe('identify.listener', () => {
let info
beforeEach((done) => {
PeerInfo.create((err, _info) => {
if (err) {
@ -26,12 +30,12 @@ describe('identify.listener', () => {
it('works', (done) => {
const p = pair()
info.multiaddr.add(multiaddr('/ip4/127.0.0.1/tcp/5002'))
info.multiaddrs.add(multiaddr('/ip4/127.0.0.1/tcp/5002'))
pull(
p[1],
lp.decode(),
pull.collect((err, result) => {
expect(err).to.not.exist
expect(err).to.not.exist()
const input = msg.decode(result[0])
expect(