forked from Qortal/qortal
Clean up inbound peer entries from repository & fix sending peer lists
This commit is contained in:
parent
912ec22417
commit
921953d304
@ -345,6 +345,15 @@ public class Network extends Thread {
|
|||||||
synchronized (this.connectedPeers) {
|
synchronized (this.connectedPeers) {
|
||||||
this.connectedPeers.remove(peer);
|
this.connectedPeers.remove(peer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If this is an inbound peer then remove from known peers list
|
||||||
|
// as remote port is not likely to be remote peer's listen port
|
||||||
|
if (!peer.isOutbound())
|
||||||
|
try (final Repository repository = RepositoryManager.getRepository()) {
|
||||||
|
repository.getNetworkRepository().delete(peer.getPeerData());
|
||||||
|
} catch (DataException e) {
|
||||||
|
LOGGER.warn(String.format("Repository issue while trying to delete inbound peer %s", peer));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Called when a new message arrives for a peer. message can be null if called after connection */
|
/** Called when a new message arrives for a peer. message can be null if called after connection */
|
||||||
@ -549,7 +558,7 @@ public class Network extends Thread {
|
|||||||
InetAddress address = InetAddress.getByName(peerData.getAddress().getHost());
|
InetAddress address = InetAddress.getByName(peerData.getAddress().getHost());
|
||||||
|
|
||||||
// Don't send 'local' addresses if peer is not 'local'. e.g. don't send localhost:9084 to node4.qora.org
|
// Don't send 'local' addresses if peer is not 'local'. e.g. don't send localhost:9084 to node4.qora.org
|
||||||
if (!peer.getIsLocal() && !Peer.isAddressLocal(address))
|
if (!peer.getIsLocal() && Peer.isAddressLocal(address))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
peerAddresses.add(peerData.getAddress());
|
peerAddresses.add(peerData.getAddress());
|
||||||
@ -696,7 +705,7 @@ public class Network extends Thread {
|
|||||||
// Save the rest into database
|
// Save the rest into database
|
||||||
for (PeerAddress peerAddress : peerAddresses) {
|
for (PeerAddress peerAddress : peerAddresses) {
|
||||||
PeerData peerData = new PeerData(peerAddress);
|
PeerData peerData = new PeerData(peerAddress);
|
||||||
LOGGER.trace(String.format("Adding new peer %s to repository", peerAddress));
|
LOGGER.info(String.format("Adding new peer %s to repository", peerAddress));
|
||||||
repository.getNetworkRepository().save(peerData);
|
repository.getNetworkRepository().save(peerData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user