From d6b94ac91f455f758b83eaa6d82f05d1e2c4d2b6 Mon Sep 17 00:00:00 2001 From: Roman Kelesidis Date: Sun, 2 Apr 2023 15:18:05 +0700 Subject: [PATCH] Fixed empty $auth_key after gen passkey (#670) --- library/attach_mod/displaying_torrent.php | 2 +- library/includes/functions.php | 5 +++-- tracker.php | 2 +- viewforum.php | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/library/attach_mod/displaying_torrent.php b/library/attach_mod/displaying_torrent.php index 5ea97eb15..722498f5f 100644 --- a/library/attach_mod/displaying_torrent.php +++ b/library/attach_mod/displaying_torrent.php @@ -143,7 +143,7 @@ if ($tor_reged && $tor_info) { // Magnet link $passkey = DB()->fetch_row("SELECT auth_key FROM " . BB_BT_USERS . " WHERE user_id = " . (int)$bt_user_id . " LIMIT 1"); - $tor_magnet = create_magnet($tor_info['info_hash'], $passkey['auth_key']); + $tor_magnet = create_magnet($tor_info['info_hash'], ($passkey['auth_key'] ?? '')); // ratio limits $min_ratio_dl = $bb_cfg['bt_min_ratio_allow_dl_tor']; diff --git a/library/includes/functions.php b/library/includes/functions.php index a77dc7bcb..444dcd66e 100644 --- a/library/includes/functions.php +++ b/library/includes/functions.php @@ -1861,16 +1861,17 @@ function pad_with_space($str) * * @return string */ -function create_magnet($infohash, $auth_key) +function create_magnet($infohash, $auth_key): string { global $bb_cfg, $images, $lang, $userdata; if (IS_GUEST && $bb_cfg['bt_tor_browse_only_reg']) { - $passkey = ''; + $passkey = false; } elseif (empty($auth_key)) { if (!$passkey = \TorrentPier\Legacy\Torrent::generate_passkey($userdata['user_id'], true)) { bb_die($lang['PASSKEY_ERR_EMPTY']); } + $auth_key = $passkey; } else { $passkey = $auth_key; } diff --git a/tracker.php b/tracker.php index d9cb2e859..4992be642 100644 --- a/tracker.php +++ b/tracker.php @@ -698,7 +698,7 @@ if ($allowed_forums) { $s_last = $tor['seeder_last_seen']; $att_id = $tor['attach_id']; $size = $tor['size']; - $tor_magnet = create_magnet($tor['info_hash'], $passkey['auth_key']); + $tor_magnet = create_magnet($tor['info_hash'], ($passkey['auth_key'] ?? '')); $compl = $tor['complete_count']; $dl_sp = ($dl) ? humn_size($dl, 0, 'KB') . '/s' : '0 KB/s'; $ul_sp = ($ul) ? humn_size($ul, 0, 'KB') . '/s' : '0 KB/s'; diff --git a/viewforum.php b/viewforum.php index eea12f7cc..c9cbffcbb 100644 --- a/viewforum.php +++ b/viewforum.php @@ -471,7 +471,7 @@ foreach ($topic_rowset as $topic) { )); if (isset($topic['tor_size'])) { - $tor_magnet = create_magnet($topic['info_hash'], $topic['auth_key']); + $tor_magnet = create_magnet($topic['info_hash'], ($topic['auth_key'] ?? '')); $template->assign_block_vars('t.tor', array( 'SEEDERS' => (int)$topic['seeders'],