mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-08-27 14:11:04 +02:00
lncfg+lnd: add new dev config unsafeconnect
This flag is added so we can use it in the itest to mimic racing inbound and outbound connections.
This commit is contained in:
committed by
Olaoluwa Osuntokun
parent
7981b3b4de
commit
5dfc5f4b42
@@ -52,3 +52,9 @@ func (d *DevConfig) GetZombieSweeperInterval() time.Duration {
|
||||
func (d *DevConfig) GetMaxWaitNumBlocksFundingConf() uint32 {
|
||||
return DefaultMaxWaitNumBlocksFundingConf
|
||||
}
|
||||
|
||||
// GetUnsafeConnect returns the config value `UnsafeConnect`, which is always
|
||||
// false for production build.
|
||||
func (d *DevConfig) GetUnsafeConnect() bool {
|
||||
return false
|
||||
}
|
||||
|
@@ -26,6 +26,7 @@ type DevConfig struct {
|
||||
ZombieSweeperInterval time.Duration `long:"zombiesweeperinterval" description:"The time interval at which channel opening flows are evaluated for zombie status."`
|
||||
UnsafeDisconnect bool `long:"unsafedisconnect" description:"Allows the rpcserver to intentionally disconnect from peers with open channels."`
|
||||
MaxWaitNumBlocksFundingConf uint32 `long:"maxwaitnumblocksfundingconf" description:"Maximum blocks to wait for funding confirmation before discarding non-initiated channels."`
|
||||
UnsafeConnect bool `long:"unsafeconnect" description:"Allow the rpcserver to connect to a peer even if there's already a connection."`
|
||||
}
|
||||
|
||||
// ChannelReadyWait returns the config value `ProcessChannelReadyWait`.
|
||||
@@ -65,3 +66,8 @@ func (d *DevConfig) GetMaxWaitNumBlocksFundingConf() uint32 {
|
||||
|
||||
return d.MaxWaitNumBlocksFundingConf
|
||||
}
|
||||
|
||||
// GetUnsafeConnect returns the config value `UnsafeConnect`.
|
||||
func (d *DevConfig) GetUnsafeConnect() bool {
|
||||
return d.UnsafeConnect
|
||||
}
|
||||
|
@@ -4980,7 +4980,11 @@ func (s *server) ConnectToPeer(addr *lnwire.NetAddress,
|
||||
|
||||
// Ensure we're not already connected to this peer.
|
||||
peer, err := s.findPeerByPubStr(targetPub)
|
||||
if err == nil {
|
||||
|
||||
// When there's no error it means we already have a connection with this
|
||||
// peer. If this is a dev environment with the `--unsafeconnect` flag
|
||||
// set, we will ignore the existing connection and continue.
|
||||
if err == nil && !s.cfg.Dev.GetUnsafeConnect() {
|
||||
s.mu.Unlock()
|
||||
return &errPeerAlreadyConnected{peer: peer}
|
||||
}
|
||||
|
Reference in New Issue
Block a user