raven/base/qbittorrent/Fix_tracker_issue.patch
2024-02-21 13:47:54 +06:00

29 lines
1.1 KiB
Diff

From 034fc8aca914f073e5478a46ce9025c862902e72 Mon Sep 17 00:00:00 2001
From: "Vladimir Golovnev (Glassez)" <glassez@yandex.ru>
Date: Wed, 24 Aug 2022 15:28:30 +0300
Subject: [PATCH] Fix missing trackers from magnet link
---
src/base/bittorrent/session.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/base/bittorrent/session.cpp b/src/base/bittorrent/session.cpp
index ece6f6ee8c1..c19d68348c9 100644
--- a/src/base/bittorrent/session.cpp
+++ b/src/base/bittorrent/session.cpp
@@ -4915,7 +4915,14 @@ void Session::handleMetadataReceivedAlert(const lt::metadata_received_alert *p)
if (downloadedMetadataIter != m_downloadedMetadata.end())
{
+#if LIBTORRENT_VERSION_NUM >= 20007
+ lt::torrent_info nativeInfo = *p->handle.torrent_file();
+ for (const lt::announce_entry &announceEntry : p->handle.trackers())
+ nativeInfo.add_tracker(announceEntry.url, announceEntry.tier);
+ const TorrentInfo metadata {nativeInfo};
+#else
const TorrentInfo metadata {*p->handle.torrent_file()};
+#endif
m_downloadedMetadata.erase(downloadedMetadataIter);
--m_extraLimit;