Compare commits

...

7 Commits

Author SHA1 Message Date
2bc2b36050 chore: release version v0.14.4 2020-02-24 18:22:49 +01:00
f4f3e8529b chore: update contributors 2020-02-24 18:22:48 +01:00
3a127fca4c chore(deps-dev): bump sinon from 8.1.1 to 9.0.0
Bumps [sinon](https://github.com/sinonjs/sinon) from 8.1.1 to 9.0.0.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v8.1.1...v9.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-19 08:21:22 -05:00
0c4269cdc2 chore(deps-dev): bump aegir from 20.6.1 to 21.0.2 (#125)
Bumps [aegir](https://github.com/ipfs/aegir) from 20.6.1 to 21.0.2.
- [Release notes](https://github.com/ipfs/aegir/releases)
- [Changelog](https://github.com/ipfs/aegir/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ipfs/aegir/compare/v20.6.1...v21.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-18 07:57:52 -05:00
40f4cb6bb7 chore(deps-dev): bump sinon from 7.5.0 to 8.1.1 (#120)
Bumps [sinon](https://github.com/sinonjs/sinon) from 7.5.0 to 8.1.1.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v7.5.0...v8.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-14 14:14:08 +01:00
62728769d3 fix: remove use of assert module (#123)
The polyfill is big, we can simulate it by throwing an Error and it doesn't work under React Native.
2020-02-14 14:13:03 +01:00
86db568cd8 fix: catch thrown maConn errors in listener (#122)
When upgrading sockets to MultiaddConnections, it's possible for an error to be thrown.
This can crash the application if a client disconnects prior to the listener
uprading the socket, as is likely occurring in #121. Errors will now be caught and logged
when attempting to upgrade the socket.
2020-02-14 14:12:30 +01:00
4 changed files with 34 additions and 24 deletions

View File

@ -1,3 +1,14 @@
<a name="0.14.4"></a>
## [0.14.4](https://github.com/libp2p/js-libp2p-tcp/compare/v0.14.3...v0.14.4) (2020-02-24)
### Bug Fixes
* catch thrown maConn errors in listener ([#122](https://github.com/libp2p/js-libp2p-tcp/issues/122)) ([86db568](https://github.com/libp2p/js-libp2p-tcp/commit/86db568)), closes [#121](https://github.com/libp2p/js-libp2p-tcp/issues/121)
* remove use of assert module ([#123](https://github.com/libp2p/js-libp2p-tcp/issues/123)) ([6272876](https://github.com/libp2p/js-libp2p-tcp/commit/6272876))
<a name="0.14.3"></a> <a name="0.14.3"></a>
## [0.14.3](https://github.com/libp2p/js-libp2p-tcp/compare/v0.14.2...v0.14.3) (2019-12-20) ## [0.14.3](https://github.com/libp2p/js-libp2p-tcp/compare/v0.14.2...v0.14.3) (2019-12-20)

View File

@ -1,6 +1,6 @@
{ {
"name": "libp2p-tcp", "name": "libp2p-tcp",
"version": "0.14.3", "version": "0.14.4",
"description": "Node.js implementation of the TCP module that libp2p uses, which implements the interface-connection and interface-transport interfaces", "description": "Node.js implementation of the TCP module that libp2p uses, which implements the interface-connection and interface-transport interfaces",
"leadMaintainer": "Jacob Heun <jacobheun@gmail.com>", "leadMaintainer": "Jacob Heun <jacobheun@gmail.com>",
"main": "src/index.js", "main": "src/index.js",
@ -33,12 +33,12 @@
"npm": ">=3.0.0" "npm": ">=3.0.0"
}, },
"devDependencies": { "devDependencies": {
"aegir": "^20.4.1", "aegir": "^21.0.2",
"chai": "^4.2.0", "chai": "^4.2.0",
"dirty-chai": "^2.0.1", "dirty-chai": "^2.0.1",
"libp2p-interfaces": "^0.2.0", "libp2p-interfaces": "^0.2.0",
"it-pipe": "^1.1.0", "it-pipe": "^1.1.0",
"sinon": "^7.5.0", "sinon": "^9.0.0",
"streaming-iterables": "^4.1.1" "streaming-iterables": "^4.1.1"
}, },
"dependencies": { "dependencies": {
@ -52,24 +52,22 @@
"stream-to-it": "^0.2.0" "stream-to-it": "^0.2.0"
}, },
"contributors": [ "contributors": [
"Alan Shaw <alan.shaw@protocol.ai>",
"Alan Shaw <alan@tableflip.io>",
"David Dias <daviddias.p@gmail.com>", "David Dias <daviddias.p@gmail.com>",
"Jacob Heun <jacobheun@gmail.com>",
"Stephen Whitmore <stephen.whitmore@gmail.com>",
"Friedel Ziegelmayer <dignifiedquire@gmail.com>",
"Vasco Santos <vasco.santos@moxy.studio>",
"Richard Littauer <richard.littauer@gmail.com>",
"Tom White <tomtinkerer@gmail.com>",
"Alan Shaw <alan@tableflip.io>",
"Pedro Teixeira <i@pgte.me>",
"Prashanth Chandra <coolshanth94@gmail.com>",
"João Antunes <j.goncalo.antunes@gmail.com>",
"Alex Potsides <alex@achingbrain.net>",
"Diogo Silva <fsdiogo@gmail.com>", "Diogo Silva <fsdiogo@gmail.com>",
"Dmitriy Ryajov <dryajov@gmail.com>", "Dmitriy Ryajov <dryajov@gmail.com>",
"Drew Stone <drewstone329@gmail.com>", "Drew Stone <drewstone329@gmail.com>",
"Evan Schwartz <evan.mark.schwartz@gmail.com>", "Evan Schwartz <evan.mark.schwartz@gmail.com>",
"Friedel Ziegelmayer <dignifiedquire@gmail.com>", "Linus Unnebäck <linus@folkdatorn.se>"
"Greenkeeper <support@greenkeeper.io>",
"Jacob Heun <jacobheun@gmail.com>",
"Jacob Heun <jake@andyet.net>",
"João Antunes <j.goncalo.antunes@gmail.com>",
"Linus Unnebäck <linus@folkdatorn.se>",
"Pedro Teixeira <i@pgte.me>",
"Prashanth Chandra <coolshanth94@gmail.com>",
"Richard Littauer <richard.littauer@gmail.com>",
"Stephen Whitmore <stephen.whitmore@gmail.com>",
"TomCoded <tomtinkerer@gmail.com>",
"Vasco Santos <vasco.santos@moxy.studio>"
] ]
} }

View File

@ -10,7 +10,6 @@ const createListener = require('./listener')
const { multiaddrToNetConfig } = require('./utils') const { multiaddrToNetConfig } = require('./utils')
const { AbortError } = require('abortable-iterator') const { AbortError } = require('abortable-iterator')
const { CODE_CIRCUIT, CODE_P2P } = require('./constants') const { CODE_CIRCUIT, CODE_P2P } = require('./constants')
const assert = require('assert')
/** /**
* @class TCP * @class TCP
@ -22,7 +21,9 @@ class TCP {
* @param {Upgrader} options.upgrader * @param {Upgrader} options.upgrader
*/ */
constructor ({ upgrader }) { constructor ({ upgrader }) {
assert(upgrader, 'An upgrader must be provided. See https://github.com/libp2p/interface-transport#upgrader.') if (!upgrader) {
throw new Error('An upgrader must be provided. See https://github.com/libp2p/interface-transport#upgrader.')
}
this._upgrader = upgrader this._upgrader = upgrader
} }

View File

@ -20,15 +20,15 @@ module.exports = ({ handler, upgrader }, options) => {
// Avoid uncaught errors caused by unstable connections // Avoid uncaught errors caused by unstable connections
socket.on('error', err => log('socket error', err)) socket.on('error', err => log('socket error', err))
const maConn = toConnection(socket, { listeningAddr }) let maConn
log('new inbound connection %s', maConn.remoteAddr)
let conn let conn
try { try {
maConn = toConnection(socket, { listeningAddr })
log('new inbound connection %s', maConn.remoteAddr)
conn = await upgrader.upgradeInbound(maConn) conn = await upgrader.upgradeInbound(maConn)
} catch (err) { } catch (err) {
log.error('inbound connection failed to upgrade', err) log.error('inbound connection failed', err)
return maConn.close() return maConn && maConn.close()
} }
log('inbound connection %s upgraded', maConn.remoteAddr) log('inbound connection %s upgraded', maConn.remoteAddr)