|
@@ -935,6 +935,7 @@ impl Hosts {
|
|
|
trace!(target: "net::hosts::check_addrs()", "[START]");
|
|
trace!(target: "net::hosts::check_addrs()", "[START]");
|
|
|
|
|
|
|
|
let seeds = self.settings.read().await.seeds.clone();
|
|
let seeds = self.settings.read().await.seeds.clone();
|
|
|
|
|
+ let external_addrs = self.settings.read().await.external_addrs.clone();
|
|
|
|
|
|
|
|
for (host, last_seen) in hosts {
|
|
for (host, last_seen) in hosts {
|
|
|
// Print a warning if we are trying to connect to a seed node in
|
|
// Print a warning if we are trying to connect to a seed node in
|
|
@@ -948,6 +949,14 @@ impl Hosts {
|
|
|
continue
|
|
continue
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ if external_addrs.contains(&host) {
|
|
|
|
|
+ warn!(
|
|
|
|
|
+ target: "net::hosts::check_addrs",
|
|
|
|
|
+ "External addr={} has entered the hostlist! Skipping", host.clone(),
|
|
|
|
|
+ );
|
|
|
|
|
+ continue
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if let Err(e) = self.try_register(host.clone(), HostState::Connect) {
|
|
if let Err(e) = self.try_register(host.clone(), HostState::Connect) {
|
|
|
trace!(
|
|
trace!(
|
|
|
target: "net::hosts::check_addrs",
|
|
target: "net::hosts::check_addrs",
|
|
@@ -1183,12 +1192,13 @@ impl Hosts {
|
|
|
continue
|
|
continue
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ let host = addr_.host().unwrap();
|
|
|
let host_str = addr_.host_str().unwrap();
|
|
let host_str = addr_.host_str().unwrap();
|
|
|
|
|
|
|
|
if !settings.localnet {
|
|
if !settings.localnet {
|
|
|
// Our own external addresses should never enter the hosts set.
|
|
// Our own external addresses should never enter the hosts set.
|
|
|
for ext in &settings.external_addrs {
|
|
for ext in &settings.external_addrs {
|
|
|
- if host_str == ext.host_str().unwrap() {
|
|
|
|
|
|
|
+ if host == ext.host().unwrap() {
|
|
|
debug!(
|
|
debug!(
|
|
|
target: "net::hosts::filter_addresses",
|
|
target: "net::hosts::filter_addresses",
|
|
|
"[{}] is our own external addr. Skipping", addr_,
|
|
"[{}] is our own external addr. Skipping", addr_,
|