diff -U2 -r /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/Torrents.cpp /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/Torrents.cpp --- /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/Torrents.cpp 2026-10-02 15:26:25.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/Torrents.cpp 2026-10-02 13:53:03.000000000 +0000 @@ -2312,5 +2312,4 @@ void PeerConnection::HandleI2PPEXExtension (const uint8_t * buf, size_t len) { - if (m_Torrent->IsComplete ()) return; std::unordered_set newPeers; ParseDictionary (std::string_view ((const char *)buf, len), diff -U2 -r /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/TorrentsDHT.cpp /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/TorrentsDHT.cpp --- /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/TorrentsDHT.cpp 2026-10-02 15:26:25.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/TorrentsDHT.cpp 2026-10-02 13:53:03.000000000 +0000 @@ -858,15 +858,12 @@ if (torrent) { - if (!torrent->IsComplete ()) + std::unordered_set newPeers; + for (auto it: peers) + if (it.size () == i2p::data::IdentHash::len) + newPeers.emplace ((const uint8_t *)it.data ()); + if (!newPeers.empty ()) { - std::unordered_set newPeers; - for (auto it: peers) - if (it.size () == i2p::data::IdentHash::len) - newPeers.emplace ((const uint8_t *)it.data ()); - if (!newPeers.empty ()) - { - LogPrint (eLogDebug, "TorrentsDHT: ", newPeers.size (), " new peers received"); - m_Tunnel.ConnectToNewPeers (torrent, newPeers, ePeerConnectionOriginDHT); - } + LogPrint (eLogDebug, "TorrentsDHT: ", newPeers.size (), " new peers received"); + m_Tunnel.ConnectToNewPeers (torrent, newPeers, ePeerConnectionOriginDHT); } LogPrint (eLogDebug, "TorrentsDHT: Send announce to ", toIdent.ToBase64 ()); diff -U2 -r /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/TorrentsTunnel.cpp /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/TorrentsTunnel.cpp --- /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/TorrentsTunnel.cpp 2026-10-02 15:26:25.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/TorrentsTunnel.cpp 2026-10-02 13:53:03.000000000 +0000 @@ -707,5 +707,5 @@ size_t TorrentsTunnel::ConnectToPeers (std::shared_ptr torrent) { - if (!torrent || torrent->IsComplete ()) return 0; + if (!torrent) return 0; auto peersToConnect = torrent->GetNonConnectedPeers (); // from trackers if (!peersToConnect.empty ()) @@ -719,5 +719,5 @@ size_t TorrentsTunnel::ConnectToPeers (std::shared_ptr torrent, size_t trackerID) { - if (!torrent || torrent->IsComplete ()) return 0; + if (!torrent) return 0; auto peersToConnect = torrent->GetNonConnectedPeers (trackerID); if (!peersToConnect.empty ()) @@ -732,5 +732,5 @@ std::unordered_set& newPeers, PeerConnectionOrigin origin) { - if (!torrent || torrent->IsComplete ()) return; + if (!torrent) return; if (!newPeers.empty ()) {