From 6a10adabf5c3bdfa42876e6155023cdd7e6c3d87 Mon Sep 17 00:00:00 2001 From: Roman Kelesidis Date: Sun, 9 Jun 2024 17:09:21 +0700 Subject: [PATCH] Some improvements for integrity checker (#1501) * Some improvements for integrity checker * Update build_files_integrity.php * Updated --- CHANGELOG.md | 8 +++ library/config.php | 2 +- .../datastore/build_files_integrity.php | 49 +++++++++---------- 3 files changed, 33 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd1a70d1b..6a48ceaec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # 📖 Change Log +## [v2.4.4](https://github.com/torrentpier/torrentpier/tree/v2.4.4) (2024-XX-XX) +[Full Changelog](https://github.com/torrentpier/torrentpier/compare/v2.4.3...v2.4.4) + +**Merged pull requests:** + +- Release 2.4.4 🦩 ([belomaxorka](https://github.com/belomaxorka)) +- Some improvements for integrity checker [\#1501](https://github.com/torrentpier/torrentpier/pull/1501) ([belomaxorka](https://github.com/belomaxorka)) + ## [v2.4.3](https://github.com/torrentpier/torrentpier/tree/v2.4.3) (2024-06-09) [Full Changelog](https://github.com/torrentpier/torrentpier/compare/v2.4.2...v2.4.3) diff --git a/library/config.php b/library/config.php index 0639cd2fa..49c44c6be 100644 --- a/library/config.php +++ b/library/config.php @@ -22,7 +22,7 @@ $bb_cfg['js_ver'] = $bb_cfg['css_ver'] = 1; // Version info $bb_cfg['tp_version'] = 'v2.4.3'; -$bb_cfg['tp_release_date'] = '09-06-2024'; +$bb_cfg['tp_release_date'] = 'XX-XX-2024'; $bb_cfg['tp_release_codename'] = 'Cattle'; // Database diff --git a/library/includes/datastore/build_files_integrity.php b/library/includes/datastore/build_files_integrity.php index a28692519..e7d8922dd 100644 --- a/library/includes/datastore/build_files_integrity.php +++ b/library/includes/datastore/build_files_integrity.php @@ -20,25 +20,7 @@ if (!$bb_cfg['integrity_check']) { $checksumFile = new SplFileObject(CHECKSUMS_FILE, 'r'); $checksumFile->setFlags(SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE); -$filesList = []; -$lines = []; -foreach ($checksumFile as $line) { - $parts = explode(' ', $line); - if (!isset($parts[1])) { - // Skip end line - break; - } - if (basename($parts[1]) === basename(CHECKSUMS_FILE)) { - // Skip checksums.md5 - continue; - } - $filesList[] = [ - 'path' => trim($parts[1]), - 'hash' => trim($parts[0]) - ]; -} - -$dynamicFiles = [ +$ignoreFiles = [ '.env.example', '.htaccess', 'robots.txt', @@ -47,19 +29,34 @@ $dynamicFiles = [ 'favicon.png', 'composer.json', 'composer.lock', + hide_bb_path(CHECKSUMS_FILE), hide_bb_path(BB_ENABLED), 'library/config.php', 'library/defines.php', 'styles/images/logo/logo.png' ]; -$wrongFilesList = []; -foreach ($filesList as $file) { - if (!empty($dynamicFiles) && in_array($file['path'], $dynamicFiles)) { - // Exclude dynamic files +$filesList = []; +$lines = []; +foreach ($checksumFile as $line) { + $parts = explode(' ', $line); + if (!isset($parts[0]) || !isset($parts[1])) { + // Skip end line + break; + } + if (!empty($ignoreFiles) && in_array($parts[1], $ignoreFiles)) { + // Skip files from "Ignoring list" continue; } - if (!file_exists(BB_ROOT . '/' . $file['path']) || strtolower(md5_file(BB_ROOT . '/' . $file['path'])) !== strtolower($file['hash'])) { + $filesList[] = [ + 'path' => trim($parts[1]), + 'hash' => trim($parts[0]) + ]; +} + +$wrongFilesList = []; +foreach ($filesList as $file) { + if (!file_exists(BB_ROOT . '/' . $file['path']) || (strtolower(md5_file(BB_ROOT . '/' . $file['path'])) !== strtolower($file['hash']))) { $wrongFilesList[] = $file['path']; } } @@ -83,7 +80,9 @@ if (is_file(RESTORE_CORRUPT_CONFIRM_FILE)) { if (isset($buildDownloader->savePath)) { unlink($buildDownloader->savePath); } - unlink(RESTORE_CORRUPT_CONFIRM_FILE); + if (is_file(RESTORE_CORRUPT_CONFIRM_FILE)) { + unlink(RESTORE_CORRUPT_CONFIRM_FILE); + } } $data = [