Don't save arbitrary peer data if it's a local address

This commit is contained in:
CalDescent 2022-01-05 19:22:24 +00:00
parent 75c51aa61b
commit 3394543705

View File

@ -5,6 +5,9 @@ import org.qortal.crypto.Crypto;
import org.qortal.network.Peer; import org.qortal.network.Peer;
import org.qortal.utils.NTP; import org.qortal.utils.NTP;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class ArbitraryPeerData { public class ArbitraryPeerData {
private final byte[] hash; private final byte[] hash;
@ -51,6 +54,17 @@ public class ArbitraryPeerData {
return false; return false;
} }
// Make sure that it's not a local address
try {
InetAddress addr = InetAddress.getByName(host);
if (addr.isLoopbackAddress() || addr.isLinkLocalAddress() || addr.isSiteLocalAddress()) {
// Ignore local addresses
return false;
}
} catch (UnknownHostException e) {
return false;
}
// Valid host/port combination // Valid host/port combination
return true; return true;
} }