Your message dated Sat, 29 Jun 2024 10:46:15 +0000
with message-id <e1snvax-002bya...@coccia.debian.org>
and subject line Released with 12.6
has caused the Debian Bug report #1063621,
regarding bookworm-pu: package clamav/clamav_1.0.5+dfsg-1~deb12u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1063621: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1063621
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Control: affects -1 + src:clamav
X-Debbugs-Cc: cla...@packages.debian.org
User: release.debian....@packages.debian.org
Usertags: pu
Tags: bookworm
Severity: normal

This is an update to the latest clamav release in the 1.0.x series. This
update closes two CVEs:

- CVE-2024-20290: Fixed a possible heap overflow read bug in the OLE2 file
  parser that could cause a denial-of-service (DoS) condition.

- CVE-2024-20328: Fixed a possible command injection vulnerability in the
  "VirusEvent" feature of ClamAV's ClamD service.

  To fix this issue, we disabled the '%f' format string parameter.  ClamD
  administrators may continue to use the `CLAM_VIRUSEVENT_FILENAME`  environment
  variable, instead of '%f'. But you should do so only from within  an
  executable, such as a Python script, and not directly in the clamd.conf
  "VirusEvent" command.

Announcement by upstream:
        https://blog.clamav.net/2023/11/clamav-130-122-105-released.html

The previous 1.0.4 release was in unstable since 2024-01-20 and migrated
to testing on 2024-01-22. The 1.0.5 release is in unstable since
2024-02-08 and I have reports of issues so far.

The attached debdiff is against the current version in Bookworm and has
the libclamav_rust/.cargo/ folder omitted. Otherwise the diff grows to
over 100MiB.

Sebastian
diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml
index 6208c93..422e291 100644
--- a/.github/workflows/cmake.yml
+++ b/.github/workflows/cmake.yml
@@ -24,6 +24,10 @@ name: CMake Build
     runs-on: windows-2019
 
     steps:
+      - name: Die, link!!!!!
+        run: rm /usr/bin/link.exe
+        shell: bash
+
       - uses: actions/checkout@v1
 
       - name: Install Build Tools
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cfeeb49..b2c6533 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,7 +22,7 @@ string(TIMESTAMP TODAY "%Y%m%d")
 set(VERSION_SUFFIX "")
 
 project( ClamAV
-         VERSION "1.0.3"
+         VERSION "1.0.5"
          DESCRIPTION "ClamAV open source email, web, and end-point anti-virus toolkit." )
 
 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
@@ -676,13 +676,13 @@ check_type_size("ssize_t" SIZEOF_SSIZE_T)
 if(SIZEOF_SSIZE_T STREQUAL "")
     # ssize_t is a signed type in POSIX storing at least -1.
     # Set it to "int" to match the behavior of AC_TYPE_SSIZE_T (autotools).
-    set(ssize_t int)
+    set(SSIZE_T_DEF "typedef int ssize_t;")
 endif()
 check_type_size("off_t" SIZEOF_OFF_T)
 if(SIZEOF_OFF_T STREQUAL "")
     # off_t is a signed type in POSIX no narrower than int.
     # Set it to "long int" to match the behavior of AC_TYPE_OFF_T (autotools).
-    set(off_t long int)
+    set(OFF_T_DEF "typedef long int off_t;")
 endif()
 
 check_type_size("int" SIZEOF_INT)
diff --git a/Cargo.lock b/Cargo.lock
index e06ab2a..05e6643 100755
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -8,26 +8,6 @@ version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
-[[package]]
-name = "ansi_term"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
 [[package]]
 name = "autocfg"
 version = "1.1.0"
