From e423f2975e501a4bf2757722d028c151de3cb97a Mon Sep 17 00:00:00 2001 From: Joris Guisson Date: Thu, 1 Aug 2013 11:13:58 +0200 Subject: [PATCH] Fix bug causing authenticated peers not to get accepted --- ChangeLog | 3 +++ src/peer/peermanager.cpp | 12 +++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index b672cd7..891590f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +Changes in 1.3.2: +- Fix bug causing authenticated peers not to get accepted + Changes in 1.3.1: - Add workaround for broken handling of btrfs subvolumes by solid (306825) - Fix crash when preallocating diskspace when a file is enabled during the download of a torrent (307178) diff --git a/src/peer/peermanager.cpp b/src/peer/peermanager.cpp index 33b8ce3..48eb868 100644 --- a/src/peer/peermanager.cpp +++ b/src/peer/peermanager.cpp @@ -221,12 +221,14 @@ namespace bt return; ConnectionLimit::Token::Ptr token = climit.acquire(d->tor.getInfoHash()); - if(!token && d->killBadPeer()) - { + if(!token) + { + d->killBadPeer(); token = climit.acquire(d->tor.getInfoHash()); - if(token) - d->createPeer(sock, peer_id, support, false, token); - } + } + + if(token) + d->createPeer(sock, peer_id, support, false, token); } void PeerManager::peerAuthenticated(bt::Authenticate* auth, bt::PeerConnector::WPtr pcon, bool ok, bt::ConnectionLimit::Token::Ptr token) -- 1.9.3