From 89d0d7b2662ce5d09f71e47ce01e17e8da9d123b Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Sat, 10 Apr 2010 15:26:23 +0000 Subject: [PATCH] Disconnect seeds that connect to a seed --- apps/i2psnark/java/src/org/klomp/snark/PeerState.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerState.java b/apps/i2psnark/java/src/org/klomp/snark/PeerState.java index 378cd8758c..2fa597ce51 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerState.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerState.java @@ -152,7 +152,16 @@ class PeerState // XXX - Check for weird bitfield and disconnect? bitfield = new BitField(bitmap, metainfo.getPieces()); } - setInteresting(listener.gotBitField(peer, bitfield)); + boolean interest = listener.gotBitField(peer, bitfield); + setInteresting(interest); + if (bitfield.complete() && !interest) { + // They are seeding and we are seeding, + // why did they contact us? (robert) + // Dump them quick before we send our whole bitmap + if (_log.shouldLog(Log.WARN)) + _log.warn("Disconnecting seed that connects to seeds" + peer); + peer.disconnect(true); + } } void requestMessage(int piece, int begin, int length) -- GitLab