You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(pkg/p2p): add disable_connection_gater flag to toggle no-op gater
Adds p2p.disable_connection_gater (default: true) so operators can
re-enable peer-level connection filtering without redeploying a patched
binary. When set to false, the connection gater is registered with the
libp2p host and blocked_peers / allowed_peers config entries are
enforced — useful when experiencing P2P flooding.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
12
12
### Fixed
13
13
14
-
- Replace persistent P2P connection gater with a no-op variant so stale blocklist entries can no longer prevent peers from connecting after a restart [#3273](https://github.com/evstack/ev-node/pull/3273)
14
+
- Replace persistent P2P connection gater with a no-op variant so stale blocklist entries can no longer prevent peers from connecting after a restart. The new `p2p.disable_connection_gater` flag (default `true`) can be set to `false` to re-enable peer filtering when experiencing P2P flooding[#3273](https://github.com/evstack/ev-node/pull/3273)
15
15
- Raft HA production hardening: leader fencing on SIGTERM, FSM data race, follower restart crash, log compaction config, and election timeout validation [#3230](https://github.com/evstack/ev-node/pull/3230)
// P2PConfig contains all peer-to-peer networking configuration parameters
315
318
typeP2PConfigstruct {
316
-
ListenAddressstring`mapstructure:"listen_address" yaml:"listen_address" comment:"Address to listen for incoming connections (host:port)"`
317
-
Peersstring`mapstructure:"peers" yaml:"peers" comment:"Comma-separated list of peers to connect to"`
318
-
BlockedPeersstring`mapstructure:"blocked_peers" yaml:"blocked_peers" comment:"Comma-separated list of peer IDs to block from connecting"`
319
-
AllowedPeersstring`mapstructure:"allowed_peers" yaml:"allowed_peers" comment:"Comma-separated list of peer IDs to allow connections from"`
319
+
ListenAddressstring`mapstructure:"listen_address" yaml:"listen_address" comment:"Address to listen for incoming connections (host:port)"`
320
+
Peersstring`mapstructure:"peers" yaml:"peers" comment:"Comma-separated list of peers to connect to"`
321
+
BlockedPeersstring`mapstructure:"blocked_peers" yaml:"blocked_peers" comment:"Comma-separated list of peer IDs to block from connecting"`
322
+
AllowedPeersstring`mapstructure:"allowed_peers" yaml:"allowed_peers" comment:"Comma-separated list of peer IDs to allow connections from"`
323
+
DisableConnectionGaterbool`mapstructure:"disable_connection_gater" yaml:"disable_connection_gater" comment:"Disable the P2P connection gater (no-op mode). Set to false to enforce peer filtering when experiencing P2P flooding."`
320
324
}
321
325
322
326
// SignerConfig contains all signer configuration parameters
cmd.Flags().String(FlagP2PPeers, def.P2P.Peers, "Comma separated list of seed nodes to connect to")
622
626
cmd.Flags().String(FlagP2PBlockedPeers, def.P2P.BlockedPeers, "Comma separated list of nodes to ignore")
623
627
cmd.Flags().String(FlagP2PAllowedPeers, def.P2P.AllowedPeers, "Comma separated list of nodes to whitelist")
628
+
cmd.Flags().Bool(FlagP2PDisableConnectionGater, def.P2P.DisableConnectionGater, "Disable P2P connection gater (no-op mode); set to false to enforce peer filtering when experiencing P2P flooding")
624
629
625
630
// RPC configuration flags
626
631
cmd.Flags().String(FlagRPCAddress, def.RPC.Address, "RPC server address (host:port)")
0 commit comments