Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Block static peers in autopeering module #1608

Merged
merged 4 commits into from
Jul 12, 2022

Conversation

muXxer
Copy link
Collaborator

@muXxer muXxer commented Jul 11, 2022

It may happen that static peers (known/unknown relation) are also found via autopeering.
If that happens, the autopeering module tries to establish another connection, which is dropped because the peer is already known.

This PR tries to avoid this problem by utilizing the blocklist of the autopeering module.
Static peers are added to the blocklist of the autopeering module, so that the selection protocol ignores connection request from these peers.

@muXxer muXxer linked an issue Jul 11, 2022 that may be closed by this pull request
@muXxer muXxer force-pushed the feat/autopeering-block-static-peers branch from 7d3a72f to e62aa5c Compare July 11, 2022 15:38
@muXxer muXxer force-pushed the feat/autopeering-block-static-peers branch from ca83309 to 15fb50d Compare July 12, 2022 09:30
@muXxer muXxer force-pushed the feat/autopeering-block-static-peers branch from 15fb50d to 4669431 Compare July 12, 2022 15:27
@muXxer muXxer merged commit 7104eff into develop Jul 12, 2022
@muXxer muXxer deleted the feat/autopeering-block-static-peers branch July 12, 2022 15:37
muXxer added a commit that referenced this pull request Dec 27, 2022
* Block static peers in autopeering module

* Disable TTL in selection blocklist

* Use hive.go chrysalis backports
muXxer added a commit that referenced this pull request Jan 9, 2023
* Use iotaledger repository

* Update go version to 1.19

* Upgrade libp2p to monorepo version

* Fix libp2p connection issue (#1533)

* Use fixed private keys in peering tests

* Fix libp2p connection issue

* Send correct error message if a block is submitted without parents and no PoW is enabled

* Add new `/api/routes` endpoint

* Block static peers in autopeering module (#1608)

* Block static peers in autopeering module

* Disable TTL in selection blocklist

* Use hive.go chrysalis backports

* Avoid locking of the p2p Manager while connection attempts are performed (#1614)

* Avoid locking of the p2p Manager while connection attempts are performed

* Fix missing handling of peers already known to the manager

* Add per-request Rest metrics to prometheus (#1651)

* - Add per-request Rest metrics to prometheus

* - Made echo dep optional

* Extend dockerignore (#1660)

* Add new config param to disable snapshot file creation. Defaults to false. (#1711)

* Add config parameter to control whether the ledger state is checked on startup. Defaults to false. (#1712)

* Add config parameter to control whether the ledger state is checked on startup

* Measure and log ledger check time

* Added a ledger token supply check to the db-hash tool

* Drop unhealthy peers (#1736)

* Drop peers that are below our pruning index (#1739)

* Fix stuck peer (#1752)

* Removed OpenedStream/ClosedStream since they were removed from network.Notifee

* Drop connection to peer if the stream is closed

* Solidify messages synchronously while they are processed (#1761)

* Solidify messages synchronously while they are processed

* Only trigger the future cone solidifier if the message is solid

* Fix edge case in warpsync which deadlocks syncing (#1763)

* Github workflow updates

* Update CodeQL action to v2

* Run security-and-quality query suite

* Update actions/checkout to v3

* Update docker actions

* Add /metadata, /raw, /children endpoints to /included-message

* Release v1.2.2

* Read info from SyncManager atomically

* Add timestamp funcs to MilestoneStorage

* Update workflows

* Fix linter errors

* Add context to connect and reconnect peer

* Fix syncing issue by preventing requests race condition

* Address review comments

* Update modules

* Ignore linter warning

Co-authored-by: Alexander Sporn <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Prevent Autopeering to peer known static peers
2 participants