Browse Source

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

qdn
CalDescent 3 years ago
parent
commit
3394543705
  1. 14
      src/main/java/org/qortal/data/network/ArbitraryPeerData.java

14
src/main/java/org/qortal/data/network/ArbitraryPeerData.java

@ -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;
} }

Loading…
Cancel
Save