From 9313bdb181cc11efbedec2d5cd0bad2dde4108ff Mon Sep 17 00:00:00 2001 From: dmitriy ryajov Date: Sun, 19 Feb 2017 14:58:16 -0800 Subject: [PATCH 01/17] feat: dns support for WS --- src/index.js | 48 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/src/index.js b/src/index.js index 2d01764..d9a18bc 100644 --- a/src/index.js +++ b/src/index.js @@ -11,6 +11,30 @@ const log = debug('libp2p:websockets:dialer') const createListener = require('./listener') +function maToUrl (ma) { + const maStrSplit = ma.toString().split('/') + const proto = ma.protos()[2].name + + if (!(proto === 'ws' || proto === 'wss')) { + throw new Error('invalid multiaddr' + ma.toString()) + } + + let url = ma.protos()[2].name + '://' + maStrSplit[2] + + if (!multiaddr.isName(ma)) { + url += ':' + maStrSplit[4] + } + + return url +} + +module.exports = + class WebSockets { + dial (ma, options, callback) { + if (typeof options === 'function') { + callback = options + options = {} + } class WebSockets { dial (ma, options, callback) { if (typeof options === 'function') { @@ -31,23 +55,23 @@ class WebSockets { conn.getObservedAddrs = (callback) => callback(null, [ma]) conn.close = (callback) => socket.close(callback) - return conn - } - - createListener (options, handler) { - if (typeof options === 'function') { - handler = options - options = {} + return conn } - return createListener(options, handler) - } + createListener (options, handler) { + if (typeof options === 'function') { + handler = options + options = {} + } - filter (multiaddrs) { - if (!Array.isArray(multiaddrs)) { - multiaddrs = [multiaddrs] + return createListener(options, handler) } + filter (multiaddrs) { + if (!Array.isArray(multiaddrs)) { + multiaddrs = [multiaddrs] + } + return multiaddrs.filter((ma) => { if (includes(ma.protoNames(), 'ipfs')) { ma = ma.decapsulate('ipfs') From d7e49e1e4d7fe06d7b36765ef1bc42188249ee1d Mon Sep 17 00:00:00 2001 From: dmitriy ryajov Date: Thu, 23 Mar 2017 13:13:17 -0700 Subject: [PATCH 02/17] fix: address parsing --- src/index.js | 48 ++++++++++++------------------------------------ 1 file changed, 12 insertions(+), 36 deletions(-) diff --git a/src/index.js b/src/index.js index d9a18bc..2d01764 100644 --- a/src/index.js +++ b/src/index.js @@ -11,30 +11,6 @@ const log = debug('libp2p:websockets:dialer') const createListener = require('./listener') -function maToUrl (ma) { - const maStrSplit = ma.toString().split('/') - const proto = ma.protos()[2].name - - if (!(proto === 'ws' || proto === 'wss')) { - throw new Error('invalid multiaddr' + ma.toString()) - } - - let url = ma.protos()[2].name + '://' + maStrSplit[2] - - if (!multiaddr.isName(ma)) { - url += ':' + maStrSplit[4] - } - - return url -} - -module.exports = - class WebSockets { - dial (ma, options, callback) { - if (typeof options === 'function') { - callback = options - options = {} - } class WebSockets { dial (ma, options, callback) { if (typeof options === 'function') { @@ -55,23 +31,23 @@ class WebSockets { conn.getObservedAddrs = (callback) => callback(null, [ma]) conn.close = (callback) => socket.close(callback) - return conn + return conn + } + + createListener (options, handler) { + if (typeof options === 'function') { + handler = options + options = {} } - createListener (options, handler) { - if (typeof options === 'function') { - handler = options - options = {} - } + return createListener(options, handler) + } - return createListener(options, handler) + filter (multiaddrs) { + if (!Array.isArray(multiaddrs)) { + multiaddrs = [multiaddrs] } - filter (multiaddrs) { - if (!Array.isArray(multiaddrs)) { - multiaddrs = [multiaddrs] - } - return multiaddrs.filter((ma) => { if (includes(ma.protoNames(), 'ipfs')) { ma = ma.decapsulate('ipfs') From eca62994ff874eb30b737a01bbb1918afb6d70cf Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Sun, 2 Apr 2017 15:49:55 -0700 Subject: [PATCH 03/17] feat: filter IPFS addrs correctly --- src/index.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/index.js b/src/index.js index 2d01764..bc957f9 100644 --- a/src/index.js +++ b/src/index.js @@ -2,7 +2,6 @@ const connect = require('pull-ws/client') const mafmt = require('mafmt') -const includes = require('lodash.includes') const Connection = require('interface-connection').Connection const maToUrl = require('./ma-to-url') @@ -49,10 +48,10 @@ class WebSockets { } return multiaddrs.filter((ma) => { - if (includes(ma.protoNames(), 'ipfs')) { - ma = ma.decapsulate('ipfs') - } - return mafmt.WebSockets.matches(ma) || mafmt.WebSocketsSecure.matches(ma) + return mafmt.WebSockets.matches(ma) || + mafmt.WebSocketsSecure.matches(ma) || + mafmt.WebSocketsIPFS.matches(ma) || + mafmt.WebSocketsSecureIPFS.matches(ma) }) } } From ab73e3fed36c4525bd68eeaed224a6904164659a Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Wed, 16 Aug 2017 09:06:35 -0600 Subject: [PATCH 04/17] fix: remove lodash includes dependency --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index b4d1f11..804788f 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,6 @@ "homepage": "https://github.com/libp2p/js-libp2p-websockets#readme", "dependencies": { "interface-connection": "~0.3.2", - "lodash.includes": "^4.3.0", "mafmt": "^2.1.8", "pull-ws": "^3.2.9" }, From 58410a27d193aed74c0b5f4ce96c3637e77e9abc Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Tue, 29 Aug 2017 16:51:15 -0600 Subject: [PATCH 05/17] feat: mafmt addrs now support /ipfs no need for ad-hoc filtering --- src/index.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index bc957f9..c8f7534 100644 --- a/src/index.js +++ b/src/index.js @@ -49,9 +49,7 @@ class WebSockets { return multiaddrs.filter((ma) => { return mafmt.WebSockets.matches(ma) || - mafmt.WebSocketsSecure.matches(ma) || - mafmt.WebSocketsIPFS.matches(ma) || - mafmt.WebSocketsSecureIPFS.matches(ma) + mafmt.WebSocketsSecure.matches(ma) }) } } From 3ececd133f715247c3ec6c07783252bcb694576a Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Thu, 14 Sep 2017 14:09:26 -0600 Subject: [PATCH 06/17] feat: skip p2p-circuit addresses --- package.json | 1 + src/index.js | 9 +++++++++ test/node.js | 4 +++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 804788f..b4d1f11 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "homepage": "https://github.com/libp2p/js-libp2p-websockets#readme", "dependencies": { "interface-connection": "~0.3.2", + "lodash.includes": "^4.3.0", "mafmt": "^2.1.8", "pull-ws": "^3.2.9" }, diff --git a/src/index.js b/src/index.js index c8f7534..bd46a29 100644 --- a/src/index.js +++ b/src/index.js @@ -2,6 +2,7 @@ const connect = require('pull-ws/client') const mafmt = require('mafmt') +const includes = require('lodash.includes') const Connection = require('interface-connection').Connection const maToUrl = require('./ma-to-url') @@ -48,6 +49,14 @@ class WebSockets { } return multiaddrs.filter((ma) => { + if (includes(ma.protoNames(), 'p2p-circuit')) { + return false + } + + if (includes(ma.protoNames(), 'ipfs')) { + ma = ma.decapsulate('ipfs') + } + return mafmt.WebSockets.matches(ma) || mafmt.WebSocketsSecure.matches(ma) }) diff --git a/test/node.js b/test/node.js index 19875fb..dba7566 100644 --- a/test/node.js +++ b/test/node.js @@ -295,8 +295,10 @@ describe('filter addrs', () => { const ma2 = multiaddr('/ip4/127.0.0.1/tcp/9090') const ma3 = multiaddr('/ip4/127.0.0.1/udp/9090') const ma4 = multiaddr('/dns6/ipfs.io/ws') + const mh5 = multiaddr('/ip4/127.0.0.1/tcp/9090/ws/ipfs/Qmb6owHp6eaWArVbcJJbQSyifyJBttMMjYV76N2hMbf5Vw' + + '/p2p-circuit/ipfs/Qmb6owHp6eaWArVbcJJbQSyifyJBttMMjYV76N2hMbf5Vw') - const valid = ws.filter([ma1, ma2, ma3, ma4]) + const valid = ws.filter([ma1, ma2, ma3, ma4, mh5]) expect(valid.length).to.equal(2) expect(valid[0]).to.deep.equal(ma1) expect(valid[1]).to.deep.equal(ma4) From 94f270e9d27241b66cb629c451ce21f448488039 Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Fri, 13 Oct 2017 08:54:02 -0700 Subject: [PATCH 07/17] chore: updating ci files --- .travis.yml | 24 +++++++++--------------- circle.yml | 14 ++++++++++---- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2957a4b..341df5c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,24 +3,18 @@ language: node_js matrix: include: - - node_js: 4 - env: CXX=g++-4.8 - node_js: 6 - env: - - SAUCE=true - - CXX=g++-4.8 - - node_js: "stable" - env: - - CXX=g++-4.8 - -# Make sure we have new NPM. -before_install: - - npm install -g npm + env: CXX=g++-4.8 + - node_js: 8 + env: CXX=g++-4.8 + # - node_js: stable + # env: CXX=g++-4.8 script: - npm run lint - - npm test + - npm run test - npm run coverage + - make test before_script: - export DISPLAY=:99.0 @@ -30,9 +24,9 @@ after_success: - npm run coverage-publish addons: - firefox: latest + firefox: 'latest' apt: sources: - ubuntu-toolchain-r-test packages: - - g++-4.8 + - g++-4.8 \ No newline at end of file diff --git a/circle.yml b/circle.yml index 434211a..4e1698a 100644 --- a/circle.yml +++ b/circle.yml @@ -5,8 +5,14 @@ machine: dependencies: pre: - google-chrome --version - - wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - - - sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' + - curl -L -o google-chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb + - for v in $(curl http://archive.ubuntu.com/ubuntu/pool/main/n/nss/ | grep "href=" | grep "libnss3.*deb\"" -o | grep -o "libnss3.*deb" | grep "3.28" | grep "14.04"); do curl -L -o $v http://archive.ubuntu.com/ubuntu/pool/main/n/nss/$v; done && rm libnss3-tools*_i386.deb libnss3-dev*_i386.deb + - sudo dpkg -i google-chrome.deb || true + - sudo dpkg -i libnss3*.deb || true - sudo apt-get update - - sudo apt-get --only-upgrade install google-chrome-stable - - google-chrome --version + - sudo apt-get install -f || true + - sudo dpkg -i libnss3*.deb + - sudo apt-get install -f + - sudo apt-get install --only-upgrade lsb-base + - sudo dpkg -i google-chrome.deb + - google-chrome --version \ No newline at end of file From ed715ab4c76c95eaf391f0051b29fe3458963d31 Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Sun, 15 Oct 2017 15:17:13 -0700 Subject: [PATCH 08/17] chore: upgrading to new aegir --- gulpfile.js => .aegir.js | 19 ++++++++++++------- package.json | 24 ++++++++++++------------ test/browser.js | 4 ++-- 3 files changed, 26 insertions(+), 21 deletions(-) rename gulpfile.js => .aegir.js (68%) diff --git a/gulpfile.js b/.aegir.js similarity index 68% rename from gulpfile.js rename to .aegir.js index a3457e2..c1c5d3e 100644 --- a/gulpfile.js +++ b/.aegir.js @@ -1,24 +1,29 @@ 'use strict' -const gulp = require('gulp') const multiaddr = require('multiaddr') const pull = require('pull-stream') const WS = require('./src') let listener - -gulp.task('test:browser:before', (done) => { +function boot (done) { const ws = new WS() const ma = multiaddr('/ip4/127.0.0.1/tcp/9090/ws') listener = ws.createListener((conn) => { pull(conn, conn) }) listener.listen(ma, done) -}) +} -gulp.task('test:browser:after', (done) => { +function shutdown (done) { listener.close(done) -}) +} -require('aegir/gulp')(gulp) +module.exports = { + hooks: { + browser: { + pre: boot, + post: shutdown + } + } +} diff --git a/package.json b/package.json index b4d1f11..68b4a08 100644 --- a/package.json +++ b/package.json @@ -4,16 +4,16 @@ "description": "JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport spec", "main": "src/index.js", "scripts": { - "lint": "aegir-lint", - "test": "gulp test", - "test:node": "gulp test:node", - "test:browser": "gulp test:browser", - "build": "gulp build", - "release": "gulp release", - "release-minor": "gulp release --type minor", - "release-major": "gulp release --type major", - "coverage": "gulp coverage", - "coverage-publish": "aegir-coverage publish" + "lint": "aegir lint", + "build": "aegir build", + "test": "aegir test --target node --target browser", + "test:node": "aegir test --target node", + "test:browser": "aegir test --target browser", + "release": "aegir test release --target node --target browser", + "release-minor": "aegir release --type minor --target node --target browser", + "release-major": "aegir release --type major --target node --target browser", + "coverage": "aegir coverage", + "coverage-publish": "aegir coverage --provider coveralls" }, "browser": { "pull-ws/server": false @@ -38,11 +38,11 @@ "dependencies": { "interface-connection": "~0.3.2", "lodash.includes": "^4.3.0", - "mafmt": "^2.1.8", + "mafmt": "^3.0.1", "pull-ws": "^3.2.9" }, "devDependencies": { - "aegir": "^11.0.2", + "aegir": "^12.0.8", "chai": "^4.1.1", "dirty-chai": "^2.0.1", "gulp": "^3.9.1", diff --git a/test/browser.js b/test/browser.js index 1003a95..9ce7ced 100644 --- a/test/browser.js +++ b/test/browser.js @@ -40,7 +40,7 @@ describe('libp2p-websockets', () => { describe('stress', () => { it('one big write', (done) => { - const rawMessage = new Buffer(1000000).fill('a') + const rawMessage = Buffer.alloc(1000000).fill('a') const s = goodbye({ source: pull.values([rawMessage]), @@ -58,7 +58,7 @@ describe('libp2p-websockets', () => { source: pull( pull.infinite(), pull.take(1000), - pull.map((val) => Buffer(val.toString())) + pull.map((val) => Buffer.from(val.toString())) ), sink: pull.collect((err, result) => { expect(err).to.not.exist() From 9a2f2709fd4e30006802f606c765a761b012686a Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Mon, 16 Oct 2017 09:04:07 -0700 Subject: [PATCH 09/17] test: pass the no-parallel flag to tests --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 68b4a08..ff30011 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,10 @@ "scripts": { "lint": "aegir lint", "build": "aegir build", - "test": "aegir test --target node --target browser", + "test": "aegir test --target node --target browser --no-parallel", "test:node": "aegir test --target node", - "test:browser": "aegir test --target browser", - "release": "aegir test release --target node --target browser", + "test:browser": "aegir test --target browser --no-parallel", + "release": "aegir test release --target node --target browser --no-parallel", "release-minor": "aegir release --type minor --target node --target browser", "release-major": "aegir release --type major --target node --target browser", "coverage": "aegir coverage", From dbc629302e747a60c6e360d777b335c2590dbe5e Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Mon, 16 Oct 2017 09:50:03 -0700 Subject: [PATCH 10/17] wip --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ff30011..aa37964 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "lint": "aegir lint", "build": "aegir build", - "test": "aegir test --target node --target browser --no-parallel", + "test": "aegir test --target node --target browser --no-parallel --timeout 50000", "test:node": "aegir test --target node", "test:browser": "aegir test --target browser --no-parallel", "release": "aegir test release --target node --target browser --no-parallel", From 3a406286aa6416d0c9d20c4277b4419cb9e51175 Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Tue, 17 Oct 2017 14:33:24 -0700 Subject: [PATCH 11/17] test: removing global timeout and setting it on a specific test --- package.json | 2 +- test/browser.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index aa37964..ff30011 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "lint": "aegir lint", "build": "aegir build", - "test": "aegir test --target node --target browser --no-parallel --timeout 50000", + "test": "aegir test --target node --target browser --no-parallel", "test:node": "aegir test --target node", "test:browser": "aegir test --target browser --no-parallel", "release": "aegir test release --target node --target browser --no-parallel", diff --git a/test/browser.js b/test/browser.js index 9ce7ced..1c7d75e 100644 --- a/test/browser.js +++ b/test/browser.js @@ -53,7 +53,8 @@ describe('libp2p-websockets', () => { pull(s, conn, s) }) - it('many writes', (done) => { + it('many writes', function (done) { + this.timeout(10000) const s = goodbye({ source: pull( pull.infinite(), From 2590d340b57b344664a27e1758f5d1f35c5ae27a Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Fri, 20 Oct 2017 03:26:39 -0700 Subject: [PATCH 12/17] feat: resolve 0 addresses (#64) * feat: resolve 0 addresses * chore: upgrading pull-ws * chore: update circle CI * chore: update gitignore --- .gitignore | 3 +++ circle.yml | 2 +- src/listener.js | 38 +++++++++++++++++++++++++++++++++++++- test/node.js | 44 ++++++++++++++++++++++++++++++++++++++------ 4 files changed, 79 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index c1af64b..3fef9b9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +package-lock.json +yarn.lock + # Logs logs *.log diff --git a/circle.yml b/circle.yml index 4e1698a..a0da9bc 100644 --- a/circle.yml +++ b/circle.yml @@ -15,4 +15,4 @@ dependencies: - sudo apt-get install -f - sudo apt-get install --only-upgrade lsb-base - sudo dpkg -i google-chrome.deb - - google-chrome --version \ No newline at end of file + - google-chrome --version diff --git a/src/listener.js b/src/listener.js index e2cf9aa..924a8f2 100644 --- a/src/listener.js +++ b/src/listener.js @@ -2,7 +2,11 @@ const Connection = require('interface-connection').Connection const includes = require('lodash.includes') +const multiaddr = require('multiaddr') +const os = require('os') + function noop () {} + const createServer = require('pull-ws/server') || noop module.exports = (options, handler) => { @@ -30,7 +34,39 @@ module.exports = (options, handler) => { } listener.getAddrs = (callback) => { - callback(null, [listeningMultiaddr]) + const multiaddrs = [] + const address = listener.address() + + if (!address) { + return callback(new Error('Listener is not ready yet')) + } + + let ipfsId = listeningMultiaddr.getPeerId() + + // Because TCP will only return the IPv6 version + // we need to capture from the passed multiaddr + if (listeningMultiaddr.toString().indexOf('ip4') !== -1) { + let m = listeningMultiaddr.decapsulate('tcp') + m = m.encapsulate('/tcp/' + address.port + '/ws') + if (listeningMultiaddr.getPeerId()) { + m = m.encapsulate('/ipfs/' + ipfsId) + } + + if (m.toString().indexOf('0.0.0.0') !== -1) { + const netInterfaces = os.networkInterfaces() + Object.keys(netInterfaces).forEach((niKey) => { + netInterfaces[niKey].forEach((ni) => { + if (ni.family === 'IPv4') { + multiaddrs.push(multiaddr(m.toString().replace('0.0.0.0', ni.address))) + } + }) + }) + } else { + multiaddrs.push(m) + } + } + + callback(null, multiaddrs) } return listener diff --git a/test/node.js b/test/node.js index dba7566..1de9e4f 100644 --- a/test/node.js +++ b/test/node.js @@ -1,4 +1,5 @@ /* eslint-env mocha */ +/* eslint max-nested-callbacks: ["error", 5] */ 'use strict' const chai = require('chai') @@ -97,16 +98,45 @@ describe('listen', () => { }) }) - it.skip('getAddrs on port 0 listen', (done) => { - // TODO port 0 not supported yet + it('getAddrs on port 0 listen', (done) => { + const addr = multiaddr(`/ip4/127.0.0.1/tcp/0/ws`) + const listener = ws.createListener((conn) => { + }) + listener.listen(addr, () => { + listener.getAddrs((err, addrs) => { + expect(err).to.not.exist() + expect(addrs.length).to.equal(1) + expect(addrs.map((a) => a.toOptions().port)).to.not.include('0') + listener.close(done) + }) + }) }) - it.skip('getAddrs from listening on 0.0.0.0', (done) => { - // TODO 0.0.0.0 not supported yet + it('getAddrs from listening on 0.0.0.0', (done) => { + const addr = multiaddr(`/ip4/0.0.0.0/tcp/9003/ws`) + const listener = ws.createListener((conn) => { + }) + listener.listen(addr, () => { + listener.getAddrs((err, addrs) => { + expect(err).to.not.exist() + expect(addrs.map((a) => a.toOptions().host)).to.not.include('0.0.0.0') + listener.close(done) + }) + }) }) - it.skip('getAddrs from listening on 0.0.0.0 and port 0', (done) => { - // TODO 0.0.0.0 or port 0 not supported yet + it('getAddrs from listening on 0.0.0.0 and port 0', (done) => { + const addr = multiaddr(`/ip4/0.0.0.0/tcp/0/ws`) + const listener = ws.createListener((conn) => { + }) + listener.listen(addr, () => { + listener.getAddrs((err, addrs) => { + expect(err).to.not.exist() + expect(addrs.map((a) => a.toOptions().host)).to.not.include('0.0.0.0') + expect(addrs.map((a) => a.toOptions().port)).to.not.include('0') + listener.close(done) + }) + }) }) it('getAddrs preserves IPFS Id', (done) => { @@ -350,6 +380,7 @@ describe('valid Connection', () => { listenerObsAddrs = addrs listener.close(onClose) + function onClose () { expect(listenerObsAddrs[0]).to.deep.equal(ma) expect(dialerObsAddrs.length).to.equal(0) @@ -407,6 +438,7 @@ describe('valid Connection', () => { }) listener.listen(ma, onListen) + function onListen () { const conn = ws.dial(ma) conn.setPeerInfo('b') From d2506a3479d65e3173161c665350f15906b5a23a Mon Sep 17 00:00:00 2001 From: David Dias Date: Fri, 20 Oct 2017 11:49:34 +0100 Subject: [PATCH 13/17] chore: update deps --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index ff30011..dd68b66 100644 --- a/package.json +++ b/package.json @@ -39,18 +39,18 @@ "interface-connection": "~0.3.2", "lodash.includes": "^4.3.0", "mafmt": "^3.0.1", - "pull-ws": "^3.2.9" + "pull-ws": "^3.3.0" }, "devDependencies": { "aegir": "^12.0.8", - "chai": "^4.1.1", + "chai": "^4.1.2", "dirty-chai": "^2.0.1", "gulp": "^3.9.1", "interface-transport": "~0.3.5", - "multiaddr": "^2.3.0", + "multiaddr": "^3.0.1", "pre-commit": "^1.2.2", "pull-goodbye": "0.0.2", - "pull-stream": "^3.6.0" + "pull-stream": "^3.6.1" }, "contributors": [ "Chris Campbell ", From 2f09beec8efc04b55bd9391c6fff89ae27566acb Mon Sep 17 00:00:00 2001 From: David Dias Date: Fri, 20 Oct 2017 11:54:07 +0100 Subject: [PATCH 14/17] chore: update CI again --- .travis.yml | 17 ++++++----------- circle.yml | 6 ++++++ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index d6ecb88..584f308 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,16 +4,11 @@ language: node_js matrix: include: - node_js: 6 - env: - - SAUCE=true - - CXX=g++-4.8 - - node_js: "stable" - env: - - CXX=g++-4.8 - -# Make sure we have new NPM. -before_install: - - npm install -g npm + env: CXX=g++-4.8 + - node_js: 8 + env: CXX=g++-4.8 + # - node_js: stable + # env: CXX=g++-4.8 script: - npm run lint @@ -34,4 +29,4 @@ addons: sources: - ubuntu-toolchain-r-test packages: - - g++-4.8 \ No newline at end of file + - g++-4.8 diff --git a/circle.yml b/circle.yml index f5dba41..a0da9bc 100644 --- a/circle.yml +++ b/circle.yml @@ -6,6 +6,12 @@ dependencies: pre: - google-chrome --version - curl -L -o google-chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb + - for v in $(curl http://archive.ubuntu.com/ubuntu/pool/main/n/nss/ | grep "href=" | grep "libnss3.*deb\"" -o | grep -o "libnss3.*deb" | grep "3.28" | grep "14.04"); do curl -L -o $v http://archive.ubuntu.com/ubuntu/pool/main/n/nss/$v; done && rm libnss3-tools*_i386.deb libnss3-dev*_i386.deb + - sudo dpkg -i google-chrome.deb || true + - sudo dpkg -i libnss3*.deb || true + - sudo apt-get update + - sudo apt-get install -f || true + - sudo dpkg -i libnss3*.deb - sudo apt-get install -f - sudo apt-get install --only-upgrade lsb-base - sudo dpkg -i google-chrome.deb From 86320e3c2c553119b1d50f6a7a3edefa55c0288d Mon Sep 17 00:00:00 2001 From: David Dias Date: Fri, 20 Oct 2017 11:58:56 +0100 Subject: [PATCH 15/17] test: fix node.js tests --- .aegir.js | 6 ++---- test/node.js | 6 +++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.aegir.js b/.aegir.js index 9b8e5ac..22352dd 100644 --- a/.aegir.js +++ b/.aegir.js @@ -10,10 +10,8 @@ let listener function boot (done) { const ws = new WS() - const ma = multiaddr('/ip4/127.0.0.1/tcp/9090/ws') - listener = ws.createListener((conn) => { - pull(conn, conn) - }) + const ma = multiaddr('/ip4/127.0.0.1/tcp/9095/ws') + listener = ws.createListener((conn) => pull(conn, conn)) listener.listen(ma, done) } diff --git a/test/node.js b/test/node.js index 1de9e4f..5222382 100644 --- a/test/node.js +++ b/test/node.js @@ -158,7 +158,7 @@ describe('listen', () => { describe('dial', () => { let ws let listener - const ma = multiaddr('/ip4/127.0.0.1/tcp/9090/ws') + const ma = multiaddr('/ip4/127.0.0.1/tcp/9091/ws') beforeEach((done) => { ws = new WS() @@ -193,7 +193,7 @@ describe('dial', () => { }) it('dial on IPv4 with IPFS Id', (done) => { - const ma = multiaddr('/ip4/127.0.0.1/tcp/9090/ws/ipfs/Qmb6owHp6eaWArVbcJJbQSyifyJBttMMjYV76N2hMbf5Vw') + const ma = multiaddr('/ip4/127.0.0.1/tcp/9091/ws/ipfs/Qmb6owHp6eaWArVbcJJbQSyifyJBttMMjYV76N2hMbf5Vw') const conn = ws.dial(ma) const s = goodbye({ @@ -346,7 +346,7 @@ describe('filter addrs', () => { }) describe('valid Connection', () => { - const ma = multiaddr('/ip4/127.0.0.1/tcp/9090/ws') + const ma = multiaddr('/ip4/127.0.0.1/tcp/9092/ws') it('get observed addrs', (done) => { let dialerObsAddrs From 6da1f351c10c91a41be42180ecca8fbacebe3af5 Mon Sep 17 00:00:00 2001 From: David Dias Date: Fri, 20 Oct 2017 11:59:58 +0100 Subject: [PATCH 16/17] test: fix browser tests --- test/browser.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/browser.js b/test/browser.js index 0183482..7deecf6 100644 --- a/test/browser.js +++ b/test/browser.js @@ -13,7 +13,7 @@ const goodbye = require('pull-goodbye') const WS = require('../src') describe('libp2p-websockets', () => { - const ma = multiaddr('/ip4/127.0.0.1/tcp/9090/ws') + const ma = multiaddr('/ip4/127.0.0.1/tcp/9095/ws') let ws let conn From 20d2cf10b579bea39a6525c4dd2da036f41b5ac7 Mon Sep 17 00:00:00 2001 From: David Dias Date: Fri, 20 Oct 2017 12:01:22 +0100 Subject: [PATCH 17/17] chore --- .aegir.js | 1 - 1 file changed, 1 deletion(-) diff --git a/.aegir.js b/.aegir.js index 22352dd..f43cfb2 100644 --- a/.aegir.js +++ b/.aegir.js @@ -1,4 +1,3 @@ - 'use strict' const multiaddr = require('multiaddr')