@@ -102,7 +82,6 @@ version = "0.20.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "51e3973b165dc0f435831a9e426de67e894de532754ff7a3f307c03ee5dec7dc"
 dependencies = [
- "clap",
  "heck",
  "indexmap",
  "log",
@@ -115,6 +94,15 @@ dependencies = [
  "toml",
 ]
 
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
+
 [[package]]
 name = "cexpr"
 version = "0.6.0"
@@ -160,21 +148,6 @@ dependencies = [
  "libloading",
 ]
 
-[[package]]
-name = "clap"
-version = "2.34.0"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
-dependencies = [
- "ansi_term",
- "atty",
- "bitflags",
- "strsim",
- "textwrap",
- "unicode-width",
- "vec_map",
-]
-
 [[package]]
 name = "color_quant"
 version = "1.1.0"
@@ -201,9 +174,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-channel"
-version = "0.5.6"
+version = "0.5.8"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521"
+checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
 dependencies = [
  "cfg-if",
  "crossbeam-utils",
@@ -274,6 +247,27 @@ version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
 
+[[package]]
+name = "errno"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "errno-dragonfly"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+dependencies = [
+ "cc",
+ "libc",
+]
+
 [[package]]
 name = "exr"
 version = "1.5.3"
@@ -397,15 +391,6 @@ dependencies = [
  "unicode-segmentation",
 ]
 
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
 [[package]]
 name = "hermit-abi"
 version = "0.2.6"
@@ -415,6 +400,12 @@ dependencies = [
  "libc",
 ]
 
+[[package]]
+name = "hermit-abi"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+
 [[package]]
 name = "hex"
 version = "0.4.3"
@@ -459,6 +450,17 @@ dependencies = [
  "cfg-if",
 ]
 
+[[package]]
+name = "io-lifetimes"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
+dependencies = [
+ "hermit-abi 0.3.3",
+ "libc",
+ "windows-sys 0.48.0",
+]
+
 [[package]]
 name = "itoa"
 version = "1.0.5"
@@ -517,6 +519,12 @@ dependencies = [
  "winapi",
 ]
 
+[[package]]
+name = "linux-raw-sys"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
+
 [[package]]
 name = "lock_api"
 version = "0.4.9"
@@ -761,15 +769,6 @@ version = "0.6.28"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
 
-[[package]]
-name = "remove_dir_all"
-version = "0.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
-dependencies = [
- "winapi",
-]
-
 [[package]]
 name = "rustc-hash"
 version = "1.1.0"
@@ -800,6 +799,20 @@ dependencies = [
  "version_check",
 ]
 
+[[package]]
+name = "rustix"
+version = "0.36.15"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "c37f1bd5ef1b5422177b7646cba67430579cfe2ace80f284fee876bca52ad941"
+dependencies = [
+ "bitflags",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.45.0",
+]
+
 [[package]]
 name = "ryu"
 version = "1.0.12"
@@ -880,9 +893,9 @@ checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
 
 [[package]]
 name = "spin"
-version = "0.9.5"
+version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "7dccf47db1b41fa1573ed27ccf5e08e3ca771cb994f776668c5ebda893b248fc"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
 dependencies = [
  "lock_api",
 ]
@@ -893,12 +906,6 @@ version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82"
 
-[[package]]
-name = "strsim"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-
 [[package]]
 name = "syn"
 version = "1.0.107"
@@ -923,25 +930,15 @@ dependencies = [
 
 [[package]]
 name = "tempfile"
-version = "3.3.0"
+version = "3.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
+checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95"
 dependencies = [
  "cfg-if",
  "fastrand",
- "libc",
  "redox_syscall",
- "remove_dir_all",
- "winapi",
-]
-
-[[package]]
-name = "textwrap"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-dependencies = [
- "unicode-width",
+ "rustix",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
@@ -1021,18 +1018,6 @@ version = "1.10.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
-[[package]]
-name = "unicode-width"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
-
-[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
 [[package]]
 name = "version_check"
 version = "0.9.4"
@@ -1138,6 +1123,153 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.45.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+dependencies = [
+ "windows-targets 0.42.2",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+dependencies = [
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
 [[package]]
 name = "zune-inflate"
 version = "0.2.42"
diff --git a/Jenkinsfile b/Jenkinsfile
index a3996e8..d59bea5 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -10,7 +10,7 @@ properties(
         parameters(
             [
                 string(name: 'VERSION',
-                       defaultValue: '1.0.3',
+                       defaultValue: '1.0.5',
                        description: 'ClamAV version string'),
                 string(name: 'FRAMEWORK_BRANCH',
                        defaultValue: '1.0',
diff --git a/NEWS.md b/NEWS.md
index d11b535..ac59506 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -3,6 +3,66 @@
 Note: This file refers to the official packages. Things described here may
 differ slightly from third-party binary packages.
 
+## 1.0.5
+
+ClamAV 1.0.5 is a critical patch release with the following fixes:
+
+- [CVE-2024-20290](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-20290):
+  Fixed a possible heap overflow read bug in the OLE2 file parser that could
+  cause a denial-of-service (DoS) condition.
+
+  Affected versions:
+  - 1.0.0 through 1.0.4 (LTS)
+  - 1.1 (all patch versions)
+  - 1.2.0 and 1.2.1
+
+  Thank you to OSS-Fuzz for identifying this issue.
+
+- [CVE-2024-20328](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-20328):
+  Fixed a possible command injection vulnerability in the `VirusEvent` feature
+  of ClamAV's ClamD service.
+
+  To fix this issue, we disabled the '%f' format string parameter.
+  ClamD administrators may continue to use the `CLAM_VIRUSEVENT_FILENAME`
+  environment variable, instead of '%f'. But you should do so only from within
+  an executable, such as a Python script, and not directly in the `clamd.conf`
+  `VirusEvent` command.
+
+  Affected versions:
+  - 0.104 (all patch versions)
+  - 0.105 (all patch versions)
+  - 1.0.0 through 1.0.4 (LTS)
+  - 1.1 (all patch versions)
+  - 1.2.0 and 1.2.1
+
+  Thank you to Amit Schendel for identifying this issue.
+
+## 1.0.4
+
+ClamAV 1.0.4 is a patch release with the following fixes:
+
+- Eliminate security warning about unused "atty" dependency.
+  - GitHub pull request: https://github.com/Cisco-Talos/clamav/pull/1035
+
+- Upgrade the bundled UnRAR library (libclamunrar) to version 6.2.12.
+  - GitHub pull request: https://github.com/Cisco-Talos/clamav/pull/1054
+
+- Windows: libjson-c 0.17 compatibility fix. with ssize_t type definition.
+  - GitHub pull request: https://github.com/Cisco-Talos/clamav/pull/1064
+
+- Freshclam: Removed a verbose warning printed for each Freshclam HTTP request.
+  - GitHub pull request: https://github.com/Cisco-Talos/clamav/pull/1042
+
+- Build system: Fix link error with Clang/LLVM/LLD version 17.
+  Patch courtesy of Yasuhiro Kimura.
+  - GitHub pull request: https://github.com/Cisco-Talos/clamav/pull/1058
+
+- Fix alert-exceeds-max feature for files > 2GB and < max-filesize.
+  - GitHub pull request: https://github.com/Cisco-Talos/clamav/pull/1041
+
+Special thanks to the following people for code contributions and bug reports:
+- Yasuhiro Kimura
+
 ## 1.0.3
 
 ClamAV 1.0.3 is a critical patch release with the following fixes:
diff --git a/clamav-config.h.cmake.in b/clamav-config.h.cmake.in
index b21af87..4f3b837 100644
--- a/clamav-config.h.cmake.in
+++ b/clamav-config.h.cmake.in
@@ -587,11 +587,22 @@
 #define inline @INLINE_KEYWORD@
 #endif
 
-/* Define to `long int' if <sys/types.h> does not define. */
-#cmakedefine off_t @off_t@
-
 /* Define to `int' if <sys/types.h> does not define. */
-#cmakedefine ssize_t @ssize_t@
+#ifndef SSIZE_T_DEFINED
+   #if defined(_MSC_VER)
+      #include <BaseTsd.h>
+      typedef SSIZE_T ssize_t;
+   #else
+      @SSIZE_T_DEF@
+   #endif
+   # define SSIZE_T_DEFINED
+#endif
+
+/* Define to `long int' if <sys/types.h> does not define. */
+#ifndef OFF_T_DEFINED
+   @OFF_T_DEF@
+   #define OFF_T_DEFINED
+#endif
 
 /* Define to the equivalent of the C99 'restrict' keyword, or to
    nothing if this is not supported.  Do not define if restrict is
diff --git a/clamd/clamd_others.c b/clamd/clamd_others.c
index 23f3b02..32d0701 100644
--- a/clamd/clamd_others.c
+++ b/clamd/clamd_others.c
@@ -101,6 +101,8 @@ void virusaction(const char *filename, const char *virname,
 #define VE_FILENAME "CLAM_VIRUSEVENT_FILENAME"
 #define VE_VIRUSNAME "CLAM_VIRUSEVENT_VIRUSNAME"
 
+#define FILENAME_DISABLED_MESSAGE "The filename format character has been disabled due to security concerns, use the 'CLAM_VIRUSEVENT_FILENAME' environment variable instead."
+
 void virusaction(const char *filename, const char *virname,
                  const struct optstruct *opts)
 {
@@ -145,7 +147,7 @@ void virusaction(const char *filename, const char *virname,
     }
     len = strlen(opt->strarg);
     buffer_cmd =
-        (char *)calloc(len + v * strlen(virname) + f * strlen(filename) + 1, sizeof(char));
+        (char *)calloc(len + v * strlen(virname) + f * strlen(FILENAME_DISABLED_MESSAGE) + 1, sizeof(char));
     if (!buffer_cmd) {
         if (path)
             xfree(env[0]);
@@ -160,8 +162,8 @@ void virusaction(const char *filename, const char *virname,
             j += strlen(virname);
             i++;
         } else if (i + 1 < len && opt->strarg[i] == '%' && opt->strarg[i + 1] == 'f') {
-            strcat(buffer_cmd, filename);
-            j += strlen(filename);
+            strcat(buffer_cmd, FILENAME_DISABLED_MESSAGE);
+            j += strlen(FILENAME_DISABLED_MESSAGE);
             i++;
         } else {
             buffer_cmd[j++] = opt->strarg[i];
diff --git a/common/optparser.c b/common/optparser.c
index a7bdbee..1be7afe 100644
--- a/common/optparser.c
+++ b/common/optparser.c
@@ -333,7 +333,7 @@ const struct clam_option __clam_options[] = {
 
     {"DisableCache", "disable-cache", 0, CLOPT_TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMD | OPT_CLAMSCAN, "This option allows you to disable clamd's caching feature.", "no"},
 
-    {"VirusEvent", NULL, 0, CLOPT_TYPE_STRING, NULL, -1, NULL, 0, OPT_CLAMD, "Execute a command when a virus is found. In the command string %v will be\nreplaced with the virus name and %f will be replaced with the file name.\nAdditionally, two environment variables will be defined: $CLAM_VIRUSEVENT_FILENAME\nand $CLAM_VIRUSEVENT_VIRUSNAME.", "/usr/bin/mailx -s \"ClamAV VIRUS ALERT: %v\" alert < /dev/null"},
+    {"VirusEvent", NULL, 0, CLOPT_TYPE_STRING, NULL, -1, NULL, 0, OPT_CLAMD, "Execute a command when virus is found.\nUse the following environment variables to identify the file and virus names:\n- $CLAM_VIRUSEVENT_FILENAME\n- $CLAM_VIRUSEVENT_VIRUSNAME\nIn the command string, '%v' will also be replaced with the virus name.\nNote: The '%f' filename format character has been disabled and will no longer\nbe replaced with the file name, due to command injection security concerns.\nUse the 'CLAM_VIRUSEVENT_FILENAME' environment variable instead.\nFor the same reason, you should NOT use the environment variables in the\ncommand directly, but should use it carefully from your executed script.", "/opt/send_virus_alert_sms.sh"},
 
     {"ExitOnOOM", NULL, 0, CLOPT_TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMD, "Stop the daemon when libclamav reports an out of memory condition.", "yes"},
 
diff --git a/debian/.git-dpm b/debian/.git-dpm
index dafa965..b364a80 100644
--- a/debian/.git-dpm
+++ b/debian/.git-dpm
@@ -1,8 +1,8 @@
 # see git-dpm(1) from git-dpm package
-b6798c1c1c1bd4e43f1ffbc36748adb5cf07787a
-b6798c1c1c1bd4e43f1ffbc36748adb5cf07787a
-6aeff1ef1ff425a1a201d8e3f2c5b8b1f8a60fdb
-6aeff1ef1ff425a1a201d8e3f2c5b8b1f8a60fdb
-clamav_1.0.3+dfsg.orig.tar.xz
-329456b2e5930a422859b00ed0e08cc8ab53e2b3
-14191252
+62cd02dc40f3fd1a26496091133787db33dd65e7
+62cd02dc40f3fd1a26496091133787db33dd65e7
+3075ec387d1332975da55d4c08f4463a4fc82909
+3075ec387d1332975da55d4c08f4463a4fc82909
+clamav_1.0.5+dfsg.orig.tar.xz
+f4f5016ce9ff75ad1db40f3475c100dc5fd87243
+25821000
diff --git a/debian/changelog b/debian/changelog
index 36fd23b..158545e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,21 @@
+clamav (1.0.5+dfsg-1~deb12u1) bookworm; urgency=medium
+
+  * Import 1.0.4 (Closes: #1063479).
+    - Update symbols.
+    - CVE-2024-20290 (Fixed a possible heap overflow read bug in the OLE2 file
+      parser that could cause a denial-of-service (DoS) condition.)
+    - CVE-2024-20328 (Fixed a possible command injection vulnerability in the
+      "VirusEvent" feature of ClamAV's ClamD service.
+
+ -- Sebastian Andrzej Siewior <sebast...@breakpoint.cc>  Thu, 08 Feb 2024 21:58:26 +0100
+
+clamav (1.0.4+dfsg-1~deb12u1) bookworm; urgency=medium
+
+  * Import 1.0.4
+    - Update symbols.
+
+ -- Sebastian Andrzej Siewior <sebast...@breakpoint.cc>  Sun, 04 Feb 2024 11:45:46 +0100
+
 clamav (1.0.3+dfsg-1~deb12u1) bookworm; urgency=medium
 
   * Import 1.0.3
diff --git a/debian/libclamav11.symbols b/debian/libclamav11.symbols
index 909b601..b451f3a 100644
--- a/debian/libclamav11.symbols
+++ b/debian/libclamav11.symbols
@@ -1,25 +1,25 @@
 libclamav.so.11 libclamav11 #MINVER#
 * Build-Depends-Package: libclamav-dev
- CLAMAV_PRIVATE@CLAMAV_PRIVATE 1.0.3
+ CLAMAV_PRIVATE@CLAMAV_PRIVATE 1.0.5
  CLAMAV_PUBLIC@CLAMAV_PUBLIC 1.0.0
- __cli_strcasestr@CLAMAV_PRIVATE 1.0.3
- __cli_strndup@CLAMAV_PRIVATE 1.0.3
- __cli_strnlen@CLAMAV_PRIVATE 1.0.3
- __cli_strnstr@CLAMAV_PRIVATE 1.0.3
- base64Flush@CLAMAV_PRIVATE 1.0.3
- blobAddData@CLAMAV_PRIVATE 1.0.3
- blobCreate@CLAMAV_PRIVATE 1.0.3
- blobDestroy@CLAMAV_PRIVATE 1.0.3
- cl_ASN1_GetTimeT@CLAMAV_PRIVATE 1.0.3
+ __cli_strcasestr@CLAMAV_PRIVATE 1.0.5
+ __cli_strndup@CLAMAV_PRIVATE 1.0.5
+ __cli_strnlen@CLAMAV_PRIVATE 1.0.5
+ __cli_strnstr@CLAMAV_PRIVATE 1.0.5
+ base64Flush@CLAMAV_PRIVATE 1.0.5
+ blobAddData@CLAMAV_PRIVATE 1.0.5
+ blobCreate@CLAMAV_PRIVATE 1.0.5
+ blobDestroy@CLAMAV_PRIVATE 1.0.5
+ cl_ASN1_GetTimeT@CLAMAV_PRIVATE 1.0.5
  cl_always_gen_section_hash@CLAMAV_PUBLIC 1.0.0
- cl_base64_decode@CLAMAV_PRIVATE 1.0.3
- cl_base64_encode@CLAMAV_PRIVATE 1.0.3
- cl_cleanup_crypto@CLAMAV_PRIVATE 1.0.3
+ cl_base64_decode@CLAMAV_PRIVATE 1.0.5
+ cl_base64_encode@CLAMAV_PRIVATE 1.0.5
+ cl_cleanup_crypto@CLAMAV_PRIVATE 1.0.5
  cl_countsigs@CLAMAV_PUBLIC 1.0.0
  cl_cvdfree@CLAMAV_PUBLIC 1.0.0
  cl_cvdhead@CLAMAV_PUBLIC 1.0.0
  cl_cvdparse@CLAMAV_PUBLIC 1.0.0
- cl_cvdunpack@CLAMAV_PRIVATE 1.0.3
+ cl_cvdunpack@CLAMAV_PRIVATE 1.0.5
  cl_cvdverify@CLAMAV_PUBLIC 1.0.0
  cl_debug@CLAMAV_PUBLIC 1.0.0
  cl_engine_addref@CLAMAV_PUBLIC 1.0.0
@@ -28,7 +28,7 @@ libclamav.so.11 libclamav11 #MINVER#
  cl_engine_get_num@CLAMAV_PUBLIC 1.0.0
  cl_engine_get_str@CLAMAV_PUBLIC 1.0.0
  cl_engine_new@CLAMAV_PUBLIC 1.0.0
- cl_engine_set_clcb_engine_compile_progress@CLAMAV_PRIVATE 1.0.3
+ cl_engine_set_clcb_engine_compile_progress@CLAMAV_PRIVATE 1.0.5
  cl_engine_set_clcb_file_inspection@CLAMAV_PUBLIC 1.0.0
  cl_engine_set_clcb_file_props@CLAMAV_PUBLIC 1.0.0
  cl_engine_set_clcb_hash@CLAMAV_PUBLIC 1.0.0
@@ -37,7 +37,7 @@ libclamav.so.11 libclamav11 #MINVER#
  cl_engine_set_clcb_pre_cache@CLAMAV_PUBLIC 1.0.0
  cl_engine_set_clcb_pre_scan@CLAMAV_PUBLIC 1.0.0
  cl_engine_set_clcb_sigload@CLAMAV_PUBLIC 1.0.0
- cl_engine_set_clcb_sigload_progress@CLAMAV_PRIVATE 1.0.3
+ cl_engine_set_clcb_sigload_progress@CLAMAV_PRIVATE 1.0.5
  cl_engine_set_clcb_stats_add_sample@CLAMAV_PUBLIC 1.0.0
  cl_engine_set_clcb_stats_decrement_count@CLAMAV_PUBLIC 1.0.0
  cl_engine_set_clcb_stats_flush@CLAMAV_PUBLIC 1.0.0
@@ -58,21 +58,21 @@ libclamav.so.11 libclamav11 #MINVER#
  cl_fmap_close@CLAMAV_PUBLIC 1.0.0
  cl_fmap_open_handle@CLAMAV_PUBLIC 1.0.0
  cl_fmap_open_memory@CLAMAV_PUBLIC 1.0.0
- cl_get_pkey_file@CLAMAV_PRIVATE 1.0.3
- cl_get_x509_from_mem@CLAMAV_PRIVATE 1.0.3
- cl_hash_data@CLAMAV_PRIVATE 1.0.3
+ cl_get_pkey_file@CLAMAV_PRIVATE 1.0.5
+ cl_get_x509_from_mem@CLAMAV_PRIVATE 1.0.5
+ cl_hash_data@CLAMAV_PRIVATE 1.0.5
  cl_hash_destroy@CLAMAV_PUBLIC 1.0.0
- cl_hash_file_fd@CLAMAV_PRIVATE 1.0.3
- cl_hash_file_fd_ctx@CLAMAV_PRIVATE 1.0.3
- cl_hash_file_fp@CLAMAV_PRIVATE 1.0.3
+ cl_hash_file_fd@CLAMAV_PRIVATE 1.0.5
+ cl_hash_file_fd_ctx@CLAMAV_PRIVATE 1.0.5
+ cl_hash_file_fp@CLAMAV_PRIVATE 1.0.5
  cl_hash_init@CLAMAV_PUBLIC 1.0.0
  cl_init@CLAMAV_PUBLIC 1.0.0
- cl_initialize_crypto@CLAMAV_PRIVATE 1.0.3
+ cl_initialize_crypto@CLAMAV_PRIVATE 1.0.5
  cl_load@CLAMAV_PUBLIC 1.0.0
- cl_load_cert@CLAMAV_PRIVATE 1.0.3
- cl_load_crl@CLAMAV_PRIVATE 1.0.3
+ cl_load_cert@CLAMAV_PRIVATE 1.0.5
+ cl_load_crl@CLAMAV_PRIVATE 1.0.5
  cl_retdbdir@CLAMAV_PUBLIC 1.0.0
- cl_retflevel@CLAMAV_PUBLIC 1.0.3
+ cl_retflevel@CLAMAV_PUBLIC 1.0.5
  cl_retver@CLAMAV_PUBLIC 1.0.0
  cl_scandesc@CLAMAV_PUBLIC 1.0.0
  cl_scandesc_callback@CLAMAV_PUBLIC 1.0.0
@@ -80,203 +80,203 @@ libclamav.so.11 libclamav11 #MINVER#
  cl_scanfile_callback@CLAMAV_PUBLIC 1.0.0
  cl_scanmap_callback@CLAMAV_PUBLIC 1.0.0
  cl_set_clcb_msg@CLAMAV_PUBLIC 1.0.0
- cl_sha1@CLAMAV_PRIVATE 1.0.3
- cl_sha256@CLAMAV_PRIVATE 1.0.3
- cl_sign_data@CLAMAV_PRIVATE 1.0.3
- cl_sign_data_keyfile@CLAMAV_PRIVATE 1.0.3
- cl_sign_file_fd@CLAMAV_PRIVATE 1.0.3
- cl_sign_file_fp@CLAMAV_PRIVATE 1.0.3
+ cl_sha1@CLAMAV_PRIVATE 1.0.5
+ cl_sha256@CLAMAV_PRIVATE 1.0.5
+ cl_sign_data@CLAMAV_PRIVATE 1.0.5
+ cl_sign_data_keyfile@CLAMAV_PRIVATE 1.0.5
+ cl_sign_file_fd@CLAMAV_PRIVATE 1.0.5
+ cl_sign_file_fp@CLAMAV_PRIVATE 1.0.5
  cl_statchkdir@CLAMAV_PUBLIC 1.0.0
  cl_statfree@CLAMAV_PUBLIC 1.0.0
  cl_statinidir@CLAMAV_PUBLIC 1.0.0
  cl_strerror@CLAMAV_PUBLIC 1.0.0
  cl_update_hash@CLAMAV_PUBLIC 1.0.0
- cl_validate_certificate_chain@CLAMAV_PRIVATE 1.0.3
- cl_validate_certificate_chain_ts_dir@CLAMAV_PRIVATE 1.0.3
- cl_verify_signature@CLAMAV_PRIVATE 1.0.3
- cl_verify_signature_fd@CLAMAV_PRIVATE 1.0.3
- cl_verify_signature_fd_x509@CLAMAV_PRIVATE 1.0.3
- cl_verify_signature_fd_x509_keyfile@CLAMAV_PRIVATE 1.0.3
- cl_verify_signature_hash@CLAMAV_PRIVATE 1.0.3
- cl_verify_signature_hash_x509@CLAMAV_PRIVATE 1.0.3
- cl_verify_signature_hash_x509_keyfile@CLAMAV_PRIVATE 1.0.3
- cl_verify_signature_x509@CLAMAV_PRIVATE 1.0.3
- cl_verify_signature_x509_keyfile@CLAMAV_PRIVATE 1.0.3
- cli_ac_buildtrie@CLAMAV_PRIVATE 1.0.3
- cli_ac_chklsig@CLAMAV_PRIVATE 1.0.3
- cli_ac_free@CLAMAV_PRIVATE 1.0.3
- cli_ac_freedata@CLAMAV_PRIVATE 1.0.3
- cli_ac_init@CLAMAV_PRIVATE 1.0.3
- cli_ac_initdata@CLAMAV_PRIVATE 1.0.3
- cli_ac_scanbuff@CLAMAV_PRIVATE 1.0.3
- cli_add_content_match_pattern@CLAMAV_PRIVATE 1.0.3
- cli_basename@CLAMAV_PRIVATE 1.0.3
- cli_bm_free@CLAMAV_PRIVATE 1.0.3
- cli_bm_init@CLAMAV_PRIVATE 1.0.3
- cli_bm_scanbuff@CLAMAV_PRIVATE 1.0.3
- cli_build_regex_list@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_context_alloc@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_context_destroy@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_context_getresult_int@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_context_set_trace@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_context_setfile@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_context_setfuncid@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_context_setparam_int@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_context_setparam_ptr@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_debug@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_debug_printsrc@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_describe@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_destroy@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_done@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_init@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_load@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_prepare2@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_printversion@CLAMAV_PRIVATE 1.0.3
- cli_bytecode_run@CLAMAV_PRIVATE 1.0.3
- cli_bytefunc_describe@CLAMAV_PRIVATE 1.0.3
- cli_byteinst_describe@CLAMAV_PRIVATE 1.0.3
- cli_bytetype_describe@CLAMAV_PRIVATE 1.0.3
- cli_bytevalue_describe@CLAMAV_PRIVATE 1.0.3
- cli_calloc@CLAMAV_PRIVATE 1.0.3
- cli_check_auth_header@CLAMAV_PRIVATE 1.0.3
- cli_chomp@CLAMAV_PRIVATE 1.0.3
- cli_codepage_to_utf8@CLAMAV_PRIVATE 1.0.3
- cli_ctime@CLAMAV_PRIVATE 1.0.3
- cli_dbgmsg@CLAMAV_PRIVATE 1.0.3
- cli_dbgmsg_no_inline@CLAMAV_PRIVATE 1.0.3
- cli_dconf_init@CLAMAV_PRIVATE 1.0.3
- cli_debug_flag@CLAMAV_PRIVATE 1.0.3
- cli_detect_environment@CLAMAV_PRIVATE 1.0.3
- cli_disasm_one@CLAMAV_PRIVATE 1.0.3
- cli_errmsg@CLAMAV_PRIVATE 1.0.3
- cli_filecopy@CLAMAV_PRIVATE 1.0.3
- cli_free_vba_project@CLAMAV_PRIVATE 1.0.3
- cli_ftw@CLAMAV_PRIVATE 1.0.3
- cli_genhash_pe@CLAMAV_PRIVATE 1.0.3
- cli_gentemp@CLAMAV_PRIVATE 1.0.3
- cli_gentemp_with_prefix@CLAMAV_PRIVATE 1.0.3
- cli_gentempfd@CLAMAV_PRIVATE 1.0.3
- cli_gentempfd_with_prefix@CLAMAV_PRIVATE 1.0.3
- cli_get_debug_flag@CLAMAV_PRIVATE 1.0.3
- cli_get_filepath_from_filedesc@CLAMAV_PRIVATE 1.0.3
- cli_get_last_virus_str@CLAMAV_PRIVATE 1.0.3
- cli_getdsig@CLAMAV_PRIVATE 1.0.3
- cli_gettmpdir@CLAMAV_PRIVATE 1.0.3
- cli_hashfile@CLAMAV_PRIVATE 1.0.3
- cli_hashset_destroy@CLAMAV_PRIVATE 1.0.3
- cli_hashstream@CLAMAV_PRIVATE 1.0.3
- cli_hex2str@CLAMAV_PRIVATE 1.0.3
- cli_hex2ui@CLAMAV_PRIVATE 1.0.3
- cli_infomsg_simple@CLAMAV_PRIVATE 1.0.3
- cli_initroots@CLAMAV_PRIVATE 1.0.3
- cli_isnumber@CLAMAV_PRIVATE 1.0.3
- cli_js_destroy@CLAMAV_PRIVATE 1.0.3
- cli_js_init@CLAMAV_PRIVATE 1.0.3
- cli_js_output@CLAMAV_PRIVATE 1.0.3
- cli_js_parse_done@CLAMAV_PRIVATE 1.0.3
- cli_js_process_buffer@CLAMAV_PRIVATE 1.0.3
- cli_ldbtokenize@CLAMAV_PRIVATE 1.0.3
- cli_malloc@CLAMAV_PRIVATE 1.0.3
- cli_memstr@CLAMAV_PRIVATE 1.0.3
- cli_ole2_extract@CLAMAV_PRIVATE 1.0.3
- cli_pcre_build@CLAMAV_PRIVATE 1.0.3
- cli_pcre_freeoff@CLAMAV_PRIVATE 1.0.3
- cli_pcre_init@CLAMAV_PRIVATE 1.0.3
- cli_pcre_perf_events_destroy@CLAMAV_PRIVATE 1.0.3
- cli_pcre_perf_print@CLAMAV_PRIVATE 1.0.3
- cli_pcre_recaloff@CLAMAV_PRIVATE 1.0.3
- cli_pcre_scanbuf@CLAMAV_PRIVATE 1.0.3
- cli_ppt_vba_read@CLAMAV_PRIVATE 1.0.3
- cli_printcxxver@CLAMAV_PRIVATE 1.0.3
- cli_readn@CLAMAV_PRIVATE 1.0.3
- cli_realloc@CLAMAV_PRIVATE 1.0.3
- cli_realpath@CLAMAV_PRIVATE 1.0.3
- cli_regcomp@CLAMAV_PRIVATE 1.0.3
- cli_regex2suffix@CLAMAV_PRIVATE 1.0.3
- cli_regexec@CLAMAV_PRIVATE 1.0.3
- cli_regfree@CLAMAV_PRIVATE 1.0.3
- cli_rmdirs@CLAMAV_PRIVATE 1.0.3
- cli_rndnum@CLAMAV_PRIVATE 1.0.3
- cli_sanitize_filepath@CLAMAV_PRIVATE 1.0.3
- cli_scan_buff@CLAMAV_PRIVATE 1.0.3
- cli_scan_fmap@CLAMAV_PRIVATE 1.0.3
- cli_set_debug_flag@CLAMAV_PRIVATE 1.0.3
- cli_sigopts_handler@CLAMAV_PRIVATE 1.0.3
- cli_sigperf_events_destroy@CLAMAV_PRIVATE 1.0.3
- cli_sigperf_print@CLAMAV_PRIVATE 1.0.3
- cli_str2hex@CLAMAV_PRIVATE 1.0.3
- cli_strbcasestr@CLAMAV_PRIVATE 1.0.3
- cli_strdup@CLAMAV_PRIVATE 1.0.3
- cli_strerror@CLAMAV_PRIVATE 1.0.3
- cli_strlcat@CLAMAV_PRIVATE 1.0.3
- cli_strlcpy@CLAMAV_PRIVATE 1.0.3
- cli_strntoul@CLAMAV_PRIVATE 1.0.3
- cli_strrcpy@CLAMAV_PRIVATE 1.0.3
- cli_strtok@CLAMAV_PRIVATE 1.0.3
- cli_strtokbuf@CLAMAV_PRIVATE 1.0.3
- cli_strtokenize@CLAMAV_PRIVATE 1.0.3
- cli_textbuffer_append_normalize@CLAMAV_PRIVATE 1.0.3
- cli_unescape@CLAMAV_PRIVATE 1.0.3
- cli_unlink@CLAMAV_PRIVATE 1.0.3
- cli_url_canon@CLAMAV_PRIVATE 1.0.3
- cli_utf16_to_utf8@CLAMAV_PRIVATE 1.0.3
- cli_utf16toascii@CLAMAV_PRIVATE 1.0.3
- cli_vba_inflate@CLAMAV_PRIVATE 1.0.3
- cli_vba_readdir@CLAMAV_PRIVATE 1.0.3
- cli_versig2@CLAMAV_PRIVATE 1.0.3
- cli_versig@CLAMAV_PRIVATE 1.0.3
- cli_warnmsg@CLAMAV_PRIVATE 1.0.3
- cli_wm_decrypt_macro@CLAMAV_PRIVATE 1.0.3
- cli_wm_readdir@CLAMAV_PRIVATE 1.0.3
- cli_writen@CLAMAV_PRIVATE 1.0.3
- decodeLine@CLAMAV_PRIVATE 1.0.3
- disasmbuf@CLAMAV_PRIVATE 1.0.3
- fmap@CLAMAV_PRIVATE 1.0.3
- fmap_dump_to_file@CLAMAV_PRIVATE 1.0.3
- fmap_duplicate@CLAMAV_PRIVATE 1.0.3
- free_duplicate_fmap@CLAMAV_PRIVATE 1.0.3
- get_fpu_endian@CLAMAV_PRIVATE 1.0.3
- have_clamjit@CLAMAV_PRIVATE 1.0.3
- have_rar@CLAMAV_PRIVATE 1.0.3
- html_normalise_map@CLAMAV_PRIVATE 1.0.3
- html_normalise_mem@CLAMAV_PRIVATE 1.0.3
- html_screnc_decode@CLAMAV_PRIVATE 1.0.3
- html_tag_arg_free@CLAMAV_PRIVATE 1.0.3
- init_allow_list@CLAMAV_PRIVATE 1.0.3
- init_domain_list@CLAMAV_PRIVATE 1.0.3
- init_regex_list@CLAMAV_PRIVATE 1.0.3
- is_regex_ok@CLAMAV_PRIVATE 1.0.3
- load_regex_matcher@CLAMAV_PRIVATE 1.0.3
- lsig_increment_subsig_match@CLAMAV_PRIVATE 1.0.3
+ cl_validate_certificate_chain@CLAMAV_PRIVATE 1.0.5
+ cl_validate_certificate_chain_ts_dir@CLAMAV_PRIVATE 1.0.5
+ cl_verify_signature@CLAMAV_PRIVATE 1.0.5
+ cl_verify_signature_fd@CLAMAV_PRIVATE 1.0.5
+ cl_verify_signature_fd_x509@CLAMAV_PRIVATE 1.0.5
+ cl_verify_signature_fd_x509_keyfile@CLAMAV_PRIVATE 1.0.5
+ cl_verify_signature_hash@CLAMAV_PRIVATE 1.0.5
+ cl_verify_signature_hash_x509@CLAMAV_PRIVATE 1.0.5
+ cl_verify_signature_hash_x509_keyfile@CLAMAV_PRIVATE 1.0.5
+ cl_verify_signature_x509@CLAMAV_PRIVATE 1.0.5
+ cl_verify_signature_x509_keyfile@CLAMAV_PRIVATE 1.0.5
+ cli_ac_buildtrie@CLAMAV_PRIVATE 1.0.5
+ cli_ac_chklsig@CLAMAV_PRIVATE 1.0.5
+ cli_ac_free@CLAMAV_PRIVATE 1.0.5
+ cli_ac_freedata@CLAMAV_PRIVATE 1.0.5
+ cli_ac_init@CLAMAV_PRIVATE 1.0.5
+ cli_ac_initdata@CLAMAV_PRIVATE 1.0.5
+ cli_ac_scanbuff@CLAMAV_PRIVATE 1.0.5
+ cli_add_content_match_pattern@CLAMAV_PRIVATE 1.0.5
+ cli_basename@CLAMAV_PRIVATE 1.0.5
+ cli_bm_free@CLAMAV_PRIVATE 1.0.5
+ cli_bm_init@CLAMAV_PRIVATE 1.0.5
+ cli_bm_scanbuff@CLAMAV_PRIVATE 1.0.5
+ cli_build_regex_list@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_context_alloc@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_context_destroy@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_context_getresult_int@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_context_set_trace@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_context_setfile@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_context_setfuncid@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_context_setparam_int@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_context_setparam_ptr@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_debug@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_debug_printsrc@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_describe@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_destroy@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_done@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_init@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_load@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_prepare2@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_printversion@CLAMAV_PRIVATE 1.0.5
+ cli_bytecode_run@CLAMAV_PRIVATE 1.0.5
+ cli_bytefunc_describe@CLAMAV_PRIVATE 1.0.5
+ cli_byteinst_describe@CLAMAV_PRIVATE 1.0.5
+ cli_bytetype_describe@CLAMAV_PRIVATE 1.0.5
+ cli_bytevalue_describe@CLAMAV_PRIVATE 1.0.5
+ cli_calloc@CLAMAV_PRIVATE 1.0.5
+ cli_check_auth_header@CLAMAV_PRIVATE 1.0.5
+ cli_chomp@CLAMAV_PRIVATE 1.0.5
+ cli_codepage_to_utf8@CLAMAV_PRIVATE 1.0.5
+ cli_ctime@CLAMAV_PRIVATE 1.0.5
+ cli_dbgmsg@CLAMAV_PRIVATE 1.0.5
+ cli_dbgmsg_no_inline@CLAMAV_PRIVATE 1.0.5
+ cli_dconf_init@CLAMAV_PRIVATE 1.0.5
+ cli_debug_flag@CLAMAV_PRIVATE 1.0.5
+ cli_detect_environment@CLAMAV_PRIVATE 1.0.5
+ cli_disasm_one@CLAMAV_PRIVATE 1.0.5
+ cli_errmsg@CLAMAV_PRIVATE 1.0.5
+ cli_filecopy@CLAMAV_PRIVATE 1.0.5
+ cli_free_vba_project@CLAMAV_PRIVATE 1.0.5
+ cli_ftw@CLAMAV_PRIVATE 1.0.5
+ cli_genhash_pe@CLAMAV_PRIVATE 1.0.5
+ cli_gentemp@CLAMAV_PRIVATE 1.0.5
+ cli_gentemp_with_prefix@CLAMAV_PRIVATE 1.0.5
+ cli_gentempfd@CLAMAV_PRIVATE 1.0.5
+ cli_gentempfd_with_prefix@CLAMAV_PRIVATE 1.0.5
+ cli_get_debug_flag@CLAMAV_PRIVATE 1.0.5
+ cli_get_filepath_from_filedesc@CLAMAV_PRIVATE 1.0.5
+ cli_get_last_virus_str@CLAMAV_PRIVATE 1.0.5
+ cli_getdsig@CLAMAV_PRIVATE 1.0.5
+ cli_gettmpdir@CLAMAV_PRIVATE 1.0.5
+ cli_hashfile@CLAMAV_PRIVATE 1.0.5
+ cli_hashset_destroy@CLAMAV_PRIVATE 1.0.5
+ cli_hashstream@CLAMAV_PRIVATE 1.0.5
+ cli_hex2str@CLAMAV_PRIVATE 1.0.5
+ cli_hex2ui@CLAMAV_PRIVATE 1.0.5
+ cli_infomsg_simple@CLAMAV_PRIVATE 1.0.5
+ cli_initroots@CLAMAV_PRIVATE 1.0.5
+ cli_isnumber@CLAMAV_PRIVATE 1.0.5
+ cli_js_destroy@CLAMAV_PRIVATE 1.0.5
+ cli_js_init@CLAMAV_PRIVATE 1.0.5
+ cli_js_output@CLAMAV_PRIVATE 1.0.5
+ cli_js_parse_done@CLAMAV_PRIVATE 1.0.5
+ cli_js_process_buffer@CLAMAV_PRIVATE 1.0.5
+ cli_ldbtokenize@CLAMAV_PRIVATE 1.0.5
+ cli_malloc@CLAMAV_PRIVATE 1.0.5
+ cli_memstr@CLAMAV_PRIVATE 1.0.5
+ cli_ole2_extract@CLAMAV_PRIVATE 1.0.5
+ cli_pcre_build@CLAMAV_PRIVATE 1.0.5
+ cli_pcre_freeoff@CLAMAV_PRIVATE 1.0.5
+ cli_pcre_init@CLAMAV_PRIVATE 1.0.5
+ cli_pcre_perf_events_destroy@CLAMAV_PRIVATE 1.0.5
+ cli_pcre_perf_print@CLAMAV_PRIVATE 1.0.5
+ cli_pcre_recaloff@CLAMAV_PRIVATE 1.0.5
+ cli_pcre_scanbuf@CLAMAV_PRIVATE 1.0.5
+ cli_ppt_vba_read@CLAMAV_PRIVATE 1.0.5
+ cli_printcxxver@CLAMAV_PRIVATE 1.0.5
+ cli_readn@CLAMAV_PRIVATE 1.0.5
+ cli_realloc@CLAMAV_PRIVATE 1.0.5
+ cli_realpath@CLAMAV_PRIVATE 1.0.5
+ cli_regcomp@CLAMAV_PRIVATE 1.0.5
+ cli_regex2suffix@CLAMAV_PRIVATE 1.0.5
+ cli_regexec@CLAMAV_PRIVATE 1.0.5
+ cli_regfree@CLAMAV_PRIVATE 1.0.5
+ cli_rmdirs@CLAMAV_PRIVATE 1.0.5
+ cli_rndnum@CLAMAV_PRIVATE 1.0.5
+ cli_sanitize_filepath@CLAMAV_PRIVATE 1.0.5
+ cli_scan_buff@CLAMAV_PRIVATE 1.0.5
+ cli_scan_fmap@CLAMAV_PRIVATE 1.0.5
+ cli_set_debug_flag@CLAMAV_PRIVATE 1.0.5
+ cli_sigopts_handler@CLAMAV_PRIVATE 1.0.5
+ cli_sigperf_events_destroy@CLAMAV_PRIVATE 1.0.5
+ cli_sigperf_print@CLAMAV_PRIVATE 1.0.5
+ cli_str2hex@CLAMAV_PRIVATE 1.0.5
+ cli_strbcasestr@CLAMAV_PRIVATE 1.0.5
+ cli_strdup@CLAMAV_PRIVATE 1.0.5
+ cli_strerror@CLAMAV_PRIVATE 1.0.5
+ cli_strlcat@CLAMAV_PRIVATE 1.0.5
+ cli_strlcpy@CLAMAV_PRIVATE 1.0.5
+ cli_strntoul@CLAMAV_PRIVATE 1.0.5
+ cli_strrcpy@CLAMAV_PRIVATE 1.0.5
+ cli_strtok@CLAMAV_PRIVATE 1.0.5
+ cli_strtokbuf@CLAMAV_PRIVATE 1.0.5
+ cli_strtokenize@CLAMAV_PRIVATE 1.0.5
+ cli_textbuffer_append_normalize@CLAMAV_PRIVATE 1.0.5
+ cli_unescape@CLAMAV_PRIVATE 1.0.5
+ cli_unlink@CLAMAV_PRIVATE 1.0.5
+ cli_url_canon@CLAMAV_PRIVATE 1.0.5
+ cli_utf16_to_utf8@CLAMAV_PRIVATE 1.0.5
+ cli_utf16toascii@CLAMAV_PRIVATE 1.0.5
+ cli_vba_inflate@CLAMAV_PRIVATE 1.0.5
+ cli_vba_readdir@CLAMAV_PRIVATE 1.0.5
+ cli_versig2@CLAMAV_PRIVATE 1.0.5
+ cli_versig@CLAMAV_PRIVATE 1.0.5
+ cli_warnmsg@CLAMAV_PRIVATE 1.0.5
+ cli_wm_decrypt_macro@CLAMAV_PRIVATE 1.0.5
+ cli_wm_readdir@CLAMAV_PRIVATE 1.0.5
+ cli_writen@CLAMAV_PRIVATE 1.0.5
+ decodeLine@CLAMAV_PRIVATE 1.0.5
+ disasmbuf@CLAMAV_PRIVATE 1.0.5
+ fmap@CLAMAV_PRIVATE 1.0.5
+ fmap_dump_to_file@CLAMAV_PRIVATE 1.0.5
+ fmap_duplicate@CLAMAV_PRIVATE 1.0.5
+ free_duplicate_fmap@CLAMAV_PRIVATE 1.0.5
+ get_fpu_endian@CLAMAV_PRIVATE 1.0.5
+ have_clamjit@CLAMAV_PRIVATE 1.0.5
+ have_rar@CLAMAV_PRIVATE 1.0.5
+ html_normalise_map@CLAMAV_PRIVATE 1.0.5
+ html_normalise_mem@CLAMAV_PRIVATE 1.0.5
+ html_screnc_decode@CLAMAV_PRIVATE 1.0.5
+ html_tag_arg_free@CLAMAV_PRIVATE 1.0.5
+ init_allow_list@CLAMAV_PRIVATE 1.0.5
+ init_domain_list@CLAMAV_PRIVATE 1.0.5
+ init_regex_list@CLAMAV_PRIVATE 1.0.5
+ is_regex_ok@CLAMAV_PRIVATE 1.0.5
+ load_regex_matcher@CLAMAV_PRIVATE 1.0.5
+ lsig_increment_subsig_match@CLAMAV_PRIVATE 1.0.5
  lsig_sub_matched@CLAMAV_PUBLIC 1.0.0
- messageCreate@CLAMAV_PRIVATE 1.0.3
- messageDestroy@CLAMAV_PRIVATE 1.0.3
- mpool_calloc@CLAMAV_PRIVATE 1.0.3
- mpool_create@CLAMAV_PRIVATE 1.0.3
- mpool_destroy@CLAMAV_PRIVATE 1.0.3
- mpool_free@CLAMAV_PRIVATE 1.0.3
- mpool_getstats@CLAMAV_PRIVATE 1.0.3
- phishingScan@CLAMAV_PRIVATE 1.0.3
- phishing_done@CLAMAV_PRIVATE 1.0.3
- phishing_init@CLAMAV_PRIVATE 1.0.3
- readdb_parse_ldb_subsignature@CLAMAV_PRIVATE 1.0.3
- regex_list_add_pattern@CLAMAV_PRIVATE 1.0.3
- regex_list_done@CLAMAV_PRIVATE 1.0.3
- regex_list_match@CLAMAV_PRIVATE 1.0.3
- tableCreate@CLAMAV_PRIVATE 1.0.3
- tableDestroy@CLAMAV_PRIVATE 1.0.3
- tableFind@CLAMAV_PRIVATE 1.0.3
- tableInsert@CLAMAV_PRIVATE 1.0.3
- tableIterate@CLAMAV_PRIVATE 1.0.3
- tableRemove@CLAMAV_PRIVATE 1.0.3
- tableUpdate@CLAMAV_PRIVATE 1.0.3
- text_normalize_init@CLAMAV_PRIVATE 1.0.3
- text_normalize_map@CLAMAV_PRIVATE 1.0.3
- text_normalize_reset@CLAMAV_PRIVATE 1.0.3
- uniq_add@CLAMAV_PRIVATE 1.0.3
- uniq_free@CLAMAV_PRIVATE 1.0.3
- uniq_get@CLAMAV_PRIVATE 1.0.3
- uniq_init@CLAMAV_PRIVATE 1.0.3
+ messageCreate@CLAMAV_PRIVATE 1.0.5
+ messageDestroy@CLAMAV_PRIVATE 1.0.5
+ mpool_calloc@CLAMAV_PRIVATE 1.0.5
+ mpool_create@CLAMAV_PRIVATE 1.0.5
+ mpool_destroy@CLAMAV_PRIVATE 1.0.5
+ mpool_free@CLAMAV_PRIVATE 1.0.5
+ mpool_getstats@CLAMAV_PRIVATE 1.0.5
+ phishingScan@CLAMAV_PRIVATE 1.0.5
+ phishing_done@CLAMAV_PRIVATE 1.0.5
+ phishing_init@CLAMAV_PRIVATE 1.0.5
+ readdb_parse_ldb_subsignature@CLAMAV_PRIVATE 1.0.5
+ regex_list_add_pattern@CLAMAV_PRIVATE 1.0.5
+ regex_list_done@CLAMAV_PRIVATE 1.0.5
+ regex_list_match@CLAMAV_PRIVATE 1.0.5
+ tableCreate@CLAMAV_PRIVATE 1.0.5
+ tableDestroy@CLAMAV_PRIVATE 1.0.5
+ tableFind@CLAMAV_PRIVATE 1.0.5
+ tableInsert@CLAMAV_PRIVATE 1.0.5
+ tableIterate@CLAMAV_PRIVATE 1.0.5
+ tableRemove@CLAMAV_PRIVATE 1.0.5
+ tableUpdate@CLAMAV_PRIVATE 1.0.5
+ text_normalize_init@CLAMAV_PRIVATE 1.0.5
+ text_normalize_map@CLAMAV_PRIVATE 1.0.5
+ text_normalize_reset@CLAMAV_PRIVATE 1.0.5
+ uniq_add@CLAMAV_PRIVATE 1.0.5
+ uniq_free@CLAMAV_PRIVATE 1.0.5
+ uniq_get@CLAMAV_PRIVATE 1.0.5
+ uniq_init@CLAMAV_PRIVATE 1.0.5
 libfreshclam.so.2 libclamav11 #MINVER#
  FRESHCLAM_PRIVATE@FRESHCLAM_PRIVATE 1.0.1
  FRESHCLAM_PUBLIC@FRESHCLAM_PUBLIC 1.0.0
diff --git a/debian/patches/Add-a-version-script-for-libclamav-and-libfreshclam.patch b/debian/patches/Add-a-version-script-for-libclamav-and-libfreshclam.patch
index 04b3b35..b8dc842 100644
--- a/debian/patches/Add-a-version-script-for-libclamav-and-libfreshclam.patch
+++ b/debian/patches/Add-a-version-script-for-libclamav-and-libfreshclam.patch
@@ -1,4 +1,4 @@
-From 02e81d7f161a4dce9f9bd20b0fb02b1bbe0ec232 Mon Sep 17 00:00:00 2001
+From 0c3d501051dd0ef760ea0aeb8598ce8872f24080 Mon Sep 17 00:00:00 2001
 From: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
 Date: Mon, 2 Jan 2023 15:51:42 +0100
 Subject: Add a version script for libclamav and libfreshclam
diff --git a/debian/patches/Add-an-option-to-avoid-setting-RPATH-on-unix-systems.patch b/debian/patches/Add-an-option-to-avoid-setting-RPATH-on-unix-systems.patch
index 068ea04..a949023 100644
--- a/debian/patches/Add-an-option-to-avoid-setting-RPATH-on-unix-systems.patch
+++ b/debian/patches/Add-an-option-to-avoid-setting-RPATH-on-unix-systems.patch
@@ -1,4 +1,4 @@
-From 41cd9840d6d746fb3206daadda59e0030f5631a8 Mon Sep 17 00:00:00 2001
+From 75139abae87f22d070f53dc85d4803cb09309859 Mon Sep 17 00:00:00 2001
 From: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
 Date: Fri, 6 Jan 2023 23:11:00 +0100
 Subject: Add an option to avoid setting RPATH on unix systems.
@@ -16,7 +16,7 @@ Signed-off-by: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
  2 files changed, 5 insertions(+), 2 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a15ea12..cfeeb49 100644
+index e414ae6..b2c6533 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -174,13 +174,13 @@ endif()
diff --git a/debian/patches/Change-paths-in-sample-conf-file-to-match-Debian.patch b/debian/patches/Change-paths-in-sample-conf-file-to-match-Debian.patch
index da68c75..169bde6 100644
--- a/debian/patches/Change-paths-in-sample-conf-file-to-match-Debian.patch
+++ b/debian/patches/Change-paths-in-sample-conf-file-to-match-Debian.patch
@@ -1,4 +1,4 @@
-From 57f08c063a67798b1403e75fad6a629d2ee907db Mon Sep 17 00:00:00 2001
+From 1cc4c5c049acec79a134e35895ae0df6f2781d86 Mon Sep 17 00:00:00 2001
 From: Scott Kitterman <sc...@kitterman.com>
 Date: Mon, 10 Mar 2014 19:20:18 -0400
 Subject: Change paths in sample conf file to match Debian
diff --git a/debian/patches/Freshclam-remove-curl-result-warning.patch b/debian/patches/Freshclam-remove-curl-result-warning.patch
deleted file mode 100644
index 7282f51..0000000
--- a/debian/patches/Freshclam-remove-curl-result-warning.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From b6798c1c1c1bd4e43f1ffbc36748adb5cf07787a Mon Sep 17 00:00:00 2001
-From: Micah Snyder <micas...@cisco.com>
-Date: Tue, 30 May 2023 16:07:45 -0700
-Subject: Freshclam: remove curl result warning
-
-A warning printing the HTTP code and file size was accidentally
-committed at the end of ClamAV 1.1.0 dev when fixing a bug.
-Remove this warning.
-
-Resolves: https://github.com/Cisco-Talos/clamav/issues/930
-Patch-Name: Freshclam-remove-curl-result-warning.patch
----
- libfreshclam/libfreshclam_internal.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/libfreshclam/libfreshclam_internal.c b/libfreshclam/libfreshclam_internal.c
-index e1ffeb1..c96b488 100644
---- a/libfreshclam/libfreshclam_internal.c
-+++ b/libfreshclam/libfreshclam_internal.c
-@@ -1300,7 +1300,6 @@ static fc_error_t downloadFile(
- 
-     /* Check HTTP code */
-     curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &http_code);
--    logg(LOGG_WARNING, " ******* RESULT %ld, SIZE: %zu ******* \n", http_code, receivedFile.size);
-     switch (http_code) {
-         case 200:
-         case 206: {
diff --git a/debian/patches/Remove-bundled-tomfastmath-library.patch b/debian/patches/Remove-bundled-tomfastmath-library.patch
index 579b20d..14af913 100644
--- a/debian/patches/Remove-bundled-tomfastmath-library.patch
+++ b/debian/patches/Remove-bundled-tomfastmath-library.patch
@@ -1,4 +1,4 @@
-From 7161ab29bd364366b61ee3b963c4cb2e8a8ffee9 Mon Sep 17 00:00:00 2001
+From 62cd02dc40f3fd1a26496091133787db33dd65e7 Mon Sep 17 00:00:00 2001
 From: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
 Date: Sat, 18 Feb 2023 10:45:50 +0100
 Subject: Remove bundled tomfastmath library.
@@ -43,7 +43,7 @@ index 548d672..68dec8c 100644
    - Yara has since switched to the BSD 3-Clause License;
      Our source is out-of-date and needs to be updated.
 diff --git a/clamav-config.h.cmake.in b/clamav-config.h.cmake.in
-index 5de4cbf..b21af87 100644
+index 8153ff5..4f3b837 100644
 --- a/clamav-config.h.cmake.in
 +++ b/clamav-config.h.cmake.in
 @@ -401,9 +401,6 @@
diff --git a/debian/patches/cargo-Remove-windows-referenfes.patch b/debian/patches/cargo-Remove-windows-referenfes.patch
index 5e96642..8371e9f 100644
--- a/debian/patches/cargo-Remove-windows-referenfes.patch
+++ b/debian/patches/cargo-Remove-windows-referenfes.patch
@@ -1,4 +1,4 @@
-From 2082ccf539724ebe2552e816c27271aa37f51fd0 Mon Sep 17 00:00:00 2001
+From 596400ea97297ee38482a785bc631ceb74217986 Mon Sep 17 00:00:00 2001
 From: Scott Kitterman <sc...@kitterman.com>
 Date: Sat, 31 Dec 2022 12:12:58 +0100
 Subject: cargo: Remove windows referenfes.
@@ -10,66 +10,14 @@ complain about it.
 
 Patch-Name: cargo-Remove-windows-referenfes.patch
 ---
- .../.cargo/vendor/ansi_term/.cargo-checksum.json     |  2 +-
- libclamav_rust/.cargo/vendor/ansi_term/Cargo.toml    |  6 +++---
- .../.cargo/vendor/atty/.cargo-checksum.json          |  2 +-
- libclamav_rust/.cargo/vendor/atty/Cargo.toml         |  6 +++---
  .../.cargo/vendor/libloading/.cargo-checksum.json    |  2 +-
  libclamav_rust/.cargo/vendor/libloading/Cargo.toml   | 12 ++++++------
- .../vendor/remove_dir_all/.cargo-checksum.json       |  2 +-
- .../.cargo/vendor/remove_dir_all/Cargo.toml          |  4 ++--
  .../.cargo/vendor/tempfile/.cargo-checksum.json      |  2 +-
- libclamav_rust/.cargo/vendor/tempfile/Cargo.toml     |  6 +++---
+ libclamav_rust/.cargo/vendor/tempfile/Cargo.toml     | 12 ++++++------
  .../.cargo/vendor/which/.cargo-checksum.json         |  2 +-
  libclamav_rust/.cargo/vendor/which/Cargo.toml        |  4 ++--
- 12 files changed, 25 insertions(+), 25 deletions(-)
+ 6 files changed, 17 insertions(+), 17 deletions(-)
 
-diff --git a/libclamav_rust/.cargo/vendor/ansi_term/.cargo-checksum.json b/libclamav_rust/.cargo/vendor/ansi_term/.cargo-checksum.json
-index ee41459..2c87a6d 100644
---- a/libclamav_rust/.cargo/vendor/ansi_term/.cargo-checksum.json
-+++ b/libclamav_rust/.cargo/vendor/ansi_term/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"Cargo.lock":"31bb7b361278d99a00595cbd916c444e6fd193b5f0b1ea0cf2d9454440739501","Cargo.toml":"4ca681d6949661455ac88541ffa68ebc7db50cb2b6e9a2134e6d0687da4997c3","LICENCE":"2762990c7fbba9d550802a2593c1d857dcd52596bb0f9f192a97e9a7ac5f4f9e","README.md":"8d983e1bb3cc99724010d9073a5be6452cd49bd57a877525fd0a5dd41e6591d5","examples/256_colours.rs":"5f2845068bc2d93cff4a61f18ffa44fbbbc91be771dfd686d537d343f37041da","examples/basic_colours.rs":"d610795f3743d10d90ec4e5ab32cc09fb16640896cecd2f93fca434a0920397c","examples/rgb_colours.rs":"8399e5131e959a56c932036b790e601fb4ad658856112daf87f933889b443f2c","src/ansi.rs":"988fb87936064fa006fcc9474ac62099c8d6e98d38bb80cec2cd864066482a08","src/debug.rs":"61343f8bf13695020102c033aeaacd9ccd3ec830eacbf9011127e61829451d20","src/difference.rs":"9b4b8f91c72932bfda262abdceff0ec124a5a8dd27d07bd4d2e5e7889135c6c9","src/display.rs":"c04f2397d1d1d86a5e2188c2840c505cb0baeaf9706a88d4bbe56eadc67811b9","src/lib.rs":"b85df4b9b8832cda777db049efa2ec84b9847438fa3feaf8540e597ce2532a47","src/style.rs":"1042fc973f5ea8bbb2a2faec334aad530520b53edc9b3296174ae38c1060490b","src/util.rs":"07c127f732887573a1c9126fc0288e13e7a8f1f803513b95e50aac2905171b0d","src/windows.rs":"7ce7dd6738b9728fcd3908c284b6f29a9bdfb34af761b4c7385cf7e3e1b20e64","src/write.rs":"c9ec03764ad1ecea8b680243c9cafc5e70919fcea7500cc18246ffd8f6bb4b33"},"package":"d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"}
-\ No newline at end of file
-+{"files":{"Cargo.lock":"31bb7b361278d99a00595cbd916c444e6fd193b5f0b1ea0cf2d9454440739501","LICENCE":"2762990c7fbba9d550802a2593c1d857dcd52596bb0f9f192a97e9a7ac5f4f9e","README.md":"8d983e1bb3cc99724010d9073a5be6452cd49bd57a877525fd0a5dd41e6591d5","examples/256_colours.rs":"5f2845068bc2d93cff4a61f18ffa44fbbbc91be771dfd686d537d343f37041da","examples/basic_colours.rs":"d610795f3743d10d90ec4e5ab32cc09fb16640896cecd2f93fca434a0920397c","examples/rgb_colours.rs":"8399e5131e959a56c932036b790e601fb4ad658856112daf87f933889b443f2c","src/ansi.rs":"988fb87936064fa006fcc9474ac62099c8d6e98d38bb80cec2cd864066482a08","src/debug.rs":"61343f8bf13695020102c033aeaacd9ccd3ec830eacbf9011127e61829451d20","src/difference.rs":"9b4b8f91c72932bfda262abdceff0ec124a5a8dd27d07bd4d2e5e7889135c6c9","src/display.rs":"c04f2397d1d1d86a5e2188c2840c505cb0baeaf9706a88d4bbe56eadc67811b9","src/lib.rs":"b85df4b9b8832cda777db049efa2ec84b9847438fa3feaf8540e597ce2532a47","src/style.rs":"1042fc973f5ea8bbb2a2faec334aad530520b53edc9b3296174ae38c1060490b","src/util.rs":"07c127f732887573a1c9126fc0288e13e7a8f1f803513b95e50aac2905171b0d","src/windows.rs":"7ce7dd6738b9728fcd3908c284b6f29a9bdfb34af761b4c7385cf7e3e1b20e64","src/write.rs":"c9ec03764ad1ecea8b680243c9cafc5e70919fcea7500cc18246ffd8f6bb4b33"},"package":"d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"}
-diff --git a/libclamav_rust/.cargo/vendor/ansi_term/Cargo.toml b/libclamav_rust/.cargo/vendor/ansi_term/Cargo.toml
-index 0e5feba..3314b47 100644
---- a/libclamav_rust/.cargo/vendor/ansi_term/Cargo.toml
-+++ b/libclamav_rust/.cargo/vendor/ansi_term/Cargo.toml
-@@ -38,6 +38,6 @@ version = "1.0.39"
- 
- [features]
- derive_serde_style = ["serde"]
--[target."cfg(target_os=\"windows\")".dependencies.winapi]
--version = "0.3.4"
--features = ["consoleapi", "errhandlingapi", "fileapi", "handleapi", "processenv"]
-+#[target."cfg(target_os=\"windows\")".dependencies.winapi]
-+#version = "0.3.4"
-+#features = ["consoleapi", "errhandlingapi", "fileapi", "handleapi", "processenv"]
-diff --git a/libclamav_rust/.cargo/vendor/atty/.cargo-checksum.json b/libclamav_rust/.cargo/vendor/atty/.cargo-checksum.json
-index a68b85b..8a392c5 100644
---- a/libclamav_rust/.cargo/vendor/atty/.cargo-checksum.json
-+++ b/libclamav_rust/.cargo/vendor/atty/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"CHANGELOG.md":"70db121262d72acc472ad1a90b78c42de570820e65b566c6b9339b62e636d572","Cargo.lock":"6868f02a96413bcba37a06f01c6bf87e6331dea9461681a47a561cec6acd2546","Cargo.toml":"3af88a07af6a4adb84373fc3cd4920884b0b12b338cdb55ef598fd512ee1a790","LICENSE":"99fa95ba4e4cdaf71c27d73260ea069fc4515b3d02fde3020c5b562280006cbc","README.md":"e559a69c0b2bd20bffcede64fd548df6c671b0d1504613c5e3e5d884d759caea","examples/atty.rs":"1551387a71474d9ac1b5153231f884e9e05213badcfaa3494ad2cb7ea958374a","rustfmt.toml":"8e6ea1bcb79c505490034020c98e9b472f4ac4113f245bae90f5e1217b1ec65a","src/lib.rs":"d5abf6a54e8c496c486572bdc91eef10480f6ad126c4287f039df5feff7a9bbb"},"package":"d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"}
-\ No newline at end of file
-+{"files":{"CHANGELOG.md":"70db121262d72acc472ad1a90b78c42de570820e65b566c6b9339b62e636d572","Cargo.lock":"6868f02a96413bcba37a06f01c6bf87e6331dea9461681a47a561cec6acd2546","LICENSE":"99fa95ba4e4cdaf71c27d73260ea069fc4515b3d02fde3020c5b562280006cbc","README.md":"e559a69c0b2bd20bffcede64fd548df6c671b0d1504613c5e3e5d884d759caea","examples/atty.rs":"1551387a71474d9ac1b5153231f884e9e05213badcfaa3494ad2cb7ea958374a","rustfmt.toml":"8e6ea1bcb79c505490034020c98e9b472f4ac4113f245bae90f5e1217b1ec65a","src/lib.rs":"d5abf6a54e8c496c486572bdc91eef10480f6ad126c4287f039df5feff7a9bbb"},"package":"d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"}
-diff --git a/libclamav_rust/.cargo/vendor/atty/Cargo.toml b/libclamav_rust/.cargo/vendor/atty/Cargo.toml
-index d6bf2d0..f846a68 100644
---- a/libclamav_rust/.cargo/vendor/atty/Cargo.toml
-+++ b/libclamav_rust/.cargo/vendor/atty/Cargo.toml
-@@ -27,8 +27,8 @@ version = "0.1.6"
- [target."cfg(unix)".dependencies.libc]
- version = "0.2"
- default-features = false
--[target."cfg(windows)".dependencies.winapi]
--version = "0.3"
--features = ["consoleapi", "processenv", "minwinbase", "minwindef", "winbase"]
-+#[target."cfg(windows)".dependencies.winapi]
-+#version = "0.3"
-+#features = ["consoleapi", "processenv", "minwinbase", "minwindef", "winbase"]
- [badges.travis-ci]
- repository = "softprops/atty"
 diff --git a/libclamav_rust/.cargo/vendor/libloading/.cargo-checksum.json b/libclamav_rust/.cargo/vendor/libloading/.cargo-checksum.json
 index 0416401..884f3c8 100644
 --- a/libclamav_rust/.cargo/vendor/libloading/.cargo-checksum.json
@@ -98,49 +46,34 @@ index 65168d5..a43837f 100644
 +#    "errhandlingapi",
 +#    "libloaderapi",
 +#]
-diff --git a/libclamav_rust/.cargo/vendor/remove_dir_all/.cargo-checksum.json b/libclamav_rust/.cargo/vendor/remove_dir_all/.cargo-checksum.json
-index bc449a2..b5d9233 100644
---- a/libclamav_rust/.cargo/vendor/remove_dir_all/.cargo-checksum.json
-+++ b/libclamav_rust/.cargo/vendor/remove_dir_all/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"Cargo.toml":"1e90fb0b342a93a8bd2d593c71bef703e69b760801099d31202556d3a4db0007","LICENCE-APACHE":"c6c8c9dbe29fb4d68d829c7a402f9f6baae3472ecf107cc2a57c75a9a8d1b85c","LICENCE-MIT":"db264505cb1856383e255c8373da9e5aeadc1cd92b570fcc94fd1fb7d892db78","README.md":"167f3796d716e1bb4a6b98d706fd3c02012dff55d488a24e7de822d896d3cc5a","src/fs.rs":"a7137d7f3a5769cd547daf2be2096a7a664d6114107a3f143c921c4aaab97719","src/lib.rs":"8155ac516b4d054de00d78ce70501175bea7248c0436e4a7f0d35823299f7dc2"},"package":"3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"}
-\ No newline at end of file
-+{"files":{"LICENCE-APACHE":"c6c8c9dbe29fb4d68d829c7a402f9f6baae3472ecf107cc2a57c75a9a8d1b85c","LICENCE-MIT":"db264505cb1856383e255c8373da9e5aeadc1cd92b570fcc94fd1fb7d892db78","README.md":"167f3796d716e1bb4a6b98d706fd3c02012dff55d488a24e7de822d896d3cc5a","src/fs.rs":"a7137d7f3a5769cd547daf2be2096a7a664d6114107a3f143c921c4aaab97719","src/lib.rs":"8155ac516b4d054de00d78ce70501175bea7248c0436e4a7f0d35823299f7dc2"},"package":"3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"}
-diff --git a/libclamav_rust/.cargo/vendor/remove_dir_all/Cargo.toml b/libclamav_rust/.cargo/vendor/remove_dir_all/Cargo.toml
-index a847288..f9cdf30 100644
---- a/libclamav_rust/.cargo/vendor/remove_dir_all/Cargo.toml
-+++ b/libclamav_rust/.cargo/vendor/remove_dir_all/Cargo.toml
-@@ -23,6 +23,6 @@ license = "MIT/Apache-2.0"
- repository = "https://github.com/XAMPPRocky/remove_dir_all.git";
- [dev-dependencies.doc-comment]
- version = "0.3"
--[target."cfg(windows)".dependencies.winapi]
--version = "0.3"
-+#[target."cfg(windows)".dependencies.winapi]
-+#version = "0.3"
- features = ["std", "errhandlingapi", "winerror", "fileapi", "winbase"]
 diff --git a/libclamav_rust/.cargo/vendor/tempfile/.cargo-checksum.json b/libclamav_rust/.cargo/vendor/tempfile/.cargo-checksum.json
-index 26f8560..9102e3d 100644
+index 472e033..5274ccf 100644
 --- a/libclamav_rust/.cargo/vendor/tempfile/.cargo-checksum.json
 +++ b/libclamav_rust/.cargo/vendor/tempfile/.cargo-checksum.json
 @@ -1 +1 @@
--{"files":{"Cargo.toml":"685243e302f6e014de9c8e9b95596e5f63c7bf7fde42e8e66a41a6bc7fd5e803","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"8b427f5bc501764575e52ba4f9d95673cf8f6d80a86d0d06599852e1a9a20a36","NEWS":"4255c86ac140a4d08423cd05cbd0aa42ff796bb4b38579dd19cde289ee3baecd","README.md":"db6717cbd0b3cbbce5f3cdb8a80d8f2d90b1be251b4c1c647557ae0f78ec9748","src/dir.rs":"4499ff439b740f8d2f01458664e2bf72bbfdd1206226780c6a91fb309ef15707","src/error.rs":"cc7d8eace0fff11cb342158d2885d5637bfb14b24ef30755e808554772039c5f","src/file/imp/mod.rs":"f6da9fcd93f11889670a251fdd8231b5f4614e5a971b7b183f52b44af68568d5","src/file/imp/other.rs":"99c8f9f3251199fc31e7b88810134712e5725fb6fa14648696ed5cbea980fc5b","src/file/imp/unix.rs":"cf8eeceecfddc37c9eaf95a1ebe088314dc468f07fe357961d80817eef619ca4","src/file/imp/windows.rs":"03d81d71c404f0d448e1162825d6fbd57a78b4af8d4dc5287ec2e7c5a873d7cc","src/file/mod.rs":"bda4ee3998106089a4c0ccbc8e46dc22b7d3aec427487fd4e414fb132b378736","src/lib.rs":"e2b0df7e17cc6680a5bb0829d0433f069c6bf9eede2007d21e3b01a595df41a8","src/spooled.rs":"51fa1d7639027234e257d343a5d3c95f2e47899ba6a24f0abec8d4d729eba6d6","src/util.rs":"2bd80ee69009e7e36b596d0105bb00184cff04e899e9fcce2e4cc21f23dda073","tests/namedtempfile.rs":"0031cb33ae6faf45be103869b4d98af63bef4040dc489b323212eb7a7ef72a9a","tests/spooled.rs":"29e797d486d867cb6ac46d4cf126eb5868a069a4070c3f50ffa02fbb0b887934","tests/tempdir.rs":"771d555d4eaa410207d212eb3744e016e0b5a22f1f1b7199636a4fac5daaf952","tests/tempfile.rs":"92078a1e20a39af77c1daa9a422345d20c41584dd2010b4829911c8741d1c628"},"package":"5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"}
+-{"files":{"Cargo.toml":"77fb468567c7fcf9a59e458288686210470400d0c3b6e34b3d0321f1f3899354","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"8b427f5bc501764575e52ba4f9d95673cf8f6d80a86d0d06599852e1a9a20a36","NEWS":"96e2737f84c972d967d5bb7b3b7cae77aa014f3d322d58fc53a1feabbdd86bdc","README.md":"5fb03bad7838354c686bab80e30323385f07efeb2aa1c5c35bdff7ec203dc5fa","src/dir.rs":"7efb94008d9d14dd3c19c105f2a0dd0695e102a1057ad91d80eed2bcb97e5bd0","src/error.rs":"cc7d8eace0fff11cb342158d2885d5637bfb14b24ef30755e808554772039c5f","src/file/imp/mod.rs":"f6da9fcd93f11889670a251fdd8231b5f4614e5a971b7b183f52b44af68568d5","src/file/imp/other.rs":"99c8f9f3251199fc31e7b88810134712e5725fb6fa14648696ed5cbea980fc5b","src/file/imp/unix.rs":"fd0d514d61ed122f4d79c63c9f34809631ba78ffa41eea1632bf332137d22895","src/file/imp/windows.rs":"3c064beb4b70677929bfe6372dba113756fbd8ea27aa6a36e86090d7b860f566","src/file/mod.rs":"a469b69a2cfcf94804f26f18a77fd96777dfe3a3d3761872c507da913c666878","src/lib.rs":"6303e7470c680ad785f32eb717de2e512b88c2c5da0e1684e3704471fabd7398","src/spooled.rs":"05eef6a7aa9441ab834e602c0dd3df2222dcd4bcca91c5dfbc88591fb61a391f","src/util.rs":"6761c241cc6f4b99a85e45a827acd26b4d3bdf1d4efcb43a277f788b262ce0dc","tests/namedtempfile.rs":"93b8f2e609711047fe9649e4bce8e5bfaeeedd54f2ec871a994ea2b619283d7a","tests/spooled.rs":"29e797d486d867cb6ac46d4cf126eb5868a069a4070c3f50ffa02fbb0b887934","tests/tempdir.rs":"abf08594f9d9ddc6c417de413bf63f9026150378af319d857e5ac8578f3fb665","tests/tempfile.rs":"9a2f8142151a6aa2fd047aa3749f9982ece4b080a3ace0d3c58d6bdb3f883c81"},"package":"af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95"}
 \ No newline at end of file
-+{"files":{"LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"8b427f5bc501764575e52ba4f9d95673cf8f6d80a86d0d06599852e1a9a20a36","NEWS":"4255c86ac140a4d08423cd05cbd0aa42ff796bb4b38579dd19cde289ee3baecd","README.md":"db6717cbd0b3cbbce5f3cdb8a80d8f2d90b1be251b4c1c647557ae0f78ec9748","src/dir.rs":"4499ff439b740f8d2f01458664e2bf72bbfdd1206226780c6a91fb309ef15707","src/error.rs":"cc7d8eace0fff11cb342158d2885d5637bfb14b24ef30755e808554772039c5f","src/file/imp/mod.rs":"f6da9fcd93f11889670a251fdd8231b5f4614e5a971b7b183f52b44af68568d5","src/file/imp/other.rs":"99c8f9f3251199fc31e7b88810134712e5725fb6fa14648696ed5cbea980fc5b","src/file/imp/unix.rs":"cf8eeceecfddc37c9eaf95a1ebe088314dc468f07fe357961d80817eef619ca4","src/file/imp/windows.rs":"03d81d71c404f0d448e1162825d6fbd57a78b4af8d4dc5287ec2e7c5a873d7cc","src/file/mod.rs":"bda4ee3998106089a4c0ccbc8e46dc22b7d3aec427487fd4e414fb132b378736","src/lib.rs":"e2b0df7e17cc6680a5bb0829d0433f069c6bf9eede2007d21e3b01a595df41a8","src/spooled.rs":"51fa1d7639027234e257d343a5d3c95f2e47899ba6a24f0abec8d4d729eba6d6","src/util.rs":"2bd80ee69009e7e36b596d0105bb00184cff04e899e9fcce2e4cc21f23dda073","tests/namedtempfile.rs":"0031cb33ae6faf45be103869b4d98af63bef4040dc489b323212eb7a7ef72a9a","tests/spooled.rs":"29e797d486d867cb6ac46d4cf126eb5868a069a4070c3f50ffa02fbb0b887934","tests/tempdir.rs":"771d555d4eaa410207d212eb3744e016e0b5a22f1f1b7199636a4fac5daaf952","tests/tempfile.rs":"92078a1e20a39af77c1daa9a422345d20c41584dd2010b4829911c8741d1c628"},"package":"5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"}
++{"files":{"LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"8b427f5bc501764575e52ba4f9d95673cf8f6d80a86d0d06599852e1a9a20a36","NEWS":"96e2737f84c972d967d5bb7b3b7cae77aa014f3d322d58fc53a1feabbdd86bdc","README.md":"5fb03bad7838354c686bab80e30323385f07efeb2aa1c5c35bdff7ec203dc5fa","src/dir.rs":"7efb94008d9d14dd3c19c105f2a0dd0695e102a1057ad91d80eed2bcb97e5bd0","src/error.rs":"cc7d8eace0fff11cb342158d2885d5637bfb14b24ef30755e808554772039c5f","src/file/imp/mod.rs":"f6da9fcd93f11889670a251fdd8231b5f4614e5a971b7b183f52b44af68568d5","src/file/imp/other.rs":"99c8f9f3251199fc31e7b88810134712e5725fb6fa14648696ed5cbea980fc5b","src/file/imp/unix.rs":"fd0d514d61ed122f4d79c63c9f34809631ba78ffa41eea1632bf332137d22895","src/file/imp/windows.rs":"3c064beb4b70677929bfe6372dba113756fbd8ea27aa6a36e86090d7b860f566","src/file/mod.rs":"a469b69a2cfcf94804f26f18a77fd96777dfe3a3d3761872c507da913c666878","src/lib.rs":"6303e7470c680ad785f32eb717de2e512b88c2c5da0e1684e3704471fabd7398","src/spooled.rs":"05eef6a7aa9441ab834e602c0dd3df2222dcd4bcca91c5dfbc88591fb61a391f","src/util.rs":"6761c241cc6f4b99a85e45a827acd26b4d3bdf1d4efcb43a277f788b262ce0dc","tests/namedtempfile.rs":"93b8f2e609711047fe9649e4bce8e5bfaeeedd54f2ec871a994ea2b619283d7a","tests/spooled.rs":"29e797d486d867cb6ac46d4cf126eb5868a069a4070c3f50ffa02fbb0b887934","tests/tempdir.rs":"abf08594f9d9ddc6c417de413bf63f9026150378af319d857e5ac8578f3fb665","tests/tempfile.rs":"9a2f8142151a6aa2fd047aa3749f9982ece4b080a3ace0d3c58d6bdb3f883c81"},"package":"af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95"}
 diff --git a/libclamav_rust/.cargo/vendor/tempfile/Cargo.toml b/libclamav_rust/.cargo/vendor/tempfile/Cargo.toml
-index 253f866..51daf19 100644
+index 0e0722c..a925f08 100644
 --- a/libclamav_rust/.cargo/vendor/tempfile/Cargo.toml
 +++ b/libclamav_rust/.cargo/vendor/tempfile/Cargo.toml
-@@ -38,6 +38,6 @@ nightly = []
- version = "0.2.27"
+@@ -50,9 +50,9 @@ features = ["fs"]
  [target."cfg(target_os = \"redox\")".dependencies.redox_syscall]
  version = "0.2.9"
--[target."cfg(windows)".dependencies.winapi]
--version = "0.3"
--features = ["fileapi", "handleapi", "winbase"]
-+#[target."cfg(windows)".dependencies.winapi]
-+#version = "0.3"
-+#features = ["fileapi", "handleapi", "winbase"]
+ 
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.42"
+-features = [
+-    "Win32_Storage_FileSystem",
+-    "Win32_Foundation",
+-]
++# [target."cfg(windows)".dependencies.windows-sys]
++# version = "0.42"
++# features = [
++#     "Win32_Storage_FileSystem",
++#     "Win32_Foundation",
++# ]
 diff --git a/libclamav_rust/.cargo/vendor/which/.cargo-checksum.json b/libclamav_rust/.cargo/vendor/which/.cargo-checksum.json
 index 7b3c3ca..69fea07 100644
 --- a/libclamav_rust/.cargo/vendor/which/.cargo-checksum.json
diff --git a/debian/patches/libclamav-Add-missing-symbols.patch b/debian/patches/libclamav-Add-missing-symbols.patch
index fe02243..a93250c 100644
--- a/debian/patches/libclamav-Add-missing-symbols.patch
+++ b/debian/patches/libclamav-Add-missing-symbols.patch
@@ -1,4 +1,4 @@
-From cde2569b3aae83e63013dc5f0c835cf8dc8e0333 Mon Sep 17 00:00:00 2001
+From a6aba92521bf5b8badb77f10777b9724895e7c6b Mon Sep 17 00:00:00 2001
 From: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
 Date: Mon, 2 Jan 2023 16:20:39 +0100
 Subject: libclamav: Add missing symbols.
@@ -13,92 +13,30 @@ Signed-off-by: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
  1 file changed, 17 insertions(+)
 
 diff --git a/libclamav/libclamav.map b/libclamav/libclamav.map
-index ae95c44..eecf2bb 100644
+index 7ef5864..0dd0f38 100644
 --- a/libclamav/libclamav.map
 +++ b/libclamav/libclamav.map
-@@ -75,6 +75,9 @@ CLAMAV_PRIVATE {
-     cl_base64_decode;
-     cl_base64_encode;
-     cl_cleanup_crypto;
+@@ -267,6 +267,23 @@ CLAMAV_PRIVATE {
+     __cli_strndup;
+     __cli_strnlen;
+     __cli_strnstr;
++
 +    cl_cvdunpack;
 +    cl_engine_set_clcb_engine_compile_progress;
 +    cl_engine_set_clcb_sigload_progress;
-     cl_get_pkey_file;
-     cl_get_x509_from_mem;
-     cl_hash_data;
-@@ -108,6 +111,7 @@ CLAMAV_PRIVATE {
-     cli_ac_init;
-     cli_ac_initdata;
-     cli_ac_scanbuff;
 +    cli_add_content_match_pattern;
-     cli_basename;
-     cli_bm_free;
-     cli_bm_init;
-@@ -142,7 +146,10 @@ CLAMAV_PRIVATE {
-     cli_codepage_to_utf8;
-     cli_ctime;
-     cli_cvdunpack;
 +    cli_dbgmsg;
-+    cli_dbgmsg;
-     cli_dbgmsg_internal;
 +    cli_dbgmsg_no_inline;
-     cli_dconf_init;
-     cli_debug_flag;
-     cli_detect_environment;
-@@ -156,13 +163,17 @@ CLAMAV_PRIVATE {
-     cli_gentemp_with_prefix;
-     cli_gentempfd;
-     cli_gentempfd_with_prefix;
 +    cli_get_debug_flag;
-     cli_get_filepath_from_filedesc;
 +    cli_get_last_virus_str;
 +    cli_getdsig;
-     cli_gettmpdir;
-     cli_hashfile;
-     cli_hashset_destroy;
-     cli_hashstream;
-     cli_hex2str;
-     cli_hex2ui;
 +    cli_infomsg_simple;
-     cli_initroots;
-     cli_isnumber;
-     cli_js_destroy;
-@@ -196,6 +207,7 @@ CLAMAV_PRIVATE {
-     cli_sanitize_filepath;
-     cli_scan_buff;
-     cli_scan_fmap;
 +    cli_set_debug_flag;
-     cli_sigopts_handler;
-     cli_sigperf_events_destroy;
-     cli_sigperf_print;
-@@ -227,6 +239,7 @@ CLAMAV_PRIVATE {
-     decodeLine;
-     disasmbuf;
-     fmap;
 +    fmap_dump_to_file;
-     fmap_duplicate;
-     free_duplicate_fmap;
-     get_fpu_endian;
-@@ -236,11 +249,14 @@ CLAMAV_PRIVATE {
-     html_normalise_mem;
-     html_screnc_decode;
-     html_tag_arg_free;
 +    init_allow_list;
 +    init_domain_list;
-     init_domainlist;
-     init_regex_list;
-     init_whitelist;
-     is_regex_ok;
-     load_regex_matcher;
 +    lsig_increment_subsig_match;
-     messageCreate;
-     messageDestroy;
-     mpool_calloc;
-@@ -251,6 +267,7 @@ CLAMAV_PRIVATE {
-     phishingScan;
-     phishing_done;
-     phishing_init;
 +    readdb_parse_ldb_subsignature;
-     regex_list_add_pattern;
-     regex_list_done;
-     regex_list_match;
+   local:
+     *;
+ };
diff --git a/debian/patches/libclamav-Sort-libclamav.map-and-libfreshclam.map.patch b/debian/patches/libclamav-Sort-libclamav.map-and-libfreshclam.map.patch
deleted file mode 100644
index e072c79..0000000
--- a/debian/patches/libclamav-Sort-libclamav.map-and-libfreshclam.map.patch
+++ /dev/null
@@ -1,584 +0,0 @@
-From eaf028e244ac58bf130b2011dacd83ee5d6a90cc Mon Sep 17 00:00:00 2001
-From: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
-Date: Mon, 2 Jan 2023 16:13:35 +0100
-Subject: libclamav: Sort libclamav.map and libfreshclam.map
-
-Sort libclamav.map and libfreshclam.map so adding new symbols can be
-added in one place.
-
-Patch-Name: libclamav-Sort-libclamav.map-and-libfreshclam.map.patch
-Signed-off-by: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
----
- libclamav/libclamav.map       | 444 +++++++++++++++++-----------------
- libfreshclam/libfreshclam.map |  40 +--
- 2 files changed, 240 insertions(+), 244 deletions(-)
-
-diff --git a/libclamav/libclamav.map b/libclamav/libclamav.map
-index 05519b2..ae95c44 100644
---- a/libclamav/libclamav.map
-+++ b/libclamav/libclamav.map
-@@ -1,32 +1,49 @@
- CLAMAV_PUBLIC {
-   global:
-+    cl_always_gen_section_hash;
-+    cl_countsigs;
-     cl_cvdfree;
-     cl_cvdhead;
-     cl_cvdparse;
-     cl_cvdverify;
-     cl_debug;
--    cl_init;
--    cl_engine_new;
--    cl_engine_set_num;
-+    cl_engine_addref;
-+    cl_engine_compile;
-+    cl_engine_free;
-     cl_engine_get_num;
--    cl_engine_set_str;
-     cl_engine_get_str;
-+    cl_engine_new;
-+    cl_engine_set_clcb_file_inspection;
-+    cl_engine_set_clcb_file_props;
-     cl_engine_set_clcb_hash;
-     cl_engine_set_clcb_meta;
--    cl_engine_set_clcb_file_props;
--    cl_set_clcb_msg;
--    cl_engine_set_clcb_file_inspection;
--    cl_engine_set_clcb_pre_scan;
-     cl_engine_set_clcb_post_scan;
--    cl_engine_set_clcb_virus_found;
--    cl_engine_set_clcb_sigload;
-     cl_engine_set_clcb_pre_cache;
--    cl_engine_settings_copy;
-+    cl_engine_set_clcb_pre_scan;
-+    cl_engine_set_clcb_sigload;
-+    cl_engine_set_clcb_stats_add_sample;
-+    cl_engine_set_clcb_stats_decrement_count;
-+    cl_engine_set_clcb_stats_flush;
-+    cl_engine_set_clcb_stats_get_hostid;
-+    cl_engine_set_clcb_stats_get_num;
-+    cl_engine_set_clcb_stats_get_size;
-+    cl_engine_set_clcb_stats_remove_sample;
-+    cl_engine_set_clcb_stats_submit;
-+    cl_engine_set_clcb_virus_found;
-+    cl_engine_set_num;
-+    cl_engine_set_stats_set_cbdata;
-+    cl_engine_set_str;
-     cl_engine_settings_apply;
-+    cl_engine_settings_copy;
-     cl_engine_settings_free;
--    cl_engine_compile;
--    cl_engine_addref;
--    cl_engine_free;
-+    cl_engine_stats_enable;
-+    cl_finish_hash;
-+    cl_fmap_close;
-+    cl_fmap_open_handle;
-+    cl_fmap_open_memory;
-+    cl_hash_destroy;
-+    cl_hash_init;
-+    cl_init;
-     cl_load;
-     cl_retdbdir;
-     cl_retflevel;
-@@ -35,243 +52,222 @@ CLAMAV_PUBLIC {
-     cl_scandesc_callback;
-     cl_scanfile;
-     cl_scanfile_callback;
-+    cl_scanmap_callback;
-+    cl_set_clcb_msg;
-     cl_statchkdir;
-     cl_statfree;
-     cl_statinidir;
--    cl_countsigs;
-     cl_strerror;
--    cl_fmap_open_handle;
--    cl_fmap_open_memory;
--    cl_scanmap_callback;
--    cl_fmap_close;
--    cl_always_gen_section_hash;
--    cl_engine_set_stats_set_cbdata;
--    cl_engine_set_clcb_stats_add_sample;
--    cl_engine_set_clcb_stats_remove_sample;
--    cl_engine_set_clcb_stats_decrement_count;
--    cl_engine_set_clcb_stats_submit;
--    cl_engine_set_clcb_stats_flush;
--    cl_engine_set_clcb_stats_get_num;
--    cl_engine_set_clcb_stats_get_size;
--    cl_engine_set_clcb_stats_get_hostid;
--    cl_hash_init;
-     cl_update_hash;
--    cl_finish_hash;
--    cl_hash_destroy;
--    cl_engine_stats_enable;
-     lsig_sub_matched;
- };
- CLAMAV_PRIVATE {
-   global:
--    cli_sigperf_print;
--    cli_sigperf_events_destroy;
--    cli_pcre_perf_print;
--    cli_pcre_perf_events_destroy;
--    cli_pcre_init;
--    cli_pcre_build;
--    cli_pcre_scanbuf;
--    cli_pcre_recaloff;
--    cli_pcre_freeoff;
--
--    cli_gettmpdir;
--    cli_strtok;
--    cli_strtokenize;
--    cli_ldbtokenize;
--    cli_strlcat;
--    cli_strlcpy;
--    cli_strntoul;
--    cli_cvdunpack;
--    cli_regcomp;
--    cli_regexec;
--    cli_regfree;
--    cli_strrcpy;
--    cli_strbcasestr;
--    cli_isnumber;
--    cli_gentemp;
--    cli_gentempfd;
--    cli_rmdirs;
--    cli_chomp;
--    cli_rndnum;
--
--    cli_calloc;
--    cli_ole2_extract;
--    cli_errmsg;
--    cli_debug_flag;
--    cli_dbgmsg_internal;
--    cli_vba_readdir;
--    cli_vba_inflate;
--    cli_ppt_vba_read;
--    cli_wm_readdir;
--    cli_wm_decrypt_macro;
--    cli_free_vba_project;
--    cli_readn;
--    cli_str2hex;
--    cli_hashfile;
--    cli_hashstream;
--    text_normalize_init;
--    text_normalize_reset;
--    text_normalize_map;
--    html_normalise_map;
--    cli_utf16toascii;
--
--    cli_malloc;
--    cli_memstr;
--    cli_strdup;
--    cli_realloc;
--    cli_ctime;
--    tableCreate;
--    tableDestroy;
--    tableRemove;
--    tableFind;
--    tableIterate;
--    tableUpdate;
--    tableInsert;
--    cli_warnmsg;
--    cli_strtokbuf;
--    cli_js_init;
--    cli_js_process_buffer;
--    cli_js_parse_done;
--    cli_js_destroy;
--    cli_js_output;
--    cli_unescape;
--    cli_textbuffer_append_normalize;
--    cli_dconf_init;
--    cli_regex2suffix;
--    html_normalise_mem;
--    init_regex_list;
--    is_regex_ok;
--    regex_list_done;
--    regex_list_add_pattern;
--    cli_build_regex_list;
--    regex_list_match;
--    cli_hashset_destroy;
--    phishing_init;
--    init_domainlist;
--    init_whitelist;
--    phishing_done;
--    blobCreate;
--    blobAddData;
--    phishingScan;
--    blobDestroy;
--    load_regex_matcher;
--    html_tag_arg_free;
--    disasmbuf;
--    uniq_init;
--    uniq_free;
--    uniq_add;
--    uniq_get;
--    cli_hex2str;
--    cli_ac_init;
--    cli_ac_initdata;
--    cli_ac_buildtrie;
--    cli_ac_scanbuff;
--    cli_ac_freedata;
--    cli_ac_free;
--    cli_ac_chklsig;
--    cli_sigopts_handler;
--    cli_parse_add;
--    cli_bm_init;
--    cli_bm_scanbuff;
--    cli_bm_free;
--    cli_initroots;
--    cli_scan_buff;
--    cli_scan_fmap;
--    cli_check_auth_header;
--    cli_genhash_pe;
--    html_screnc_decode;
--    mpool_create;
--    mpool_calloc;
--    mpool_destroy;
--    mpool_free;
--    mpool_getstats;
--    cli_versig;
--    cli_versig2;
--    cli_filecopy;
--    cli_ftw;
--    cli_unlink;
--    cli_writen;
--    cli_url_canon;
--    cli_strerror;
--    decodeLine;
--    messageCreate;
--    messageDestroy;
-+    __cli_strcasestr;
-+    __cli_strndup;
-+    __cli_strnlen;
-+    __cli_strnstr;
-     base64Flush;
--    have_rar;
--    have_clamjit;
--    cli_bytecode_load;
--    cli_bytecode_prepare2;
--    cli_bytecode_run;
--    cli_bytecode_destroy;
--    cli_bytecode_context_alloc;
--    cli_bytecode_context_destroy;
--    cli_bytecode_context_setfuncid;
--    cli_bytecode_context_setparam_int;
--    cli_bytecode_context_setparam_ptr;
--    cli_bytecode_context_setfile;
--    cli_bytecode_context_getresult_int;
--    cli_bytecode_context_clear;
--    cli_bytecode_init;
--    cli_bytecode_done;
--    cli_bytecode_debug;
--    cli_hex2ui;
--    fmap;
--    cli_bytecode_context_set_trace;
--    cli_bytecode_debug_printsrc;
--    cli_bytecode_printversion;
--    cli_bytecode_describe;
--    cli_bytetype_describe;
--    cli_bytevalue_describe;
--    cli_byteinst_describe;
--    cli_bytefunc_describe;
--    cli_printcxxver;
--    cli_detect_environment;
--    cli_disasm_one;
--    cli_utf16_to_utf8;
--    get_fpu_endian;
--    cl_initialize_crypto;
-+    blobAddData;
-+    blobCreate;
-+    blobDestroy;
-+    cl_ASN1_GetTimeT;
-+    cl_base64_decode;
-+    cl_base64_encode;
-     cl_cleanup_crypto;
-+    cl_get_pkey_file;
-+    cl_get_x509_from_mem;
-     cl_hash_data;
-     cl_hash_file_fd;
--    cl_hash_file_fp;
-     cl_hash_file_fd_ctx;
--    cl_sha256;
-+    cl_hash_file_fp;
-+    cl_initialize_crypto;
-+    cl_load_cert;
-+    cl_load_crl;
-     cl_sha1;
--    cl_verify_signature;
--    cl_verify_signature_x509_keyfile;
--    cl_verify_signature_x509;
--    cl_get_x509_from_mem;
--    cl_validate_certificate_chain_ts_dir;
-+    cl_sha256;
-+    cl_sign_data;
-+    cl_sign_data_keyfile;
-+    cl_sign_file_fd;
-+    cl_sign_file_fp;
-     cl_validate_certificate_chain;
-+    cl_validate_certificate_chain_ts_dir;
-+    cl_verify_signature;
-     cl_verify_signature_fd;
-     cl_verify_signature_fd_x509;
-     cl_verify_signature_fd_x509_keyfile;
-     cl_verify_signature_hash;
-     cl_verify_signature_hash_x509;
-     cl_verify_signature_hash_x509_keyfile;
--    cl_load_cert;
--    cl_ASN1_GetTimeT;
--    cl_load_crl;
--    cl_sign_data_keyfile;
--    cl_sign_data;
--    cl_sign_file_fd;
--    cl_sign_file_fp;
--    cl_get_pkey_file;
--    cl_base64_decode;
--    cl_base64_encode;
--    cli_sanitize_filepath;
--    cli_gentemp_with_prefix;
--    cli_gentempfd_with_prefix;
-+    cl_verify_signature_x509;
-+    cl_verify_signature_x509_keyfile;
-+    cli_ac_buildtrie;
-+    cli_ac_chklsig;
-+    cli_ac_free;
-+    cli_ac_freedata;
-+    cli_ac_init;
-+    cli_ac_initdata;
-+    cli_ac_scanbuff;
-     cli_basename;
--    cli_realpath;
-+    cli_bm_free;
-+    cli_bm_init;
-+    cli_bm_scanbuff;
-+    cli_build_regex_list;
-+    cli_bytecode_context_alloc;
-+    cli_bytecode_context_clear;
-+    cli_bytecode_context_destroy;
-+    cli_bytecode_context_getresult_int;
-+    cli_bytecode_context_set_trace;
-+    cli_bytecode_context_setfile;
-+    cli_bytecode_context_setfuncid;
-+    cli_bytecode_context_setparam_int;
-+    cli_bytecode_context_setparam_ptr;
-+    cli_bytecode_debug;
-+    cli_bytecode_debug_printsrc;
-+    cli_bytecode_describe;
-+    cli_bytecode_destroy;
-+    cli_bytecode_done;
-+    cli_bytecode_init;
-+    cli_bytecode_load;
-+    cli_bytecode_prepare2;
-+    cli_bytecode_printversion;
-+    cli_bytecode_run;
-+    cli_bytefunc_describe;
-+    cli_byteinst_describe;
-+    cli_bytetype_describe;
-+    cli_bytevalue_describe;
-+    cli_calloc;
-+    cli_check_auth_header;
-+    cli_chomp;
-     cli_codepage_to_utf8;
-+    cli_ctime;
-+    cli_cvdunpack;
-+    cli_dbgmsg_internal;
-+    cli_dconf_init;
-+    cli_debug_flag;
-+    cli_detect_environment;
-+    cli_disasm_one;
-+    cli_errmsg;
-+    cli_filecopy;
-+    cli_free_vba_project;
-+    cli_ftw;
-+    cli_genhash_pe;
-+    cli_gentemp;
-+    cli_gentemp_with_prefix;
-+    cli_gentempfd;
-+    cli_gentempfd_with_prefix;
-     cli_get_filepath_from_filedesc;
-+    cli_gettmpdir;
-+    cli_hashfile;
-+    cli_hashset_destroy;
-+    cli_hashstream;
-+    cli_hex2str;
-+    cli_hex2ui;
-+    cli_initroots;
-+    cli_isnumber;
-+    cli_js_destroy;
-+    cli_js_init;
-+    cli_js_output;
-+    cli_js_parse_done;
-+    cli_js_process_buffer;
-+    cli_ldbtokenize;
-+    cli_malloc;
-+    cli_memstr;
-+    cli_ole2_extract;
-+    cli_parse_add;
-+    cli_pcre_build;
-+    cli_pcre_freeoff;
-+    cli_pcre_init;
-+    cli_pcre_perf_events_destroy;
-+    cli_pcre_perf_print;
-+    cli_pcre_recaloff;
-+    cli_pcre_scanbuf;
-+    cli_ppt_vba_read;
-+    cli_printcxxver;
-+    cli_readn;
-+    cli_realloc;
-+    cli_realpath;
-+    cli_regcomp;
-+    cli_regex2suffix;
-+    cli_regexec;
-+    cli_regfree;
-+    cli_rmdirs;
-+    cli_rndnum;
-+    cli_sanitize_filepath;
-+    cli_scan_buff;
-+    cli_scan_fmap;
-+    cli_sigopts_handler;
-+    cli_sigperf_events_destroy;
-+    cli_sigperf_print;
-+    cli_str2hex;
-+    cli_strbcasestr;
-+    cli_strdup;
-+    cli_strerror;
-+    cli_strlcat;
-+    cli_strlcpy;
-+    cli_strntoul;
-+    cli_strrcpy;
-+    cli_strtok;
-+    cli_strtokbuf;
-+    cli_strtokenize;
-+    cli_textbuffer_append_normalize;
-+    cli_unescape;
-+    cli_unlink;
-+    cli_url_canon;
-+    cli_utf16_to_utf8;
-+    cli_utf16toascii;
-+    cli_vba_inflate;
-+    cli_vba_readdir;
-+    cli_versig2;
-+    cli_versig;
-+    cli_warnmsg;
-+    cli_wm_decrypt_macro;
-+    cli_wm_readdir;
-+    cli_writen;
-+    decodeLine;
-+    disasmbuf;
-+    fmap;
-     fmap_duplicate;
-     free_duplicate_fmap;
--
--    __cli_strcasestr;
--    __cli_strndup;
--    __cli_strnlen;
--    __cli_strnstr;
-+    get_fpu_endian;
-+    have_clamjit;
-+    have_rar;
-+    html_normalise_map;
-+    html_normalise_mem;
-+    html_screnc_decode;
-+    html_tag_arg_free;
-+    init_domainlist;
-+    init_regex_list;
-+    init_whitelist;
-+    is_regex_ok;
-+    load_regex_matcher;
-+    messageCreate;
-+    messageDestroy;
-+    mpool_calloc;
-+    mpool_create;
-+    mpool_destroy;
-+    mpool_free;
-+    mpool_getstats;
-+    phishingScan;
-+    phishing_done;
-+    phishing_init;
-+    regex_list_add_pattern;
-+    regex_list_done;
-+    regex_list_match;
-+    tableCreate;
-+    tableDestroy;
-+    tableFind;
-+    tableInsert;
-+    tableIterate;
-+    tableRemove;
-+    tableUpdate;
-+    text_normalize_init;
-+    text_normalize_map;
-+    text_normalize_reset;
-+    uniq_add;
-+    uniq_free;
-+    uniq_get;
-+    uniq_init;
-   local:
-     *;
- };
-diff --git a/libfreshclam/libfreshclam.map b/libfreshclam/libfreshclam.map
-index 51841b0..a0756fe 100644
---- a/libfreshclam/libfreshclam.map
-+++ b/libfreshclam/libfreshclam.map
-@@ -1,43 +1,43 @@
- FRESHCLAM_PUBLIC {
-   global:
--    fc_strerror;
--    fc_initialize;
-     fc_cleanup;
--    fc_prune_database_directory;
--    fc_test_database;
-     fc_dns_query_update_info;
-     fc_download_url_database;
-     fc_download_url_databases;
-+    fc_initialize;
-+    fc_prune_database_directory;
-+    fc_set_fccb_download_complete;
-+    fc_strerror;
-+    fc_test_database;
-     fc_update_database;
-     fc_update_databases;
--    fc_set_fccb_download_complete;
-     logg;
-     logg_close;
--    mprintf;
--    logg_verbose;
-+    logg_file;
-     logg_nowarn;
--    logg_time;
-     logg_rotate;
-     logg_size;
--    logg_file;
--    mprintf_verbose;
--    mprintf_quiet;
--    mprintf_nowarn;
--    mprintf_stdout;
--    mprintf_progress;
-+    logg_time;
-+    logg_verbose;
-+    mprintf;
-     mprintf_disabled;
-+    mprintf_nowarn;
-+    mprintf_progress;
-+    mprintf_quiet;
-+    mprintf_stdout;
-+    mprintf_verbose;
- };
- FRESHCLAM_PRIVATE {
-   global:
--    optparse;
--    optget;
--    optfree;
--    get_version;
--    print_version;
-     check_flevel;
--    drop_privileges;
-     daemonize_parent_wait;
-     daemonize_signal_parent;
-+    drop_privileges;
-+    get_version;
-+    optfree;
-+    optget;
-+    optparse;
-+    print_version;
-     sendln;
-   local:
-     *;
diff --git a/debian/patches/libclamav-Use-OpenSSL-BN-instead-tomfastmath.patch b/debian/patches/libclamav-Use-OpenSSL-BN-instead-tomfastmath.patch
index b898950..78a6f76 100644
--- a/debian/patches/libclamav-Use-OpenSSL-BN-instead-tomfastmath.patch
+++ b/debian/patches/libclamav-Use-OpenSSL-BN-instead-tomfastmath.patch
@@ -1,4 +1,4 @@
-From 4072cc5efe8e420a23e7a8c96fe4e9f413f05a2c Mon Sep 17 00:00:00 2001
+From c6760160548d8acfc67f4ef209d9e7f6b646e34c Mon Sep 17 00:00:00 2001
 From: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
 Date: Sat, 18 Feb 2023 10:47:53 +0100
 Subject: libclamav: Use OpenSSL' BN instead tomfastmath.
diff --git a/debian/patches/libclamav-pe-Use-endian-wrapper-in-more-places.patch b/debian/patches/libclamav-pe-Use-endian-wrapper-in-more-places.patch
index 95702fe..199d9c4 100644
--- a/debian/patches/libclamav-pe-Use-endian-wrapper-in-more-places.patch
+++ b/debian/patches/libclamav-pe-Use-endian-wrapper-in-more-places.patch
@@ -1,4 +1,4 @@
-From d383be28e1c8a71bb8de4bae70474f366990cc86 Mon Sep 17 00:00:00 2001
+From ae4ce83e43f5be9bd8b51d32eeac46f58519762c Mon Sep 17 00:00:00 2001
 From: Sebastian Andrzej Siewior <sebast...@breakpoint.cc>
 Date: Fri, 6 Jan 2023 21:42:30 +0100
 Subject: libclamav/pe: Use endian wrapper in more places.
diff --git a/debian/patches/series b/debian/patches/series
index 2e0da6e..959f698 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,10 +1,8 @@
 Change-paths-in-sample-conf-file-to-match-Debian.patch
 cargo-Remove-windows-referenfes.patch
-libclamav-Sort-libclamav.map-and-libfreshclam.map.patch
 libclamav-Add-missing-symbols.patch
 Add-a-version-script-for-libclamav-and-libfreshclam.patch
 libclamav-pe-Use-endian-wrapper-in-more-places.patch
 Add-an-option-to-avoid-setting-RPATH-on-unix-systems.patch
 libclamav-Use-OpenSSL-BN-instead-tomfastmath.patch
 Remove-bundled-tomfastmath-library.patch
-Freshclam-remove-curl-result-warning.patch
diff --git a/debian/rules b/debian/rules
index a34204c..86199b4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -80,7 +80,7 @@ CONFIG := -DENABLE_EXTERNAL_MSPACK=ON -DENABLE_UNRAR=OFF -DENABLE_EXTERNAL_TOMFA
 	  fi;\
 	done; \
 	# Check for library features which may have been upgraded.
-	if ! grep -q "CL_FLEVEL 163" libclamav/others.h ; then \
+	if ! grep -q "CL_FLEVEL 165" libclamav/others.h ; then \
 		echo "cl_retflevel needs boosting in symbol file"; \
 		touch debian/exit; \
 	fi;
diff --git a/docs/man/clamd.conf.5.in b/docs/man/clamd.conf.5.in
index 2d9748a..a992653 100644
--- a/docs/man/clamd.conf.5.in
+++ b/docs/man/clamd.conf.5.in
@@ -240,10 +240,16 @@ Enable non-blocking (multi-threaded/concurrent) database reloads. This feature w
 Default: yes
 .TP
 \fBVirusEvent COMMAND\fR
-Execute a command when a virus is found. In the command string %v will be
-replaced with the virus name and %f will be replaced with the file name.
-Additionally, two environment variables will be defined: $CLAM_VIRUSEVENT_FILENAME
-and $CLAM_VIRUSEVENT_VIRUSNAME.
+Execute a command when virus is found.
+Use the following environment variables to identify the file and virus names:
+- $CLAM_VIRUSEVENT_FILENAME
+- $CLAM_VIRUSEVENT_VIRUSNAME
+In the command string, '%v' will also be replaced with the virus name.
+Note: The '%f' filename format character has been disabled and will no longer
+be replaced with the file name, due to command injection security concerns.
+Use the 'CLAM_VIRUSEVENT_FILENAME' environment variable instead.
+For the same reason, you should NOT use the environment variables in the
+command directly, but should use it carefully from your executed script.
 \fR
 .br
 Default: disabled
diff --git a/etc/clamd.conf.sample b/etc/clamd.conf.sample
index 37fb03b..5473812 100644
--- a/etc/clamd.conf.sample
+++ b/etc/clamd.conf.sample
@@ -209,12 +209,18 @@ Example
 # Default: yes
 #ConcurrentDatabaseReload no
 
-# Execute a command when virus is found. In the command string %v will
-# be replaced with the virus name and %f will be replaced with the file name.
-# Additionally, two environment variables will be defined: $CLAM_VIRUSEVENT_FILENAME
-# and $CLAM_VIRUSEVENT_VIRUSNAME.
+# Execute a command when virus is found.
+# Use the following environment variables to identify the file and virus names:
+# - $CLAM_VIRUSEVENT_FILENAME
+# - $CLAM_VIRUSEVENT_VIRUSNAME
+# In the command string, '%v' will also be replaced with the virus name.
+# Note: The '%f' filename format character has been disabled and will no longer
+# be replaced with the file name, due to command injection security concerns.
+# Use the 'CLAM_VIRUSEVENT_FILENAME' environment variable instead.
+# For the same reason, you should NOT use the environment variables in the
+# command directly, but should use it carefully from your executed script.
 # Default: no
-#VirusEvent /usr/local/bin/send_sms 123456789 "VIRUS ALERT: %v in %f"
+#VirusEvent /opt/send_virus_alert_sms.sh
 
 # Run as another user (clamd must be started by root for this option to work)
 # Default: don't drop privileges
diff --git a/libclamav/bytecode_api.h b/libclamav/bytecode_api.h
index ebb58df..753a0bc 100644
--- a/libclamav/bytecode_api.h
+++ b/libclamav/bytecode_api.h
@@ -167,6 +167,8 @@ enum FunctionalityLevels {
     FUNC_LEVEL_1_0_1 = 161, /**< LibClamAV release 1.0.1 */
     FUNC_LEVEL_1_0_2 = 162, /**< LibClamAV release 1.0.2 */
     FUNC_LEVEL_1_0_3 = 163, /**< LibClamAV release 1.0.3 */
+    FUNC_LEVEL_1_0_4 = 164, /**< LibClamAV release 1.0.4 */
+    FUNC_LEVEL_1_0_5 = 165, /**< LibClamAV release 1.0.5 */
 };
 
 /**
diff --git a/libclamav/libclamav.map b/libclamav/libclamav.map
index eecf2bb..0dd0f38 100644
--- a/libclamav/libclamav.map
+++ b/libclamav/libclamav.map
@@ -1,49 +1,32 @@
 CLAMAV_PUBLIC {
   global:
-    cl_always_gen_section_hash;
-    cl_countsigs;
     cl_cvdfree;
     cl_cvdhead;
     cl_cvdparse;
     cl_cvdverify;
     cl_debug;
-    cl_engine_addref;
-    cl_engine_compile;
-    cl_engine_free;
-    cl_engine_get_num;
-    cl_engine_get_str;
+    cl_init;
     cl_engine_new;
-    cl_engine_set_clcb_file_inspection;
-    cl_engine_set_clcb_file_props;
+    cl_engine_set_num;
+    cl_engine_get_num;
+    cl_engine_set_str;
+    cl_engine_get_str;
     cl_engine_set_clcb_hash;
     cl_engine_set_clcb_meta;
-    cl_engine_set_clcb_post_scan;
-    cl_engine_set_clcb_pre_cache;
+    cl_engine_set_clcb_file_props;
+    cl_set_clcb_msg;
+    cl_engine_set_clcb_file_inspection;
     cl_engine_set_clcb_pre_scan;
-    cl_engine_set_clcb_sigload;
-    cl_engine_set_clcb_stats_add_sample;
-    cl_engine_set_clcb_stats_decrement_count;
-    cl_engine_set_clcb_stats_flush;
-    cl_engine_set_clcb_stats_get_hostid;
-    cl_engine_set_clcb_stats_get_num;
-    cl_engine_set_clcb_stats_get_size;
-    cl_engine_set_clcb_stats_remove_sample;
-    cl_engine_set_clcb_stats_submit;
+    cl_engine_set_clcb_post_scan;
     cl_engine_set_clcb_virus_found;
-    cl_engine_set_num;
-    cl_engine_set_stats_set_cbdata;
-    cl_engine_set_str;
-    cl_engine_settings_apply;
+    cl_engine_set_clcb_sigload;
+    cl_engine_set_clcb_pre_cache;
     cl_engine_settings_copy;
+    cl_engine_settings_apply;
     cl_engine_settings_free;
-    cl_engine_stats_enable;
-    cl_finish_hash;
-    cl_fmap_close;
-    cl_fmap_open_handle;
-    cl_fmap_open_memory;
-    cl_hash_destroy;
-    cl_hash_init;
-    cl_init;
+    cl_engine_compile;
+    cl_engine_addref;
+    cl_engine_free;
     cl_load;
     cl_retdbdir;
     cl_retflevel;
@@ -52,239 +35,255 @@ CLAMAV_PUBLIC {
     cl_scandesc_callback;
     cl_scanfile;
     cl_scanfile_callback;
-    cl_scanmap_callback;
-    cl_set_clcb_msg;
     cl_statchkdir;
     cl_statfree;
     cl_statinidir;
+    cl_countsigs;
     cl_strerror;
+    cl_fmap_open_handle;
+    cl_fmap_open_memory;
+    cl_scanmap_callback;
+    cl_fmap_close;
+    cl_always_gen_section_hash;
+    cl_engine_set_stats_set_cbdata;
+    cl_engine_set_clcb_stats_add_sample;
+    cl_engine_set_clcb_stats_remove_sample;
+    cl_engine_set_clcb_stats_decrement_count;
+    cl_engine_set_clcb_stats_submit;
+    cl_engine_set_clcb_stats_flush;
+    cl_engine_set_clcb_stats_get_num;
+    cl_engine_set_clcb_stats_get_size;
+    cl_engine_set_clcb_stats_get_hostid;
+    cl_hash_init;
     cl_update_hash;
+    cl_finish_hash;
+    cl_hash_destroy;
+    cl_engine_stats_enable;
     lsig_sub_matched;
 };
 CLAMAV_PRIVATE {
   global:
-    __cli_strcasestr;
-    __cli_strndup;
-    __cli_strnlen;
-    __cli_strnstr;
-    base64Flush;
-    blobAddData;
+    cli_sigperf_print;
+    cli_sigperf_events_destroy;
+    cli_pcre_perf_print;
+    cli_pcre_perf_events_destroy;
+    cli_pcre_init;
+    cli_pcre_build;
+    cli_pcre_scanbuf;
+    cli_pcre_recaloff;
+    cli_pcre_freeoff;
+
+    cli_gettmpdir;
+    cli_strtok;
+    cli_strtokenize;
+    cli_ldbtokenize;
+    cli_strlcat;
+    cli_strlcpy;
+    cli_strntoul;
+    cli_regcomp;
+    cli_regexec;
+    cli_regfree;
+    cli_strrcpy;
+    cli_strbcasestr;
+    cli_isnumber;
+    cli_gentemp;
+    cli_gentempfd;
+    cli_rmdirs;
+    cli_chomp;
+    cli_rndnum;
+
+    cli_calloc;
+    cli_ole2_extract;
+    cli_errmsg;
+    cli_debug_flag;
+    cli_vba_readdir;
+    cli_vba_inflate;
+    cli_ppt_vba_read;
+    cli_wm_readdir;
+    cli_wm_decrypt_macro;
+    cli_free_vba_project;
+    cli_readn;
+    cli_str2hex;
+    cli_hashfile;
+    cli_hashstream;
+    text_normalize_init;
+    text_normalize_reset;
+    text_normalize_map;
+    html_normalise_map;
+    cli_utf16toascii;
+
+    cli_malloc;
+    cli_memstr;
+    cli_strdup;
+    cli_realloc;
+    cli_ctime;
+    tableCreate;
+    tableDestroy;
+    tableRemove;
+    tableFind;
+    tableIterate;
+    tableUpdate;
+    tableInsert;
+    cli_warnmsg;
+    cli_strtokbuf;
+    cli_js_init;
+    cli_js_process_buffer;
+    cli_js_parse_done;
+    cli_js_destroy;
+    cli_js_output;
+    cli_unescape;
+    cli_textbuffer_append_normalize;
+    cli_dconf_init;
+    cli_regex2suffix;
+    html_normalise_mem;
+    init_regex_list;
+    is_regex_ok;
+    regex_list_done;
+    regex_list_add_pattern;
+    cli_build_regex_list;
+    regex_list_match;
+    cli_hashset_destroy;
+    phishing_init;
+    phishing_done;
     blobCreate;
+    blobAddData;
+    phishingScan;
     blobDestroy;
-    cl_ASN1_GetTimeT;
-    cl_base64_decode;
-    cl_base64_encode;
+    load_regex_matcher;
+    html_tag_arg_free;
+    disasmbuf;
+    uniq_init;
+    uniq_free;
+    uniq_add;
+    uniq_get;
+    cli_hex2str;
+    cli_ac_init;
+    cli_ac_initdata;
+    cli_ac_buildtrie;
+    cli_ac_scanbuff;
+    cli_ac_freedata;
+    cli_ac_free;
+    cli_ac_chklsig;
+    cli_sigopts_handler;
+    cli_bm_init;
+    cli_bm_scanbuff;
+    cli_bm_free;
+    cli_initroots;
+    cli_scan_buff;
+    cli_scan_fmap;
+    cli_check_auth_header;
+    cli_genhash_pe;
+    html_screnc_decode;
+    mpool_create;
+    mpool_calloc;
+    mpool_destroy;
+    mpool_free;
+    mpool_getstats;
+    cli_versig;
+    cli_versig2;
+    cli_filecopy;
+    cli_ftw;
+    cli_unlink;
+    cli_writen;
+    cli_url_canon;
+    cli_strerror;
+    decodeLine;
+    messageCreate;
+    messageDestroy;
+    base64Flush;
+    have_rar;
+    have_clamjit;
+    cli_bytecode_load;
+    cli_bytecode_prepare2;
+    cli_bytecode_run;
+    cli_bytecode_destroy;
+    cli_bytecode_context_alloc;
+    cli_bytecode_context_destroy;
+    cli_bytecode_context_setfuncid;
+    cli_bytecode_context_setparam_int;
+    cli_bytecode_context_setparam_ptr;
+    cli_bytecode_context_setfile;
+    cli_bytecode_context_getresult_int;
+
+    cli_bytecode_init;
+    cli_bytecode_done;
+    cli_bytecode_debug;
+    cli_hex2ui;
+    fmap;
+    cli_bytecode_context_set_trace;
+    cli_bytecode_debug_printsrc;
+    cli_bytecode_printversion;
+    cli_bytecode_describe;
+    cli_bytetype_describe;
+    cli_bytevalue_describe;
+    cli_byteinst_describe;
+    cli_bytefunc_describe;
+    cli_printcxxver;
+    cli_detect_environment;
+    cli_disasm_one;
+    cli_utf16_to_utf8;
+    get_fpu_endian;
+    cl_initialize_crypto;
     cl_cleanup_crypto;
-    cl_cvdunpack;
-    cl_engine_set_clcb_engine_compile_progress;
-    cl_engine_set_clcb_sigload_progress;
-    cl_get_pkey_file;
-    cl_get_x509_from_mem;
     cl_hash_data;
     cl_hash_file_fd;
-    cl_hash_file_fd_ctx;
     cl_hash_file_fp;
-    cl_initialize_crypto;
-    cl_load_cert;
-    cl_load_crl;
-    cl_sha1;
+    cl_hash_file_fd_ctx;
     cl_sha256;
-    cl_sign_data;
-    cl_sign_data_keyfile;
-    cl_sign_file_fd;
-    cl_sign_file_fp;
-    cl_validate_certificate_chain;
-    cl_validate_certificate_chain_ts_dir;
+    cl_sha1;
     cl_verify_signature;
+    cl_verify_signature_x509_keyfile;
+    cl_verify_signature_x509;
+    cl_get_x509_from_mem;
+    cl_validate_certificate_chain_ts_dir;
+    cl_validate_certificate_chain;
     cl_verify_signature_fd;
     cl_verify_signature_fd_x509;
     cl_verify_signature_fd_x509_keyfile;
     cl_verify_signature_hash;
     cl_verify_signature_hash_x509;
     cl_verify_signature_hash_x509_keyfile;
-    cl_verify_signature_x509;
-    cl_verify_signature_x509_keyfile;
-    cli_ac_buildtrie;
-    cli_ac_chklsig;
-    cli_ac_free;
-    cli_ac_freedata;
-    cli_ac_init;
-    cli_ac_initdata;
-    cli_ac_scanbuff;
-    cli_add_content_match_pattern;
-    cli_basename;
-    cli_bm_free;
-    cli_bm_init;
-    cli_bm_scanbuff;
-    cli_build_regex_list;
-    cli_bytecode_context_alloc;
-    cli_bytecode_context_clear;
-    cli_bytecode_context_destroy;
-    cli_bytecode_context_getresult_int;
-    cli_bytecode_context_set_trace;
-    cli_bytecode_context_setfile;
-    cli_bytecode_context_setfuncid;
-    cli_bytecode_context_setparam_int;
-    cli_bytecode_context_setparam_ptr;
-    cli_bytecode_debug;
-    cli_bytecode_debug_printsrc;
-    cli_bytecode_describe;
-    cli_bytecode_destroy;
-    cli_bytecode_done;
-    cli_bytecode_init;
-    cli_bytecode_load;
-    cli_bytecode_prepare2;
-    cli_bytecode_printversion;
-    cli_bytecode_run;
-    cli_bytefunc_describe;
-    cli_byteinst_describe;
-    cli_bytetype_describe;
-    cli_bytevalue_describe;
-    cli_calloc;
-    cli_check_auth_header;
-    cli_chomp;
-    cli_codepage_to_utf8;
-    cli_ctime;
-    cli_cvdunpack;
-    cli_dbgmsg;
-    cli_dbgmsg;
-    cli_dbgmsg_internal;
-    cli_dbgmsg_no_inline;
-    cli_dconf_init;
-    cli_debug_flag;
-    cli_detect_environment;
-    cli_disasm_one;
-    cli_errmsg;
-    cli_filecopy;
-    cli_free_vba_project;
-    cli_ftw;
-    cli_genhash_pe;
-    cli_gentemp;
-    cli_gentemp_with_prefix;
-    cli_gentempfd;
-    cli_gentempfd_with_prefix;
-    cli_get_debug_flag;
-    cli_get_filepath_from_filedesc;
-    cli_get_last_virus_str;
-    cli_getdsig;
-    cli_gettmpdir;
-    cli_hashfile;
-    cli_hashset_destroy;
-    cli_hashstream;
-    cli_hex2str;
-    cli_hex2ui;
-    cli_infomsg_simple;
-    cli_initroots;
-    cli_isnumber;
-    cli_js_destroy;
-    cli_js_init;
-    cli_js_output;
-    cli_js_parse_done;
-    cli_js_process_buffer;
-    cli_ldbtokenize;
-    cli_malloc;
-    cli_memstr;
-    cli_ole2_extract;
-    cli_parse_add;
-    cli_pcre_build;
-    cli_pcre_freeoff;
-    cli_pcre_init;
-    cli_pcre_perf_events_destroy;
-    cli_pcre_perf_print;
-    cli_pcre_recaloff;
-    cli_pcre_scanbuf;
-    cli_ppt_vba_read;
-    cli_printcxxver;
-    cli_readn;
-    cli_realloc;
-    cli_realpath;
-    cli_regcomp;
-    cli_regex2suffix;
-    cli_regexec;
-    cli_regfree;
-    cli_rmdirs;
-    cli_rndnum;
+    cl_load_cert;
+    cl_ASN1_GetTimeT;
+    cl_load_crl;
+    cl_sign_data_keyfile;
+    cl_sign_data;
+    cl_sign_file_fd;
+    cl_sign_file_fp;
+    cl_get_pkey_file;
+    cl_base64_decode;
+    cl_base64_encode;
     cli_sanitize_filepath;
-    cli_scan_buff;
-    cli_scan_fmap;
-    cli_set_debug_flag;
-    cli_sigopts_handler;
-    cli_sigperf_events_destroy;
-    cli_sigperf_print;
-    cli_str2hex;
-    cli_strbcasestr;
-    cli_strdup;
-    cli_strerror;
-    cli_strlcat;
-    cli_strlcpy;
-    cli_strntoul;
-    cli_strrcpy;
-    cli_strtok;
-    cli_strtokbuf;
-    cli_strtokenize;
-    cli_textbuffer_append_normalize;
-    cli_unescape;
-    cli_unlink;
-    cli_url_canon;
-    cli_utf16_to_utf8;
-    cli_utf16toascii;
-    cli_vba_inflate;
-    cli_vba_readdir;
-    cli_versig2;
-    cli_versig;
-    cli_warnmsg;
-    cli_wm_decrypt_macro;
-    cli_wm_readdir;
-    cli_writen;
-    decodeLine;
-    disasmbuf;
-    fmap;
-    fmap_dump_to_file;
+    cli_gentemp_with_prefix;
+    cli_gentempfd_with_prefix;
+    cli_basename;
+    cli_realpath;
+    cli_codepage_to_utf8;
+    cli_get_filepath_from_filedesc;
     fmap_duplicate;
     free_duplicate_fmap;
-    get_fpu_endian;
-    have_clamjit;
-    have_rar;
-    html_normalise_map;
-    html_normalise_mem;
-    html_screnc_decode;
-    html_tag_arg_free;
+
+    __cli_strcasestr;
+    __cli_strndup;
+    __cli_strnlen;
+    __cli_strnstr;
+
+    cl_cvdunpack;
+    cl_engine_set_clcb_engine_compile_progress;
+    cl_engine_set_clcb_sigload_progress;
+    cli_add_content_match_pattern;
+    cli_dbgmsg;
+    cli_dbgmsg_no_inline;
+    cli_get_debug_flag;
+    cli_get_last_virus_str;
+    cli_getdsig;
+    cli_infomsg_simple;
+    cli_set_debug_flag;
+    fmap_dump_to_file;
     init_allow_list;
     init_domain_list;
-    init_domainlist;
-    init_regex_list;
-    init_whitelist;
-    is_regex_ok;
-    load_regex_matcher;
     lsig_increment_subsig_match;
-    messageCreate;
-    messageDestroy;
-    mpool_calloc;
-    mpool_create;
-    mpool_destroy;
-    mpool_free;
-    mpool_getstats;
-    phishingScan;
-    phishing_done;
-    phishing_init;
     readdb_parse_ldb_subsignature;
-    regex_list_add_pattern;
-    regex_list_done;
-    regex_list_match;
-    tableCreate;
-    tableDestroy;
-    tableFind;
-    tableInsert;
-    tableIterate;
-    tableRemove;
-    tableUpdate;
-    text_normalize_init;
-    text_normalize_map;
-    text_normalize_reset;
-    uniq_add;
-    uniq_free;
-    uniq_get;
-    uniq_init;
   local:
     *;
 };
diff --git a/libclamav/ole2_encryption.h b/libclamav/ole2_encryption.h
index ce8da9f..dc0b9b5 100644
--- a/libclamav/ole2_encryption.h
+++ b/libclamav/ole2_encryption.h
@@ -34,16 +34,16 @@ typedef struct __attribute__((packed)) {
     uint32_t reserved1;
     uint32_t reserved2; /* MUST be 0 */
 
-    uint8_t cspName[1]; /* really the rest of the data in the block.  Starts with a
-                                  string of wide characters, followed by the encryption verifier.
-                                  It is 44 instead of 32 because this structure is only used inside
-                                  encryption_info_stream_standard_t (below).  It is in two different
-                                  structures because of the way the documentation is written.
-                                  */
+    // uint8_t cspName[variable]; /* really the rest of the data in the block.  Starts with a
+    //                               string of wide characters, followed by the encryption verifier.
+    //                               It is 44 instead of 32 because this structure is only used inside
+    //                               encryption_info_stream_standard_t (below).  It is in two different
+    //                               structures because of the way the documentation is written.
+    //                               */
 
 } encryption_info_t;
 
-/* 
+/*
  * https://learn.microsoft.com/en-us/openspecs/office_file_formats/ms-offcrypto/2895eba1-acb1-4624-9bde-2cdad3fea015
  */
 typedef struct __attribute__((packed)) {
@@ -54,17 +54,10 @@ typedef struct __attribute__((packed)) {
 
     uint32_t size;
 
-    union {
-        encryption_info_t encryptionInfo;
-        uint8_t padding[512 - 12]; /* Subtract the size of version_major, version_minor, flags and size.
-                                 This consumes a sector (512 bytes), so make sure enough space is always allocated.
-                               */
-    };
+    encryption_info_t encryptionInfo;
 
 } encryption_info_stream_standard_t;
 
-#define CSP_NAME_LENGTH(__ptr__) (sizeof(__ptr__->padding) - sizeof(__ptr__->encryptionInfo) + 1)
-
 /* https://learn.microsoft.com/en-us/openspecs/office_file_formats/ms-offcrypto/e5ad39b8-9bc1-4a19-bad3-44e6246d21e6 */
 typedef struct __attribute__((packed)) {
     uint32_t salt_size;
diff --git a/libclamav/ole2_extract.c b/libclamav/ole2_extract.c
index 7a2ed9b..33563a1 100644
--- a/libclamav/ole2_extract.c
+++ b/libclamav/ole2_extract.c
@@ -2089,7 +2089,7 @@ static cl_error_t generate_key_aes(const char *const password, encryption_key_t
 
     tmp = verifier->salt_size;
     if (verifier->salt_size > sizeof(verifier->salt)) {
-        cli_warnmsg("ole2: Invalid salt length '0x%x'\n", verifier->salt_size);
+        cli_dbgmsg("ole2: Invalid salt length '0x%x'\n", verifier->salt_size);
         tmp = sizeof(verifier->salt);
     }
     memcpy(buffer, verifier->salt, tmp);
@@ -2193,7 +2193,7 @@ static bool verify_key_aes(const encryption_key_t *const key, encryption_verifie
     // If it claims to be LARGER than 32 bytes, we have a problem - because the buffer isn't that big.
     actual_hash_size = verifier->verifier_hash_size;
     if (actual_hash_size > sizeof(verifier->encrypted_verifier_hash)) {
-        cli_warnmsg("ole2: Invalid encrypted verifier hash length 0x%x\n", verifier->verifier_hash_size);
+        cli_dbgmsg("ole2: Invalid encrypted verifier hash length 0x%x\n", verifier->verifier_hash_size);
         actual_hash_size = sizeof(verifier->encrypted_verifier_hash);
     }
 
@@ -2250,7 +2250,7 @@ static bool verify_key_aes(const encryption_key_t *const key, encryption_verifie
 /**
  * @brief               Initialize encryption key, if the encryption validation passes.
  *
- * @param headerPtr     Pointer to the encryption header.
+ * @param encryptionInfo     Pointer to the encryption header.
  * @param encryptionKey [out] Pointer to encryption_key_t structure to be initialized by this function.
  * @return              Success or failure depending on whether or not the
  *                      encryption verifier was successful with the
@@ -2261,70 +2261,79 @@ static bool verify_key_aes(const encryption_key_t *const key, encryption_verifie
  * https://learn.microsoft.com/en-us/openspecs/office_file_formats/ms-offcrypto/2895eba1-acb1-4624-9bde-2cdad3fea015
  *
  */
-static bool initialize_encryption_key(const encryption_info_stream_standard_t *headerPtr,
-                                      encryption_key_t *encryptionKey)
+static bool initialize_encryption_key(
+    const uint8_t *encryptionInfoStreamPtr,
+    size_t remainingBytes,
+    encryption_key_t *encryptionKey)
 {
-
     bool bRet  = false;
     size_t idx = 0;
     encryption_key_t key;
-    encryption_verifier_t ev;
     bool bAES = false;
 
+    encryption_info_stream_standard_t encryptionInfo = {0};
+    uint16_t *encryptionInfo_CSPName                 = NULL;
+    size_t CSPName_length                            = 0;
+    const uint8_t *encryptionVerifierPtr             = NULL;
+    encryption_verifier_t encryptionVerifier         = {0};
+
+    // Populate the encryption_info_stream_standard_t structure
+    copy_encryption_info_stream_standard(&encryptionInfo, encryptionInfoStreamPtr);
+
     memset(encryptionKey, 0, sizeof(encryption_key_t));
     memset(&key, 0, sizeof(encryption_key_t));
 
-    cli_dbgmsg("Major Version   = 0x%x\n", headerPtr->version_major);
-    cli_dbgmsg("Minor Version   = 0x%x\n", headerPtr->version_minor);
-    cli_dbgmsg("Flags           = 0x%x\n", headerPtr->flags);
+    cli_dbgmsg("Major Version   = 0x%x\n", encryptionInfo.version_major);
+    cli_dbgmsg("Minor Version   = 0x%x\n", encryptionInfo.version_minor);
+    cli_dbgmsg("Flags           = 0x%x\n", encryptionInfo.flags);
 
     /*Bit 0 and 1 must be 0*/
-    if (1 & headerPtr->flags) {
+    if (1 & encryptionInfo.flags) {
         cli_dbgmsg("ole2: Invalid first bit, must be 0\n");
         goto done;
     }
 
-    if ((1 << 1) & headerPtr->flags) {
+    if ((1 << 1) & encryptionInfo.flags) {
         cli_dbgmsg("ole2: Invalid second bit, must be 0\n");
         goto done;
     }
 
     // https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-offcrypto/200a3d61-1ab4-4402-ae11-0290b28ab9cb
-    if ((SE_HEADER_FDOCPROPS & headerPtr->flags)) {
+    if ((SE_HEADER_FDOCPROPS & encryptionInfo.flags)) {
         cli_dbgmsg("ole2: Unsupported document properties encrypted\n");
         goto done;
     }
 
-    if ((SE_HEADER_FEXTERNAL & headerPtr->flags) &&
-        (SE_HEADER_FEXTERNAL != headerPtr->flags)) {
+    if ((SE_HEADER_FEXTERNAL & encryptionInfo.flags) &&
+        (SE_HEADER_FEXTERNAL != encryptionInfo.flags)) {
         cli_dbgmsg("ole2: Invalid fExternal flags.  If fExternal bit is set, nothing else can be\n");
         goto done;
     }
 
-    if (SE_HEADER_FAES & headerPtr->flags) {
-        if (!(SE_HEADER_FCRYPTOAPI & headerPtr->flags)) {
+    if (SE_HEADER_FAES & encryptionInfo.flags) {
+        if (!(SE_HEADER_FCRYPTOAPI & encryptionInfo.flags)) {
             cli_dbgmsg("ole2: Invalid combo of fAES and fCryptoApi flags\n");
             goto done;
         }
 
-        cli_dbgmsg("Flags: AES\n");
+        cli_dbgmsg("Flags           = AES\n");
     }
 
-    cli_dbgmsg("Size            = 0x%x\n", headerPtr->size);
+    cli_dbgmsg("Size            = 0x%x\n", encryptionInfo.size);
 
-    if (headerPtr->flags != headerPtr->encryptionInfo.flags) {
+    if (encryptionInfo.flags != encryptionInfo.encryptionInfo.flags) {
         cli_dbgmsg("ole2: Flags must match\n");
         goto done;
     }
 
-    if (0 != headerPtr->encryptionInfo.sizeExtra) {
+    if (0 != encryptionInfo.encryptionInfo.sizeExtra) {
         cli_dbgmsg("ole2: Size Extra must be 0\n");
         goto done;
     }
 
-    switch (headerPtr->encryptionInfo.algorithmID) {
+    switch (encryptionInfo.encryptionInfo.algorithmID) {
         case SE_HEADER_EI_AES128:
-            if (SE_HEADER_EI_AES128_KEYSIZE != headerPtr->encryptionInfo.keySize) {
+            if (SE_HEADER_EI_AES128_KEYSIZE != encryptionInfo.encryptionInfo.keySize) {
                 cli_dbgmsg("ole2: Key length does not match algorithm id\n");
                 goto done;
             }
@@ -2332,7 +2341,7 @@ static bool initialize_encryption_key(const encryption_info_stream_standard_t *h
             break;
         case SE_HEADER_EI_AES192:
             // not implemented
-            if (SE_HEADER_EI_AES192_KEYSIZE != headerPtr->encryptionInfo.keySize) {
+            if (SE_HEADER_EI_AES192_KEYSIZE != encryptionInfo.encryptionInfo.keySize) {
                 cli_dbgmsg("ole2: Key length does not match algorithm id\n");
                 goto done;
             }
@@ -2340,7 +2349,7 @@ static bool initialize_encryption_key(const encryption_info_stream_standard_t *h
             goto done;
         case SE_HEADER_EI_AES256:
             // not implemented
-            if (SE_HEADER_EI_AES256_KEYSIZE != headerPtr->encryptionInfo.keySize) {
+            if (SE_HEADER_EI_AES256_KEYSIZE != encryptionInfo.encryptionInfo.keySize) {
                 cli_dbgmsg("ole2: Key length does not match algorithm id\n");
                 goto done;
             }
@@ -2350,68 +2359,87 @@ static bool initialize_encryption_key(const encryption_info_stream_standard_t *h
             // not implemented
             goto done;
         default:
-            cli_dbgmsg("ole2: Invalid Algorithm ID: 0x%x\n", headerPtr->encryptionInfo.algorithmID);
+            cli_dbgmsg("ole2: Invalid Algorithm ID: 0x%x\n", encryptionInfo.encryptionInfo.algorithmID);
             goto done;
     }
 
-    if (SE_HEADER_EI_SHA1 != headerPtr->encryptionInfo.algorithmIDHash) {
-        cli_dbgmsg("ole2: Invalid Algorithm ID Hash: 0x%x\n", headerPtr->encryptionInfo.algorithmIDHash);
+    if (SE_HEADER_EI_SHA1 != encryptionInfo.encryptionInfo.algorithmIDHash) {
+        cli_dbgmsg("ole2: Invalid Algorithm ID Hash: 0x%x\n", encryptionInfo.encryptionInfo.algorithmIDHash);
         goto done;
     }
 
-    if (!key_length_valid_aes_bits(headerPtr->encryptionInfo.keySize)) {
-        cli_dbgmsg("ole2: Invalid key size: 0x%x\n", headerPtr->encryptionInfo.keySize);
+    if (!key_length_valid_aes_bits(encryptionInfo.encryptionInfo.keySize)) {
+        cli_dbgmsg("ole2: Invalid key size: 0x%x\n", encryptionInfo.encryptionInfo.keySize);
         goto done;
     }
 
-    cli_dbgmsg("KeySize = 0x%x\n", headerPtr->encryptionInfo.keySize);
+    cli_dbgmsg("KeySize         = 0x%x\n", encryptionInfo.encryptionInfo.keySize);
 
-    if (SE_HEADER_EI_AES_PROVIDERTYPE != headerPtr->encryptionInfo.providerType) {
+    if (SE_HEADER_EI_AES_PROVIDERTYPE != encryptionInfo.encryptionInfo.providerType) {
         cli_dbgmsg("ole2: WARNING: Provider Type should be '0x%x', is '0x%x'\n",
-                   SE_HEADER_EI_AES_PROVIDERTYPE, headerPtr->encryptionInfo.providerType);
+                   SE_HEADER_EI_AES_PROVIDERTYPE, encryptionInfo.encryptionInfo.providerType);
         goto done;
     }
 
-    cli_dbgmsg("Reserved1:  0x%x\n", headerPtr->encryptionInfo.reserved1);
+    cli_dbgmsg("Reserved1       = 0x%x\n", encryptionInfo.encryptionInfo.reserved1);
 
-    if (0 != headerPtr->encryptionInfo.reserved2) {
-        cli_dbgmsg("ole2: Reserved 2 must be zero, is 0x%x\n", headerPtr->encryptionInfo.reserved2);
+    if (0 != encryptionInfo.encryptionInfo.reserved2) {
+        cli_dbgmsg("ole2: Reserved 2 must be zero, is 0x%x\n", encryptionInfo.encryptionInfo.reserved2);
         goto done;
     }
 
-    /*The encryption info is at the end of the CPSName string.
+    /* The encryption info is at the end of the CPSName string.
      * Find the end, and we'll have the index of the EncryptionVerifier.
      * The CPSName string *should* always be either
      * 'Microsoft Enhanced RSA and AES Cryptographic Provider'
      * or
      * 'Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)'
-     *
      */
-    for (idx = 0; idx < CSP_NAME_LENGTH(headerPtr) - 1; idx += 2) {
-        if (((uint16_t *)&(headerPtr->encryptionInfo.cspName[idx]))[0] == 0) {
-            break;
-        }
+    encryptionInfo_CSPName = (uint16_t *)(encryptionInfoStreamPtr + sizeof(encryption_info_stream_standard_t));
+    remainingBytes -= sizeof(encryption_info_stream_standard_t);
+
+    if (0 == remainingBytes) {
+        cli_dbgmsg("ole2: No CSPName or encryption_verifier_t\n");
+        goto done;
     }
 
-    idx += 2;
-    if ((sizeof(headerPtr->encryptionInfo.cspName) - idx) <= sizeof(encryption_verifier_t)) {
+    while (true) {
+        // Check if we've gone past the end of the buffer without finding the end of the CSPName string.
+        if ((idx + 1) * sizeof(uint16_t) > remainingBytes) {
+            cli_dbgmsg("ole2: CSPName is missing null terminator before end of buffer.\n");
+            goto done;
+        }
+        // Check if we've found the end of the CSPName string.
+        if (encryptionInfo_CSPName[idx] == 0) {
+            break;
+        }
+        // Found another character in the CSPName string, keep going.
+        idx++;
+    }
+
+    CSPName_length = (idx + 1) * sizeof(uint16_t);
+
+    encryptionVerifierPtr = (uint8_t *)encryptionInfo_CSPName + CSPName_length;
+    remainingBytes -= CSPName_length;
+
+    if (remainingBytes < sizeof(encryption_verifier_t)) {
         cli_dbgmsg("ole2: No encryption_verifier_t\n");
         goto done;
     }
-    copy_encryption_verifier(&ev, &(headerPtr->encryptionInfo.cspName[idx]));
+    copy_encryption_verifier(&encryptionVerifier, encryptionVerifierPtr);
 
-    key.key_length_bits = headerPtr->encryptionInfo.keySize;
+    key.key_length_bits = encryptionInfo.encryptionInfo.keySize;
     if (!bAES) {
         cli_dbgmsg("ole2: Unsupported encryption algorithm\n");
         goto done;
     }
 
-    if (CL_SUCCESS != generate_key_aes("VelvetSweatshop", &key, &ev)) {
+    if (CL_SUCCESS != generate_key_aes("VelvetSweatshop", &key, &encryptionVerifier)) {
         /*Error message printed by generate_key_aes*/
         goto done;
     }
 
-    if (!verify_key_aes(&key, &ev)) {
+    if (!verify_key_aes(&key, &encryptionVerifier)) {
         cli_dbgmsg("ole2: Key verification for '%s' failed, unable to decrypt.\n", "VelvetSweatshop");
         goto done;
     }
@@ -2542,11 +2570,14 @@ cl_error_t cli_ole2_extract(const char *dirname, cli_ctx *ctx, struct uniq **fil
     /* determine if encrypted with VelvetSweatshop password */
     encryption_offset = 4 * (1 << hdr.log2_big_block_size);
     if ((encryption_offset + sizeof(encryption_info_stream_standard_t)) <= hdr.m_length) {
-        encryption_info_stream_standard_t encryption_info_stream_standard;
-        copy_encryption_info_stream_standard(&encryption_info_stream_standard, &(((const uint8_t *)phdr)[encryption_offset]));
-        bEncrypted = initialize_encryption_key(&encryption_info_stream_standard, &key);
 
-        cli_dbgmsg("Encrypted with VelvetSweatshop\n");
+        bEncrypted = initialize_encryption_key(
+            &(((const uint8_t *)phdr)[encryption_offset]),
+            hdr.m_length - encryption_offset,
+            &key);
+
+        cli_dbgmsg("Encrypted with VelvetSweatshop: %d\n", bEncrypted);
+
 #if HAVE_JSON
         if (ctx->wrkproperty == ctx->properties) {
             cli_jsonint(ctx->wrkproperty, "EncryptedWithVelvetSweatshop", bEncrypted);
diff --git a/libclamav/others.c b/libclamav/others.c
index 6167bb3..447e58d 100644
--- a/libclamav/others.c
+++ b/libclamav/others.c
@@ -622,7 +622,20 @@ cl_error_t cl_engine_set_num(struct cl_engine *engine, enum cl_engine_field fiel
             engine->maxscansize = num;
             break;
         case CL_ENGINE_MAX_FILESIZE:
-            engine->maxfilesize = num;
+            /* We have a limit of around 2GB (INT_MAX - 2). Enforce it here.
+             *
+             * TODO: Large file support is large-ly untested. Remove this restriction and test with a large set of large files of various types.
+             * libclamav's integer type safety has come a long way since 2014, so it's possible we could lift this restriction, but at least one
+             * of the parsers is bound to behave badly with large files. */
+            if ((uint64_t)num > INT_MAX - 2) {
+                if ((uint64_t)num > (uint64_t)2 * 1024 * 1024 * 1024 && num != LLONG_MAX) {
+                    // If greater than 2GB, warn. If exactly at 2GB, don't hassle the user.
+                    cli_warnmsg("Max file-size was set to %lld bytes. Unfortunately, scanning files greater than 2147483647 bytes (2 GiB - 1) is not supported.\n", num);
+                }
+                engine->maxfilesize = INT_MAX - 2;
+            } else {
+                engine->maxfilesize = num;
+            }
             break;
         case CL_ENGINE_MAX_RECURSION:
             if (!num) {
diff --git a/libclamav/others.h b/libclamav/others.h
index 3893a82..500e72e 100644
--- a/libclamav/others.h
+++ b/libclamav/others.h
@@ -73,7 +73,7 @@
  * in re-enabling affected modules.
  */
 
-#define CL_FLEVEL 163
+#define CL_FLEVEL 165
 #define CL_FLEVEL_DCONF CL_FLEVEL
 #define CL_FLEVEL_SIGTOOL CL_FLEVEL
 
diff --git a/libclamav/scanners.c b/libclamav/scanners.c
index 65314e4..6444175 100644
--- a/libclamav/scanners.c
+++ b/libclamav/scanners.c
@@ -5471,21 +5471,6 @@ static cl_error_t scan_common(cl_fmap_t *map, const char *filepath, const char *
     cli_logg_setup(&ctx);
     logg_initalized = true;
 
-    /* We have a limit of around 2GB (INT_MAX - 2). Enforce it here. */
-    /* TODO: Large file support is large-ly untested. Remove this restriction
-     * and test with a large set of large files of various types. libclamav's
-     * integer type safety has come a long way since 2014, so it's possible
-     * we could lift this restriction, but at least one of the parsers is
-     * bound to behave badly with large files. */
-    if (map->len > INT_MAX - 2) {
-        if (scanoptions->heuristic & CL_SCAN_HEURISTIC_EXCEEDS_MAX) {
-            status = cli_append_potentially_unwanted(&ctx, "Heuristics.Limits.Exceeded.MaxFileSize");
-        } else {
-            status = CL_CLEAN;
-        }
-        goto done;
-    }
-
     status = cli_magic_scan(&ctx, CL_TYPE_ANY);
 
 #if HAVE_JSON
diff --git a/libclamav_rust/Cargo.toml b/libclamav_rust/Cargo.toml
index 3a3a4af..cd55ec3 100644
--- a/libclamav_rust/Cargo.toml
+++ b/libclamav_rust/Cargo.toml
@@ -22,5 +22,5 @@ crate-type = ["staticlib"]
 name = "clamav_rust"
 
 [build-dependencies]
-cbindgen = "0.20"
+cbindgen = { version ="0.20", default-features = false }
 bindgen = "0.65"
diff --git a/libfreshclam/libfreshclam.map b/libfreshclam/libfreshclam.map
index a0756fe..51841b0 100644
--- a/libfreshclam/libfreshclam.map
+++ b/libfreshclam/libfreshclam.map
@@ -1,43 +1,43 @@
 FRESHCLAM_PUBLIC {
   global:
+    fc_strerror;
+    fc_initialize;
     fc_cleanup;
+    fc_prune_database_directory;
+    fc_test_database;
     fc_dns_query_update_info;
     fc_download_url_database;
     fc_download_url_databases;
-    fc_initialize;
-    fc_prune_database_directory;
-    fc_set_fccb_download_complete;
-    fc_strerror;
-    fc_test_database;
     fc_update_database;
     fc_update_databases;
+    fc_set_fccb_download_complete;
     logg;
     logg_close;
-    logg_file;
+    mprintf;
+    logg_verbose;
     logg_nowarn;
+    logg_time;
     logg_rotate;
     logg_size;
-    logg_time;
-    logg_verbose;
-    mprintf;
-    mprintf_disabled;
-    mprintf_nowarn;
-    mprintf_progress;
-    mprintf_quiet;
-    mprintf_stdout;
+    logg_file;
     mprintf_verbose;
+    mprintf_quiet;
+    mprintf_nowarn;
+    mprintf_stdout;
+    mprintf_progress;
+    mprintf_disabled;
 };
 FRESHCLAM_PRIVATE {
   global:
+    optparse;
+    optget;
+    optfree;
+    get_version;
+    print_version;
     check_flevel;
+    drop_privileges;
     daemonize_parent_wait;
     daemonize_signal_parent;
-    drop_privileges;
-    get_version;
-    optfree;
-    optget;
-    optparse;
-    print_version;
     sendln;
   local:
     *;

--- End Message ---
--- Begin Message ---
Version: 12.6

The upload requested in this bug has been released as part of 12.6.

--- End Message ---

Reply via email to