diff --git a/src/bt_peer_connection.cpp b/src/bt_peer_connection.cpp index 1501b6946..481615044 100644 --- a/src/bt_peer_connection.cpp +++ b/src/bt_peer_connection.cpp @@ -1759,7 +1759,7 @@ namespace libtorrent int num_lazy_pieces = 0; int lazy_piece = 0; - if (t->is_seed() && m_ses.settings().lazy_bitfields) + if (t->is_seed() && m_ses.settings().lazy_bitfields && !m_encrypted) { num_lazy_pieces = (std::min)(50, num_pieces / 10); if (num_lazy_pieces < 1) num_lazy_pieces = 1; @@ -1876,7 +1876,7 @@ namespace libtorrent // if we're using lazy bitfields or if we're super seeding, don't say // we're upload only, since it might make peers disconnect - if (t->is_upload_only() && !m_ses.settings().lazy_bitfields) + if (t->is_upload_only() && (!m_ses.settings().lazy_bitfields || m_encrypted)) handshake["upload_only"] = 1; tcp::endpoint ep = m_ses.get_ipv6_interface();