diff options
Diffstat (limited to 'libtorrent-extended/bad_peer_handling.patch')
-rw-r--r-- | libtorrent-extended/bad_peer_handling.patch | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/libtorrent-extended/bad_peer_handling.patch b/libtorrent-extended/bad_peer_handling.patch deleted file mode 100644 index 26d9515..0000000 --- a/libtorrent-extended/bad_peer_handling.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff --git a/src/download/choke_manager.cc b/src/download/choke_manager.cc -index 4915a96..efda46c 100644 ---- a/src/download/choke_manager.cc -+++ b/src/download/choke_manager.cc -@@ -193,7 +193,8 @@ ChokeManager::set_snubbed(PeerConnectionBase* pc, ChokeManagerNode* base) { - choke_manager_erase(&m_queued, pc); - } - -- base->set_queued(false); -+ //breaks unsnubbing, ticket #989: -+ //base->set_queued(false); - } - - void -diff --git a/src/torrent/peer/peer.cc b/src/torrent/peer/peer.cc -index 3f29f82..a15a7b2 100644 ---- a/src/torrent/peer/peer.cc -+++ b/src/torrent/peer/peer.cc -@@ -63,7 +63,8 @@ bool Peer::is_down_interested() const { return c_ptr()->is_up_interested(); - - bool Peer::is_snubbed() const { return c_ptr()->is_up_snubbed(); } - void Peer::set_snubbed(bool v) { m_ptr()->set_upload_snubbed(v); } --void Peer::set_banned() { m_peerInfo->set_failed_counter(64); } -+void Peer::set_banned() { m_peerInfo->set_banned(); } -+void Peer::set_unbanned() { m_peerInfo->set_unbanned(); } - - const Rate* Peer::down_rate() const { return c_ptr()->c_peer_chunks()->download_throttle()->rate(); } - const Rate* Peer::up_rate() const { return c_ptr()->c_peer_chunks()->upload_throttle()->rate(); } -diff --git a/src/torrent/peer/peer.h b/src/torrent/peer/peer.h -index 70169ad..6d9b4f9 100644 ---- a/src/torrent/peer/peer.h -+++ b/src/torrent/peer/peer.h -@@ -69,7 +69,10 @@ public: - - bool is_snubbed() const; - void set_snubbed(bool v); -+ -+ bool is_banned() const { return peer_info()->is_banned(); } - void set_banned(); -+ void set_unbanned(); - - const HashString& id() const { return peer_info()->id(); } - const char* options() const { return peer_info()->options(); } -diff --git a/src/torrent/peer/peer_info.h b/src/torrent/peer/peer_info.h -index fe80027..9b17e61 100644 ---- a/src/torrent/peer/peer_info.h -+++ b/src/torrent/peer/peer_info.h -@@ -51,6 +51,8 @@ public: - friend class PeerList; - friend class ProtocolExtension; - -+ static const unsigned int banned_mask = 4096; -+ - static const int flag_connected = (1 << 0); - static const int flag_incoming = (1 << 1); - static const int flag_handshake = (1 << 2); -@@ -79,6 +81,10 @@ public: - uint32_t failed_counter() const { return m_failedCounter; } - void set_failed_counter(uint32_t c) { m_failedCounter = c; } - -+ bool is_banned() const { return m_failedCounter & banned_mask; } -+ void set_banned() { m_failedCounter |= banned_mask; } -+ void set_unbanned() { m_failedCounter &= ~banned_mask; } -+ - uint32_t transfer_counter() const { return m_transferCounter; } - void set_transfer_counter(uint32_t c) { m_transferCounter = c; } - |