Skip to content
This repository has been archived by the owner on Aug 29, 2023. It is now read-only.

Commit

Permalink
feat: relay filtering
Browse files Browse the repository at this point in the history
* feat: filter IPFS addrs correctly

* feat: mafmt addrs now support /ipfs no need for ad-hoc filtering

* feat: skip p2p-circuit addresses
  • Loading branch information
dryajov authored and daviddias committed Oct 13, 2017
1 parent 7572279 commit 11c4f45
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 2 deletions.
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -62,4 +62,4 @@
"Richard Littauer <richard.littauer@gmail.com>",
"Stephen Whitmore <stephen.whitmore@gmail.com>"
]
}
}
6 changes: 6 additions & 0 deletions src/index.js
Expand Up @@ -67,10 +67,16 @@ class TCP {
if (!Array.isArray(multiaddrs)) {
multiaddrs = [multiaddrs]
}

return multiaddrs.filter((ma) => {
if (includes(ma.protoNames(), 'p2p-circuit')) {
return false
}

if (includes(ma.protoNames(), 'ipfs')) {
ma = ma.decapsulate('ipfs')
}

return mafmt.TCP.matches(ma)
})
}
Expand Down
7 changes: 6 additions & 1 deletion test/index.spec.js
Expand Up @@ -273,8 +273,11 @@ describe('filter addrs', () => {
const mh2 = multiaddr('/ip4/127.0.0.1/udp/9090')
const mh3 = multiaddr('/ip4/127.0.0.1/tcp/9090/http')
const mh4 = multiaddr('/ip4/127.0.0.1/tcp/9090/ipfs/Qmb6owHp6eaWArVbcJJbQSyifyJBttMMjYV76N2hMbf5Vw')
const mh5 = multiaddr('/ip4/127.0.0.1/tcp/9090/http/ipfs/Qmb6owHp6eaWArVbcJJbQSyifyJBttMMjYV76N2hMbf5Vw')
const mh6 = multiaddr('/ip4/127.0.0.1/tcp/9090/ipfs/Qmb6owHp6eaWArVbcJJbQSyifyJBttMMjYV76N2hMbf5Vw' +
'/p2p-circuit/ipfs/Qmb6owHp6eaWArVbcJJbQSyifyJBttMMjYV76N2hMbf5Vw')

const valid = tcp.filter([mh1, mh2, mh3, mh4])
const valid = tcp.filter([mh1, mh2, mh3, mh4, mh5, mh6])
expect(valid.length).to.equal(2)
expect(valid[0]).to.deep.equal(mh1)
expect(valid[1]).to.deep.equal(mh4)
Expand Down Expand Up @@ -349,6 +352,7 @@ describe('valid Connection', () => {
const conn = tcp.dial(ma)

pull(conn, pull.onEnd(endHandler))

function endHandler () {
conn.getPeerInfo((err, peerInfo) => {
expect(err).to.exist()
Expand All @@ -375,6 +379,7 @@ describe('valid Connection', () => {
const conn = tcp.dial(ma)

pull(conn, pull.onEnd(endHandler))

function endHandler () {
conn.setPeerInfo('arroz')
conn.getPeerInfo((err, peerInfo) => {
Expand Down

0 comments on commit 11c4f45

Please sign in to comment.