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-09-02 01:11:13.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/Torrents.cpp 2026-09-01 23:54:51.000000000 +0000 @@ -330,13 +330,9 @@ } - Torrent::Torrent (): + Torrent::Torrent (std::string_view buf): m_Length (0), m_PieceLength (0), m_IsComplete (false), m_IsStopped (false), m_Uploaded (0), m_Downloaded (0) { ResetStats (); - } - - Torrent::Torrent (std::string_view buf): Torrent () - { ParseDictionary (buf, [this](std::string_view key, std::string_view buf)->size_t { @@ -353,8 +349,4 @@ } - Torrent::Torrent (const InfoHash& infoHash): Torrent () - { - m_InfoHash = infoHash; - } size_t Torrent::ParsePieces (std::string_view buf) @@ -1736,8 +1728,4 @@ // all info received LogPrint (eLogDebug, "Torrents: ut_metadata ", m_RemoteMetadataSize, " bytes of info received"); - uint8_t digest[SHA_DIGEST_LENGTH]; - SHA1 (m_RemoteMetadata.data (), m_RemoteMetadata.size (), digest); - if (memcmp (m_Torrent->GetInfoHash ().data (), digest, SHA_DIGEST_LENGTH)) - LogPrint (eLogError, "Torrents: ut_metadata info doesn't match infoHash"); // TODO: update torrent // cleanup diff -U2 -r /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/Torrents.h /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/Torrents.h --- /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/Torrents.h 2026-09-02 01:11:13.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/Torrents.h 2026-09-01 23:54:51.000000000 +0000 @@ -157,8 +157,7 @@ public: - using InfoHash = std::array; + using InfoHash = std::array; Torrent (std::string_view buf); - Torrent (const InfoHash& infoHash); void ParseTrackerResponse (size_t trackerID, std::string_view buf); void HandleDatagramTrackerResponse (size_t trackerID, uint32_t interval, @@ -227,5 +226,4 @@ private: - Torrent (); size_t ParsePieces (std::string_view buf); size_t ParseInfo (std::string_view buf); diff -U2 -r /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/UDPTunnel.cpp /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/UDPTunnel.cpp --- /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/UDPTunnel.cpp 2026-09-02 01:11:13.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/UDPTunnel.cpp 2026-09-01 23:54:51.000000000 +0000 @@ -484,5 +484,4 @@ void I2PUDPServerTunnel::Start () { - m_IsStarted = true; m_LocalDest->Start (); @@ -555,9 +554,4 @@ void I2PUDPServerTunnel::Stop () { - // a config reload builds a second tunnel object and drops it when the same - // one is already there. Its destructor must not reset the receiver of the - // live tunnel: they share the datagram destination - if (!m_IsStarted) return; - m_IsStarted = false; if (m_StatsTimer) m_StatsTimer->cancel (); if (m_CleanupTimer) m_CleanupTimer->cancel (); @@ -616,5 +610,4 @@ void I2PUDPClientTunnel::Start () { - m_IsStarted = true; UDPConnection::Start (); // Reset flag in case of tunnel reload @@ -651,6 +644,4 @@ void I2PUDPClientTunnel::Stop () { - if (!m_IsStarted) return; // see the comment in I2PUDPServerTunnel::Stop - m_IsStarted = false; if (m_KeepAliveTimer) m_KeepAliveTimer->cancel (); if (m_StatsTimer) m_StatsTimer->cancel (); diff -U2 -r /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/UDPTunnel.h /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/UDPTunnel.h --- /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/UDPTunnel.h 2026-09-02 01:11:13.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/UDPTunnel.h 2026-09-01 23:54:51.000000000 +0000 @@ -195,5 +195,4 @@ uint16_t m_inPort; bool m_Gzip; - bool m_IsStarted = false; // a tunnel that never started shares nothing to tear down uint32_t m_NumRawNoSession = 0; size_t m_MaxWindow = I2P_UDP_MIN_MAX_NUM_UNACKED_DATAGRAMS; @@ -266,5 +265,4 @@ bool m_cancel_resolve; bool m_Gzip; - bool m_IsStarted = false; // see the comment in I2PUDPServerTunnel i2p::datagram::DatagramVersion m_DatagramVersion; std::shared_ptr m_LastSession;