mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-08-28 22:50:58 +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 {
|
func (d *DevConfig) GetMaxWaitNumBlocksFundingConf() uint32 {
|
||||||
return DefaultMaxWaitNumBlocksFundingConf
|
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."`
|
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."`
|
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."`
|
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`.
|
// ChannelReadyWait returns the config value `ProcessChannelReadyWait`.
|
||||||
@@ -65,3 +66,8 @@ func (d *DevConfig) GetMaxWaitNumBlocksFundingConf() uint32 {
|
|||||||
|
|
||||||
return d.MaxWaitNumBlocksFundingConf
|
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.
|
// Ensure we're not already connected to this peer.
|
||||||
peer, err := s.findPeerByPubStr(targetPub)
|
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()
|
s.mu.Unlock()
|
||||||
return &errPeerAlreadyConnected{peer: peer}
|
return &errPeerAlreadyConnected{peer: peer}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user