1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2026-06-19 02:56:07 -05:00
Commit Graph

205 Commits

Author SHA1 Message Date
Mounir IDRASSI 0caacd3405 macOS: Fix Command-A in password fields
Install a macOS-specific secure text field hotkey handler so Command-A selects the full contents of password controls when Cocoa does not route the shortcut through wxWidgets accelerators. Keep the existing wxWidgets accelerator handler for Command-V and Command-A, and recognize the standard paste/select-all IDs when they do reach the C++ event path.

Add Objective-C++ compilation support for the macOS helper and include it in the GUI target only on macOS.

Fixes https://github.com/veracrypt/VeraCrypt/issues/1567
2026-05-28 17:18:47 +02:00
Mounir IDRASSI 9b20099255 Build: harden OpenWrt package input handling
Stage VeraCrypt and wxWidgets sources under the SDK package directory before rendering the OpenWrt package Makefile. The generated recipe now refers only to fixed package-local paths, so checkout and work directory names are no longer parsed as GNU Make syntax or passed unquoted through recipe source arguments.

Validate VeraCrypt and wxWidgets version tokens before substituting them into generated package metadata. This prevents unexpected Make metacharacters from entering the generated OpenWrt recipe while preserving normal dotted release versions.

Quote OpenWrt QEMU test container-size values with the existing shell quoting helper, matching the password handling and preventing user-supplied size text from being split or interpreted by the guest shell.
2026-05-26 18:16:33 +09:00
Mounir IDRASSI d0bc546614 OpenBSD: fix CLI build and PCSC exit handling
OpenBSD builds were relying on ggod to generate embedded resource
headers. That tool is not available on a stock OpenBSD 7.9 install,
and using base od directly is not a safe substitute because it emits
zero-padded decimal values such as 060 and 098. Those tokens are then
included in C++ source and parsed as octal constants, which either
changes values or fails compilation.

Use hexdump with an explicit unsigned-byte format for OpenBSD. It is
part of the base system and emits unpadded decimal byte values suitable
for the existing resource-header pipeline.

The text-mode binary also crashed on normal process exit on OpenBSD,
including after --version, --test, create, mount, list, and dismount.
GDB showed the crash in libpcsclite_real during SCardReleaseContext(),
called from the static SCardManager destructor. This happened even for
commands that did not use EMV or security-token support because the
static manager constructor eagerly initialized PC/SC at startup.

Avoid eager PC/SC initialization and exit-time finalization on OpenBSD.
The existing call sites still initialize PC/SC lazily when EMV/token
operations need it, while ordinary CLI commands no longer touch
pcsc-lite and no longer crash during static destruction.

Validated on OpenBSD 7.9 amd64 with:
- gmake NOGUI=1 -j2
- veracrypt --text --version
- veracrypt --text --test
- device-hosted create/mount/list/dismount smoke test through doas/vnd

Refs #1589.
Refs #1593.
2026-05-26 17:58:04 +09:00
Mounir IDRASSI 0190270f9d Add OpenWrt package build and QEMU test scripts
Add OpenWrt SDK packaging under src/Build for console-only x86/64 builds. The build helper prepares the SDK, renders a local package recipe, builds VeraCrypt with the OpenWrt musl toolchain, uses wxWidgets 3.2.10 as static wxBase, enables FUSE3, and skips release self-tests during cross compilation.

Add a package template that installs the console binary, mount.veracrypt, and license files only. The package declares bash for mount.veracrypt and keeps runtime dependencies focused on the direct userland requirements.

Add a documented QEMU runtime test path that boots the matching OpenWrt image, installs the locally built package set with opkg, runs the VeraCrypt version and algorithm self-tests, and exercises a small filesystem=none container mount/unmount flow.

