Skip to content

Clam 2428 unrar 6.2.10 0.103.10#1009

Merged
val-ms merged 9 commits intoCisco-Talos:rel/0.103from
val-ms:CLAM-2428-unrar-6.2.10-0.103.10
Aug 28, 2023
Merged

Clam 2428 unrar 6.2.10 0.103.10#1009
val-ms merged 9 commits intoCisco-Talos:rel/0.103from
val-ms:CLAM-2428-unrar-6.2.10-0.103.10

Conversation

@val-ms
Copy link
Contributor

@val-ms val-ms commented Aug 23, 2023

This is an all-in-one PR to bump the version, apply the update to the UnRAR library, apply 2 patches to make it work with our codebase, and update the release notes.

If any other backports or fixes are required they can be pushed to this branch/PR before release. Will be merging directly to the rel/ branch this time, for speed, rather than making a long-running dev/ branch.

val-ms added 3 commits August 23, 2023 11:44
I'm seeing  'error: unknown type name 'constexpr' with the UnRAR update.

It seems that C++11 must be enabled for 'constexpr' keyword to be recognized.
@val-ms val-ms force-pushed the CLAM-2428-unrar-6.2.10-0.103.10 branch from cd2c81d to fd3e938 Compare August 23, 2023 21:53
val-ms added 5 commits August 25, 2023 09:59
Because it includes rar.hpp, the UnRAR iface also uses C++11 features.
UnRAR logic replaces directory symlinks found within archive file entry
file paths with actual directories by deleting them after they're
extracted.

Unfortunately, this logic extends to deleting existing directories if you
set the `DestName` instead of the `DestPath` in this API:

  rc = RARProcessFile(hArchive, RAR_EXTRACT, NULL, destFilePath);

In the future UnRAR may change to disable the `LinksToDirs()` feature
if using the `DestName` parameter. In the meantime, this commit
completely disables it for our use case.
This is a cherry-pick of commit 24f225c

Modification to unrar codebase allowing skipping of files within
Solid archives when parsing in extraction mode, enabling us to skip
encrypted files while still scanning metadata and potentially
scanning unencrypted files later in the archive.
Prevent allocating more than 1GB regardless of what is requested.
RAR dictionary sizes may not be larger than 1GB, at least in the current
version.

This is a cherry-pick of commit 9b444e7
@val-ms val-ms force-pushed the CLAM-2428-unrar-6.2.10-0.103.10 branch from fd3e938 to 810c788 Compare August 25, 2023 16:59
For reasons unknown, after the UnRAR update there are linker errors for
the Release build for 0.103, claiming:

secpassword.obj : error LNK2001: unresolved external symbol _CrtDbgReport
dll.obj : error LNK2001: unresolved external symbol _CrtDbgReport
extinfo.obj : error LNK2001: unresolved external symbol _CrtDbgReport
extract.obj : error LNK2001: unresolved external symbol _CrtDbgReport
headers.obj : error LNK2001: unresolved external symbol _CrtDbgReport
archive.obj : error LNK2001: unresolved external symbol _CrtDbgReport
arcread.obj : error LNK2001: unresolved external symbol _CrtDbgReport
cmddata.obj : error LNK2001: unresolved external symbol _CrtDbgReport
crypt.obj : error LNK2001: unresolved external symbol _CrtDbgReport
...\win32\x64\Release\libclamunrar.dll : fatal error LNK1120: 1 unresolved externals

I haven't been able to determine from reading the diff why it wants
this debug-symbol, but changing the VS project file to link with the
Debug-version of the C runtime DLL appears to resolve the build
issue. Not ideal but I think it is okay.
@val-ms val-ms merged commit 7195e0f into Cisco-Talos:rel/0.103 Aug 28, 2023
@val-ms val-ms deleted the CLAM-2428-unrar-6.2.10-0.103.10 branch August 28, 2023 20:17
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Aug 31, 2023
pkgsrc change:

* Do not always include mail/libmilter/buildlink3.mk in Makefile.
* Use clamav-unit-test PKG_OPTIONS instead of deprecated unit-test.
* pkglint clenn up.

0.103.10

ClamAV 0.103.10 is a critical patch release with the following fixes:

- Upgrade the bundled UnRAR library (libclamunrar) to version 6.2.10.
  - GitHub pull request: Cisco-Talos/clamav#1009
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants