Js-ipfs: swarm.connect() should override Dial blacklisting

Created on 3 Sep 2019  路  1Comment  路  Source: ipfs/js-ipfs

  • Version: v0.37.1
  • Platform: web, node
  • Subsystem: swarm.connect()

Type: Bug

Severity: Medium

Description:

It is impossible to manually retry connection if PeerID got blacklisted from dialling.
The only way is to wait for blacklisting to expire or stop and start node.

Steps to reproduce the error:

  1. set up go-ipfs somewhere
  2. shut it down (needs to be offline)
  3. call swarm.connect() with mutiaddr of the node that is offline, get expected connection error
  4. start go-ipfs
  5. try to connect to it, call swarm.connect() again
  6. get error:

dial-is-blacklisted-2019-09-03--14-12-59
js-ipfs in Brave with TCP transport enabled (https://github.com/ipfs-shipyard/ipfs-companion/issues/716)

This feels like a bug.

Expected result

Manual swarm connect should override any automated blacklisting, making it possible to connect as soon as remote node is up, without waiting for blacklisting to expire.

P3 dihard kinbug statuready topilibp2p

Most helpful comment

May not directly be related, but the resolution should help here, is dialing addresses in libp2p https://github.com/libp2p/js-libp2p/issues/451, instead of peers. I've started working on that and will work on making it so that when libp2p receives an address dial request it clears the deny list for the peer. (Ideally we'll have addresses be denied in the future, instead of peers)

>All comments

May not directly be related, but the resolution should help here, is dialing addresses in libp2p https://github.com/libp2p/js-libp2p/issues/451, instead of peers. I've started working on that and will work on making it so that when libp2p receives an address dial request it clears the deny list for the peer. (Ideally we'll have addresses be denied in the future, instead of peers)

Was this page helpful?
0 / 5 - 0 ratings