1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2026-05-21 13:20:53 -05:00
Commit Graph

2789 Commits

Author SHA1 Message Date
Mounir IDRASSI c3ce2db9ac Document fixed Argon2id header key size
Argon2id includes the requested output length in its computation, so deriving 192 bytes and using a prefix is not equivalent to deriving only the selected cipher's key material length. This differs from PBKDF2, where the prefix property made this detail invisible.

VeraCrypt derives the maximum header key material currently needed by the supported cipher/cascade set, which is 192 bytes, and then uses the required prefix for the selected encryption algorithm. For AES-XTS this means the first 64 bytes of the 192-byte Argon2id output are used.

Make this design rule explicit in code and documentation by introducing ARGON2_HEADER_KEYDATA_SIZE instead of relying implicitly on GetMaxPkcs5OutSize. If a future cipher or cascade requires more than 192 bytes, that must be handled as an explicit format/design change.

Document the 192-byte Argon2id header KDF output requirement so third-party implementations derive the same header key material.

References: https://github.com/veracrypt/VeraCrypt/issues/1614
2026-05-21 18:10:06 +09:00
Mr-Update c4acb6a0be Update Language.de.xml (#1742)
* Update Language.de.xml

- Translation completed

* Update Language.de.xml
2026-05-21 08:27:49 +09:00
Mounir IDRASSI b97b0f2c06 macOS: fix TC_VERSION extraction in makefiles 2026-05-20 08:38:42 +02:00
Mounir IDRASSI 21f773cd6d docs: fix Argon2id default PIM 2026-05-20 14:33:06 +09:00
Mounir IDRASSI aaffec8b5c Windows: support new Microsoft EFI CA bootloaders
Embed both Microsoft UEFI CA 2011 and 2023 signed DCS EFI sets and select the 2023 set only when the firmware db trusts the required 2023 third-party CAs.

Fall back to the 2011 EFI set when firmware db state cannot be determined, preserving pre-existing compatibility behavior and recording the reason in HKLM diagnostics.

Refresh installed ESP modules during PostOOBE repair, keep backups before replacing existing DCS modules, and use the selected EFI set when creating rescue media.

Record the selected EFI bootloader resource set and selection reason in HKLM, allow larger firmware db variables on systems with many Secure Boot certificates, and remove diagnostic registry keys on uninstall.

Fix MSI SetupDLL COM typelib version constants so unregister targets the current Main and Format COM typelib versions.

References: https://github.com/veracrypt/VeraCrypt/issues/1655
2026-05-20 14:07:47 +09:00
Mounir IDRASSI 4f71883ac1 Windows: Add new signed EFI bootloader files (2011CA and 2023CA) 2026-05-20 14:05:27 +09:00
Mounir IDRASSI 964ecde6a1 Linux: add Arch package build support (#1740) 2026-05-20 09:38:38 +09:00
Thomas De Rocker 86082f3bf5 Update Language.nl.xml (#1741) 2026-05-19 18:33:06 +09:00
Marius Kjærstad 1f256ae3f2 Update to Norwegian Bokmål translation (#1738)
* Update to Norwegian Bokmål translation

* Issues found by Idrassi
2026-05-19 13:25:03 +09:00
Matthaiks 8282f17745 Update Polish translation (#1737)
* Update Polish translation

* Update Polish translation
2026-05-19 08:11:58 +09:00
Mounir IDRASSI dec2bd882f Linux/macOS: suppress wxWidgets sizer consistency checks 2026-05-19 07:52:14 +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
Mounir IDRASSI 6bef9e009c Linux: refine in-kernel NTFS driver selection
Keep the NTFS kernel-driver option as a generic in-kernel NTFS path rather than an ntfs3-specific path. Add --filesystem=kernel-ntfs and -m kernelntfs routes that select a registered or loadable kernel NTFS driver and mount with -i so mount.ntfs/ntfs-3g helpers are not invoked.

Preserve --filesystem=ntfs3 as a literal pin to the ntfs3 driver. Treat both ntfs3 and kernel-ntfs as mount-only selectors; volume creation continues to use filesystem type NTFS.

The preference and -m kernelntfs path only select an in-kernel NTFS driver when no explicit filesystem type was supplied and blkid detects NTFS.

Treat ntfs as the preferred in-kernel driver on Linux 7.1 and later, where the upstream read/write driver is expected. On earlier kernels, select ntfs only when module metadata identifies the standalone read/write driver and /sys/module confirms it loaded, avoiding ntfs3 read-only ntfs compatibility registrations. Fall back to ntfs3 otherwise, and report a generic kernel-driver error if neither supported driver is available or loadable.

Rename the internal preference/config field to MountNtfsWithKernelDriver, migrate the old MountNtfsWithNtfs3 preference key, and update UI strings, CLI help, documentation, release notes, and translation placeholders accordingly.

Reference: https://github.com/veracrypt/VeraCrypt/issues/1735
2026-05-18 22:19:23 +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 8b1c668b77 Linux: Fix PreferencesDialog build with GCC 4.4
Replace the Linux ntfs3 help icon paint lambda with a small wxWindow
subclass and regular paint event handler.

GCC 4.4, used on CentOS 6, builds with -std=c++0x but does not support
the lambda syntax used in PreferencesDialog.cpp, causing compilation to
fail at the ntfs3 help icon handler.

The drawing behavior is unchanged.
2026-05-17 13:52:45 +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 46131086e1 Linux/FUSE: honor inodes and map unknown errors to EIO
Enable use_ino for Linux FUSE mounts so stable inode numbers returned by getattr and readdir are reported to userspace. For FUSE3, set fuse_config.use_ino from init; for FUSE2, pass -o use_ino because there is no fuse_config init hook.

Also map otherwise unhandled FUSE exceptions to EIO instead of EINTR, since these failures are not signal interruptions and should not encourage retry loops.
2026-05-16 17:38:56 +09:00
Mounir IDRASSI b82f2dd934 CI: skip cache cleanup on pull requests
Fork PR GITHUB_TOKENs cannot delete repository Actions caches, so run the cleanup only after trusted pushes to master.
2026-05-16 10:44:40 +09:00
Mounir IDRASSI cd101433c5 macOS: recover mounted volume mount points
Prefer hdiutil plist entities that carry a mount-point when recording the virtual device. This fixes APFS images where the first dev-entry is not the mounted volume.

Add a macOS mounted-volume refresh hook that recovers VirtualDevice and MountPoint from hdiutil info when FUSE-T SMB auxiliary metadata is missing or stale.
VeraCrypt_1.26.28_Beta3
2026-05-15 15:35:28 +02:00
nkh0472 d4a237fbaf Update Language.zh-cn.xml (#1732)
* Update Language.zh-cn.xml

* Update Language.zh-cn.xml
2026-05-15 14:23:17 +09:00
Mounir IDRASSI 77e4830c99 macOS: run APFS formatter elevated
APFS volume creation can still fail with Permission denied after preparing the raw and block device aliases because newfs_apfs performs privileged APFS container and volume operations beyond opening the device nodes.

Route APFS formatting through the elevated CoreService path for non-root macOS runs. Keep the elevated interface narrow by sending only the target device and invoking user UID/GID, validate the device path on the privileged side, rebuild the formatter arguments there, and execute /sbin/newfs_apfs by absolute path to avoid PATH shadowing.

Pass -U/-G so the created filesystem preserves the invoking user ownership. Apply the same path to GUI and text-mode creation.
2026-05-15 13:52:21 +09:00
Thomas De Rocker 213dd2e74a Update Language.nl.xml (#1730)
* Update Language.nl.xml

* Update Language.nl.xml
2026-05-14 17:13:35 +09:00
Patriccollu 22aec149de Update Corsican translation on 2026-05 (3rd) (#1728)
* Update Corsican translation on 2026-05 (3rd)

* Update Corsican translation on 2026-05 (3rd)
2026-05-14 09:19:26 +09:00
Mr-Update efdfc4f273 Update Language.de.xml (#1727)
* Update Language.de.xml

- Translation completed

* Update Language.de.xml
2026-05-14 09:18:33 +09:00
Mounir IDRASSI 960f5993b2 macOS: prepare APFS formatter device aliases
When creating an APFS filesystem inside a newly created device-hosted volume, VeraCrypt prepared only the raw hdiutil device path before invoking newfs_apfs. On macOS, newfs_apfs may resolve or reopen the corresponding block device path, which can fail with Permission denied for non-root GUI runs.

Prepare both raw and block aliases for the temporary formatter device, restore changed owners afterward, and share the helper between GUI and text-mode volume creation. Restore each changed alias independently so one restore failure does not skip the rest.
VeraCrypt_1.26.28_Beta2
2026-05-13 14:39:06 +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.
VeraCrypt_1.26.28_Beta
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
Marius Kjærstad dd22f60bcd Update Norwegian Bokmål translation (#1724)
* Update Norwegian Bokmål translation

* Corrected: Resume Interrupted Process
2026-05-12 20:22:14 +09:00
Matthaiks f73380bdb6 Update Polish translation (#1725)
* Update Polish translation

* Update Polish translation
2026-05-12 14:35:14 +09:00
Mounir IDRASSI c2ba9b5333 Translations: add macOS device validation strings
Move the new English entries to the end of Language.xml and add English fallback entries to all tracked translation XML files.
2026-05-11 23:59:09 +09:00
Mounir IDRASSI 49c8fd3680 macOS: validate format wizard device targets
Keep device selection enumeration unchanged to avoid slow dialog loads.

In the format wizard, inspect only the selected target with diskutil info -plist and reject APFS synthesized devices, macOS system/support targets, read-only targets, and current APFS system stores. Add a read-only APFS hint for creation failures.
2026-05-11 23:47:20 +09:00
Mounir IDRASSI e6247fbf2a Windows: avoid duplicate tray notifications
Remove the duplicate Shell_NotifyIconW(NIM_MODIFY) call from the tray balloon helper. On Windows 11, the shell can queue the repeated NIF_INFO request and show the same unmount notification twice.

Fixes #1630
2026-05-11 11:28:56 +09:00
Mounir IDRASSI 404d72de2e Windows: Update LZMA SDK to version 26.01 2026-05-11 11:11:41 +09:00
TigerxWood 83d1cdb33b Update Language.ro_1.26.28.xml (#1721)
* Update Language.ro_1.26.28.xml

* Update Language.ro_1.26.28.xml

I corrected the signaled problems, where was the case and where I did not it was because of misinterpretation of AI.

* Update Language.ro_1.26.28.xml

Final version, for now.

* Update Language.ro_1.26.28.xml

Corrected PIM_ARGON2_SMALL_WARNING
2026-05-11 10:55:23 +09:00
Marius Kjærstad 4b88b33c65 Update Norwegian Bokmål translation (#1722) 2026-05-10 13:17:01 +09:00
Diogo Santos 504c94f12c Fix Off-By-One Stack Buffer Overflows in XML Parser (#1717)
* Off-By-One Null Byte Fix

* Add XML parser tests and improve XmlGetAttributeText handling

* Refactor XML testing: integrate XmlTest into AutoTestAlgorithms, add sentinel test for XmlGetNodeText insuficient output size.

* Remove no-op Tests.c change

---------

Co-authored-by: Mounir IDRASSI <mounir.idrassi@amcrypto.jp>
2026-05-10 10:41:10 +09:00
Patriccollu 9934f01d3d Update Corsican translation on 2026-05 (2nd) (#1720) 2026-05-10 10:40:59 +09:00
Mounir IDRASSI f6dcfa2b64 Harden TLV parser bounds checks
Reject empty or truncated TLV buffers, unsupported indefinite lengths, and declared value lengths that exceed the remaining input or uint16 node storage. Parse BER long-form lengths in big-endian order before copying value bytes.
2026-05-09 22:54:47 +09:00
Thomas De Rocker 6456856626 Update Language.nl.xml (#1718)
* Update Language.nl.xml

* Update Language.nl.xml
2026-05-08 23:28:52 +09:00
Marius Kjærstad 47605509eb Update Norwegian Bokmål translation (#1716) 2026-05-05 15:52:32 +09:00
Mr-Update b27ad18e93 Update Language.de.xml (#1715) 2026-05-05 06:54:46 +09:00
Matthaiks 107cb376cb Update Polish translation (#1713) 2026-05-04 07:33:18 +09:00
Marius Kjærstad 23aae844de Update Norwegian Bokmål translation (#1712) 2026-05-04 06:40:19 +09:00
nkh0472 f022ce2111 Translate English entries to Chinese in XML (#1711) 2026-05-04 06:38:52 +09:00
Mounir IDRASSI f8837090b8 Linux/macOS: show volume creation finalization stages
Report explicit progress stages while writing volume data, writing backup headers, and flushing data to disk so the wizard does not appear stuck at 100%.

Keep the wizard in progress during Unix post-creation formatting and show status for temporary mount/device setup, mkfs invocation, and dismount.
2026-05-03 11:26:20 +09:00
Mammoth 8b80e2fc61 Update Russian translation for ntfs3 preference (#1704)
* Update Russian translation for ntfs3 preference

* Address Russian ntfs3 translation feedback

---------

Co-authored-by: Mamontov <“mammmoth@list.ru”>
2026-05-03 09:41:01 +09:00
Marius Kjærstad b9c22e3f05 New translations to Language.nb.xml (#1710) 2026-05-02 17:21:59 +02:00
Matthaiks 6e2cc3a3cd Update Polish translation (#1709) 2026-05-02 17:21:22 +02:00
Patriccollu 6582c80629 Update Corsican translation on 2026-05 (#1708)
Co-authored-by: Mounir IDRASSI <mounir.idrassi@amcrypto.jp>
2026-05-02 23:30:43 +09:00