blob: 4ba9ad98b3b5c5c2a0b0857dffaf3f43f649199e [file] [log] [blame]
Name: UnRAR source for decompressing .RAR and other files.
Short Name: unrar
URL: https://github.com/aawc/unrar.git
Revision: ea1ef69a4cfd611a26edbf5f298a19115e49700e
Version: 6.2.12
License: UnRAR
License File: src/license.txt
License Android Compatible: No
Security Critical: yes
Shipped: yes
Description:
This library is used to decompress and analyze .RAR and other related files that
have been downloaded by the user to check their Safe Browsing reputation. It is
only for Chromium on desktop.
Warning:
Please note that changes have been made to this library to terminate the current
process in which this library is running, when it encounters some error
conditions. This is acceptable for Chromium because the library executes inside
a sandbox, but may not apply more broadly.
Notable changes from upstream:
- Use CHROMIUM_UNRAR macro to guard Chromium-specific changes.
- Rewrite WinNT() in isnt.cpp to use the new Windows APIs.
- Replace exceptions with terminating the current process. Guarded with the
macro UNRAR_NO_EXCEPTIONS.
- Pass a file handle to the rar file, instead of trying to open the rar file
inside the unrar library code. This is done because the unrar library code
operates inside a sandbox, so it doesn't have the permissions to open files.
- Remove some static initializers.
- Pass a file handle to a temporary file with write permission, so the archive
can be extracted inside the sandbox for analysis.
- Fix a bug with NOVOLUME implementation (https://crbug.com/949787). This
should be temporary, until the fix can be pulled from upstream.
- More static initializers removed.
- Changes to support building in -std=c++20 mode.
- Cherry-picked https://github.com/aawc/unrar/pull/35
- Fix alignment errors reported by UBSan by disabling ALLOW_MISALIGNED.
- Fix unportable include name.
- Replace functions that call user32.dll and gdi32.dll on Windows, to avoid
loading them under win32k lockdown sandbox.
All these changes are included in one patch file (chromium_changes.patch)