mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-03-04 01:36:24 +01:00
lncfg: normal TCP resolution for unspecified IPs
Use normal TCP resolution for any unspecified IP (0.0.0.0 or ::) instead of using the Tor resolver.
This commit is contained in:
parent
ba83c11a6f
commit
c6e96c67ce
2 changed files with 19 additions and 4 deletions
|
@ -67,6 +67,9 @@ then watch it on chain. Taproot script spends are also supported through the
|
||||||
* [Fixed node shutdown in forward interceptor itests](https://github.com/lightningnetwork/lnd/pull/6362).
|
* [Fixed node shutdown in forward interceptor itests](https://github.com/lightningnetwork/lnd/pull/6362).
|
||||||
|
|
||||||
* [Fixed a bug that would cause lnd to be unable to parse certain PSBT blobs](https://github.com/lightningnetwork/lnd/pull/6383).
|
* [Fixed a bug that would cause lnd to be unable to parse certain PSBT blobs](https://github.com/lightningnetwork/lnd/pull/6383).
|
||||||
|
|
||||||
|
* [Use normal TCP resolution, instead of Tor DNS resolution, for addresses
|
||||||
|
using the all-interfaces IP](https://github.com/lightningnetwork/lnd/pull/6376).
|
||||||
|
|
||||||
## Misc
|
## Misc
|
||||||
|
|
||||||
|
@ -213,6 +216,7 @@ gRPC performance metrics (latency to process `GetInfo`, etc)](https://github.com
|
||||||
* Carsten Otto
|
* Carsten Otto
|
||||||
* Dan Bolser
|
* Dan Bolser
|
||||||
* Daniel McNally
|
* Daniel McNally
|
||||||
|
* Elle Mouton
|
||||||
* ErikEk
|
* ErikEk
|
||||||
* Eugene Siegel
|
* Eugene Siegel
|
||||||
* henta
|
* henta
|
||||||
|
|
|
@ -134,6 +134,16 @@ func isIPv6Host(host string) bool {
|
||||||
return v6Addr.To4() == nil
|
return v6Addr.To4() == nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// isUnspecifiedHost returns true if the host IP is considered unspecified.
|
||||||
|
func isUnspecifiedHost(host string) bool {
|
||||||
|
addr := net.ParseIP(host)
|
||||||
|
if addr == nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return addr.IsUnspecified()
|
||||||
|
}
|
||||||
|
|
||||||
// IsUnix returns true if an address describes an Unix socket address.
|
// IsUnix returns true if an address describes an Unix socket address.
|
||||||
func IsUnix(addr net.Addr) bool {
|
func IsUnix(addr net.Addr) bool {
|
||||||
return strings.HasPrefix(addr.Network(), "unix")
|
return strings.HasPrefix(addr.Network(), "unix")
|
||||||
|
@ -230,17 +240,18 @@ func ParseAddressString(strAddress string, defaultPort string,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Otherwise, we'll attempt the resolve the host. The Tor
|
// Otherwise, we'll attempt the resolve the host. The Tor
|
||||||
// resolver is unable to resolve local or IPv6 addresses, so
|
// resolver is unable to resolve local addresses,
|
||||||
// we'll use the system resolver instead.
|
// IPv6 addresses, or the all-interfaces address, so we'll use
|
||||||
|
// the system resolver instead for those.
|
||||||
if rawHost == "" || IsLoopback(rawHost) ||
|
if rawHost == "" || IsLoopback(rawHost) ||
|
||||||
isIPv6Host(rawHost) {
|
isIPv6Host(rawHost) || isUnspecifiedHost(rawHost) {
|
||||||
|
|
||||||
return net.ResolveTCPAddr("tcp", addrWithPort)
|
return net.ResolveTCPAddr("tcp", addrWithPort)
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we've reached this point, then it's possible that this
|
// If we've reached this point, then it's possible that this
|
||||||
// resolve returns an error if it isn't able to resolve the
|
// resolve returns an error if it isn't able to resolve the
|
||||||
// host. For eaxmple, local entries in /etc/hosts will fail to
|
// host. For example, local entries in /etc/hosts will fail to
|
||||||
// be resolved by Tor. In order to handle this case, we'll fall
|
// be resolved by Tor. In order to handle this case, we'll fall
|
||||||
// back to the normal system resolver if we fail with an
|
// back to the normal system resolver if we fail with an
|
||||||
// identifiable error.
|
// identifiable error.
|
||||||
|
|
Loading…
Add table
Reference in a new issue