Allow wxbuild callers to pass WX_CONFIGURE_EXTRA_FLAGS so OpenWrt cross configure flags can be passed into the wxWidgets build without carrying an OpenWrt-specific source patch.
2026-05-26 10:39:21 +09:00
Mounir IDRASSI 964ecde6a1 Linux: add Arch package build support (#1740) 2026-05-20 09:38:38 +09:00
thurask a93e5d4214 Update FUSE package version for Debian and Ubuntu (#1736)
libfuse3-3 dropped in Debian 13/Ubuntu 25.10, replaced with libfuse3-4
2026-05-19 07:10:59 +09:00
curious-rabbit 9535e65bd8 Ensure reproducible builds on Linux (#1731)
* ensure reproducible builds

* improve patch

* improve patch

* Narrow reproducibility scope to legacy and DEB

Keep the verified Linux legacy Makefile and DEB reproducibility paths, but remove the unverified RPM/openSUSE timestamp changes and AppImage reproducibility behavior from this PR.

The CPack mtime/mode clamp is now installed only for Debian/Ubuntu packaging, matching the scope covered by the provided reproducibility logs.

Retain umask 022 in the RPM/openSUSE wrappers so staged package permissions do not depend on a restrictive caller umask.

* Harden reproducible build cleanup

Validate SOURCE_DATE_EPOCH before interpolating it into Make, CMake or shell packaging paths.

Refuse live DESTDIR values in the CPack mtime clamp and pass makeself options through normal argv construction instead of eval.

---------

Co-authored-by: curious-rabbit <curious-rabbit@local>
Co-authored-by: Mounir IDRASSI <mounir.idrassi@amcrypto.jp>
2026-05-18 20:54:13 +09:00
Mounir IDRASSI 80bce77cb9 Fix CMake 4 compatibility for Linux packaging
Keep the executable requirement at CMake 2.8.12 for legacy CentOS 6 package builders while using the version-range syntax to declare policy compatibility up to 3.10. Newer CMake versions use the policy maximum to avoid CMake 4 failures, and older CMake versions ignore the suffix and continue to configure as before.
2026-05-17 13:43:00 +09:00
Mounir IDRASSI 70922afe9b Remove bank transfer donation option 2026-05-16 21:52:58 +09:00
Mounir IDRASSI 46744db44f macOS: allow overriding deployment target
Add a -t option to build_veracrypt_macosx.sh so VC_OSX_TARGET can be set explicitly while preserving the existing defaults for source and Homebrew builds.

Fixes #1726.
2026-05-12 15:05:28 +02:00
Mounir IDRASSI a8a10b80eb macOS: Link against wxWidgets 3.2.10 2026-05-12 20:25:07 +09:00
Mounir IDRASSI b6744b8ed5 Increment version to 1.26.28 2026-04-30 13:39:51 +09:00
Mounir IDRASSI 5055382f08 macOS: fix macOS local arm64 build affecting Volume archive
Local macOS builds disable universal binaries. On Apple Silicon, that means
the regular objects are built for arm64 only, but Volume.make still selected
the macOS assembly bundle. Several of those assembly outputs are x86_64 only,
which makes ranlib reject Volume.a because it contains mixed cputypes.

Make local arm64 macOS builds use the existing arm64 crypto object path and
have the macOS build wrapper export CPU_ARCH/COMPILE_ASM consistently for
local builds.
2026-04-15 10:53:32 +09:00
Mounir IDRASSI cdc00dc4aa Linux: add support for building against FUSE3 2026-04-13 09:43:22 +09:00
Mounir IDRASSI 573f870175 Increment version to 1.26.17 is packaging files. 2025-09-21 16:49:05 +09:00
Mounir IDRASSI eadb02d8ef Windows: set version to 1.26.26. Update Release Notes, bootloader and Windows drivers. 2025-06-29 23:31:18 +09:00
Mounir IDRASSI 04606da5ee Linux: Fix build issue after addition of Argon2 on Windows.
Argon2 support for Linux will come later
2025-06-26 10:15:01 +09:00
Mounir IDRASSI ab2937c889 Add new entry in XML files for Argon2 memory cost. Increment version to 1.26.25 2025-06-25 20:32:09 +09:00
Jertzukka 1ed5225971 Linux: Update 25.04 Plucky dependencies (#1556)
Update 25.04 dependency to require libwxgtk3.2-1t64 package.
2025-06-13 08:51:28 +09:00
Mounir IDRASSI 716ff4180e Add python script that automates uploading VeraCrypt release files to Launchpad 2025-06-01 10:44:10 +09:00
Sam Hocevar c7f69062db Use “unmount” instead of “dismount” in scripts and in text shown to the user. (#1548) 2025-05-31 23:06:30 +09:00
Mounir IDRASSI 08c813efd6 Increment version to 1.26.24. Update Release Notes and Windows drivers. 2025-05-29 18:10:59 +09:00
Mounir IDRASSI e68c98ab6b Increment version to 1.26.3. Update Release Notes and signed drivers 2025-05-28 19:28:32 +09:00
Mounir IDRASSI 4b46d992da Increment version to 1.26.22. Update Release Notes. Update signed drivers. 2025-05-25 09:49:49 +09:00
Mounir IDRASSI a6f734ae2b Linux: cleanup old build artifacts before performing new build 2025-05-15 10:29:09 +09:00
Mounir IDRASSI b673901503 Move copyright and links to "AM Crypo", amcrypto.jp and veracrypt.jp 2025-05-11 16:02:20 +09:00
Mounir IDRASSI 4944477b5a Linux: implement automatic creation of AppImage bundle during build of generic binaries 2025-05-10 23:32:55 +09:00
Mounir IDRASSI 26924cb277 Linux: Fix typo in CMakeLists.txt after last change 2025-05-06 08:24:07 +09:00
Mounir IDRASSI 4cd6b4cd4d Linux: remove pcsclite dependency from .deb/.rpm packages since it is detected/loaded dynamically at runtime. 2025-05-06 07:26:40 +09:00
Mounir IDRASSI bbc9fbf175 Increment version to 1.26.21 2025-05-04 03:43:45 +09:00
Mounir IDRASSI 4a371f807e Linux: Fix build issues caused by changes after SM4 addition 2025-05-04 02:45:09 +09:00
Mounir IDRASSI 7924f06e39 Initial support of SM4 cipher for normal volumes 2025-05-04 02:27:05 +09:00
Mounir IDRASSI 55563ffe42 Increment version to 1.26.20. Update Release Notes. 2025-02-03 17:52:19 +01:00
Mounir IDRASSI 16aa1a7be0 Increment version to 1.26.19. Update Release Notes. 2025-01-22 18:37:46 +01:00
Mounir IDRASSI 54bd819990 Windows/Linux/macOS: implement AES hardware support on ARM64 (ARMv8) 2025-01-17 00:58:54 +01:00
Mounir IDRASSI 1b35abb191 Increment version to 1.26.18. Update copyright date. Update Release Notes. Update Windows drivers. 2025-01-14 12:26:28 +01:00
Mounir IDRASSI cc2f177c5c Linux Debian/Ubuntu: use a distro-specific version string to avoid APT repository conflicts
In a Debian-style APT repository, the pool/ directory groups packages primarily by source package name and binary package name, version, architecture, etc. If two distinct .deb files have identical name and version (as seen in their control file) and same architecture, reprepro will report a conflict when adding one after the other.

So, we need to append distro-specific string to the existing version in order to avoid such conflict when creating VeraCrypt APT repository.
2025-01-11 16:23:11 +01:00
Mounir IDRASSI 650984c958 Linux: Fix warning during build cause by deprecated 'u' modifier in "ar" command 2024-12-25 11:42:37 +01:00
Mounir IDRASSI b85a2df224 Windows driver: use correct WDM type. Increment version to 1.26.17 2024-11-20 00:21:30 +01:00
Mounir IDRASSI f9b9a9ca9f Increment version to 1.26.16. Update Release Notes. Update signed Windows drivers. 2024-11-18 00:04:26 +01:00
Mounir IDRASSI 73684e56d8 Linux: Fix build error following SHA intrinsic support changes 2024-11-10 21:42:24 +01:00
Mounir IDRASSI 04c747fb2d Add support for SHA-256 x86 instrinsic for enhance performance of PBKDF2-HMAC-SHA256 2024-11-10 21:08:00 +01:00
Mounir IDRASSI ba8dd5137a Linux: Add Fedora as supported distribution in CMakeLists.txt 2024-09-22 11:46:01 +02:00
Mounir IDRASSI 866fc8f513 macOS: fix regression in build script that caused it to ignore fuset switch
fixed by Mattoje #1417
2024-09-17 17:57:14 +02:00
Mounir IDRASSI 3a1c8bac59 macOS: enhance macOS build script(allow local build, specify wxWidgets version, control packaging)
Based on proposal by @Mattoje in https://github.com/veracrypt/VeraCrypt/issues/1417
2024-09-16 22:42:43 +02:00
Mounir IDRASSI 71dc18aaa2 Windows: Fix MSI not installing all new documentation file. Remove old files left from old versions. Increment version to 1.26.15. 2024-09-01 17:20:01 +02:00
Mounir IDRASSI fa874cc611 Linux: Add script to sign generated rpms 2024-08-25 18:56:41 +02:00
Mounir IDRASSI af734f41df Increment version to 1.26.14. Set release date to August 25th. 2024-08-25 09:55:44 +02:00
Mounir IDRASSI 86bc9b56f0 Increment version to 1.26.13. Update release notes. Update signed Windows drivers. 2024-08-02 00:55:32 +02:00
Mounir IDRASSI bc5c32ad14 Linux: Add Github CI workflow for Linux (#1374)
* Linux/MacOSX: during build, fallback to /tmp if wxWidgets sources not found in parent directory

* Linux: Add Github workflow to build .deb files and test generated binaries

* Linux: fix wrong wxWidgets extract path in yaml

* fix: fix wrong wxWidgets extract path in yaml

* Linux: harmonize content of test volumes and update Github workflow for this

* Fix corrupted test container

* Linux: optimize Github workflow by caching wxBuildConsole and wxBuildGUI folders

We also modify build script to detect the presence of wxBuildConsole and wxBuildGUI folders and reuse them

* Remove files mistakenly added

* Linux: Fix wrong test for Github workflow

* Linux: use static build of wxWidgets for GUI in Github workflow

* Linux: upload also .deb SHA256SUM file if it is generated in Github workflow

* Linux: fix detection logic of parent folder in build scripts

* Github workflow: add build_cmake_deb.sh as trigger to build-linux.yml

* Github workflow: add wxWidgets source code to the cache of workflow
2024-07-06 16:36:56 +02:00