diff --git a/ChangeLog b/ChangeLog index acbf8416a..b3393ea0c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,4 @@ + * fix per-torrent rate limits for >256 peer classes * don't load user_agent and peer_fingerprint from session_state * fix file rename issue with name prefix matching torrent name * fix division by zero when setting tick_interval > 1000 diff --git a/include/libtorrent/peer_class.hpp b/include/libtorrent/peer_class.hpp index a7bc61cc1..f11f412b0 100644 --- a/include/libtorrent/peer_class.hpp +++ b/include/libtorrent/peer_class.hpp @@ -47,7 +47,7 @@ POSSIBILITY OF SUCH DAMAGE. namespace libtorrent { - typedef boost::uint8_t peer_class_t; + typedef boost::uint32_t peer_class_t; struct peer_class_info { diff --git a/src/peer_class.cpp b/src/peer_class.cpp index 9a1dd9f7d..945ab641a 100644 --- a/src/peer_class.cpp +++ b/src/peer_class.cpp @@ -87,6 +87,7 @@ namespace libtorrent } else { + TORRENT_ASSERT(m_peer_classes.size() < 0x100000000); ret = m_peer_classes.size(); m_peer_classes.push_back(boost::shared_ptr()); }