# --- T2-COPYRIGHT-BEGIN --- # t2/package/*/chromium/cr145-no-unrar.patch # Copyright (C) 2026 The T2 SDE Project # SPDX-License-Identifier: GPL-2.0 or patched project license # --- T2-COPYRIGHT-END --- From 61f698c8355b06c3bff53dd2cfa4ddbfbfaaac49 Mon Sep 17 00:00:00 2001 From: LN Liberda Date: Mon, 19 Jan 2026 18:42:36 +0100 Subject: [PATCH] Fix build with safe_browsing_use_unrar=false --- chrome/services/file_util/BUILD.gn | 9 +++++---- .../file_util/obfuscated_archive_analysis_delegate.cc | 4 ++++ .../file_util/obfuscated_archive_analysis_delegate.h | 2 ++ .../file_util/regular_archive_analysis_delegate.cc | 2 ++ .../file_util/regular_archive_analysis_delegate.h | 2 ++ chrome/utility/safe_browsing/archive_analysis_delegate.h | 2 ++ 6 files changed, 17 insertions(+), 4 deletions(-) diff --git a/chrome/services/file_util/BUILD.gn b/chrome/services/file_util/BUILD.gn index bd81080e18881..db152dce1ee86 100644 --- a/chrome/services/file_util/BUILD.gn +++ b/chrome/services/file_util/BUILD.gn @@ -25,7 +25,6 @@ source_set("file_util") { "//components/safe_browsing:buildflags", "//extensions/buildflags", "//mojo/public/cpp/bindings", - "//third_party/unrar", "//third_party/zlib", ] @@ -36,7 +35,11 @@ source_set("file_util") { "//mojo/public/mojom/base", ] - defines = [] + defines = [ "USE_UNRAR=$safe_browsing_use_unrar" ] + + if (safe_browsing_use_unrar) { + deps += [ "//third_party/unrar" ] + } if (is_chromeos) { sources += [ @@ -67,8 +70,6 @@ source_set("file_util") { "//chrome/utility/safe_browsing", "//components/enterprise/obfuscation/core:enterprise_obfuscation", ] - - defines += [ "USE_UNRAR=$safe_browsing_use_unrar" ] } if (enable_extractors) { diff --git a/chrome/services/file_util/obfuscated_archive_analysis_delegate.cc b/chrome/services/file_util/obfuscated_archive_analysis_delegate.cc index 9056e3b76d33a..d937de984544d 100644 --- a/chrome/services/file_util/obfuscated_archive_analysis_delegate.cc +++ b/chrome/services/file_util/obfuscated_archive_analysis_delegate.cc @@ -104,6 +104,7 @@ class ObfuscatedZipWriterDelegate : public zip::FileWriterDelegate, bool closed_ = false; }; +#if USE_UNRAR class ObfuscatedRarReaderDelegate : public third_party_unrar::RarReaderDelegate { public: @@ -175,6 +176,7 @@ class ObfuscatedRarWriterDelegate std::unique_ptr obfuscator_; bool init_ = false; }; +#endif } // namespace @@ -203,6 +205,7 @@ ObfuscatedArchiveAnalysisDelegate::CreateZipWriterDelegate(base::File file) { return std::make_unique(std::move(file)); } +#if USE_UNRAR std::unique_ptr ObfuscatedArchiveAnalysisDelegate::CreateRarReaderDelegate(base::File file) { base::expected ObfuscatedArchiveAnalysisDelegate::CreateRarWriterDelegate(base::File file) { return std::make_unique(std::move(file)); } +#endif std::unique_ptr ObfuscatedArchiveAnalysisDelegate::CreateNestedDelegate( diff --git a/chrome/services/file_util/obfuscated_archive_analysis_delegate.h b/chrome/services/file_util/obfuscated_archive_analysis_delegate.h index 386383ef3bfb7..3410e6ad60f9a 100644 --- a/chrome/services/file_util/obfuscated_archive_analysis_delegate.h +++ b/chrome/services/file_util/obfuscated_archive_analysis_delegate.h @@ -22,10 +22,12 @@ class ObfuscatedArchiveAnalysisDelegate : public ArchiveAnalysisDelegate { base::File file) override; std::unique_ptr CreateZipWriterDelegate( base::File file) override; +#if USE_UNRAR std::unique_ptr CreateRarReaderDelegate( base::File file) override; std::unique_ptr CreateRarWriterDelegate( base::File file) override; +#endif std::unique_ptr CreateNestedDelegate( base::File extracted_file) override; diff --git a/chrome/services/file_util/regular_archive_analysis_delegate.cc b/chrome/services/file_util/regular_archive_analysis_delegate.cc index 89c4434cf39b5..27fd89bfd0278 100644 --- a/chrome/services/file_util/regular_archive_analysis_delegate.cc +++ b/chrome/services/file_util/regular_archive_analysis_delegate.cc @@ -92,6 +92,7 @@ RegularArchiveAnalysisDelegate::CreateZipWriterDelegate(base::File file) { return std::make_unique(std::move(file)); } +#if USE_UNRAR std::unique_ptr RegularArchiveAnalysisDelegate::CreateRarReaderDelegate(base::File file) { return std::make_unique(std::move(file)); @@ -101,6 +102,7 @@ std::unique_ptr RegularArchiveAnalysisDelegate::CreateRarWriterDelegate(base::File file) { return std::make_unique(std::move(file)); } +#endif std::unique_ptr RegularArchiveAnalysisDelegate::CreateNestedDelegate( diff --git a/chrome/services/file_util/regular_archive_analysis_delegate.h b/chrome/services/file_util/regular_archive_analysis_delegate.h index 700be17d5d336..977d0255a5c3a 100644 --- a/chrome/services/file_util/regular_archive_analysis_delegate.h +++ b/chrome/services/file_util/regular_archive_analysis_delegate.h @@ -20,10 +20,12 @@ class RegularArchiveAnalysisDelegate : public ArchiveAnalysisDelegate { base::File file) override; std::unique_ptr CreateZipWriterDelegate( base::File file) override; +#if USE_UNRAR std::unique_ptr CreateRarReaderDelegate( base::File file) override; std::unique_ptr CreateRarWriterDelegate( base::File file) override; +#endif std::unique_ptr CreateNestedDelegate( base::File extracted_file) override; }; diff --git a/chrome/utility/safe_browsing/archive_analysis_delegate.h b/chrome/utility/safe_browsing/archive_analysis_delegate.h index 4457f607581ff..0a5b14aa3103c 100644 --- a/chrome/utility/safe_browsing/archive_analysis_delegate.h +++ b/chrome/utility/safe_browsing/archive_analysis_delegate.h @@ -28,6 +28,7 @@ class ArchiveAnalysisDelegate { virtual std::unique_ptr CreateZipWriterDelegate(base::File file) = 0; +#if USE_UNRAR // Creates a reader delegate for reading the RAR archive. virtual std::unique_ptr CreateRarReaderDelegate(base::File file) = 0; @@ -35,6 +36,7 @@ class ArchiveAnalysisDelegate { // Creates a writer delegate for writing extracted RAR entries. virtual std::unique_ptr CreateRarWriterDelegate(base::File file) = 0; +#endif // Creates a delegate for analyzing a nested archive extracted from the // current archive. Returns nullptr if the nested archive cannot be handled