Commit Graph

1731 Commits

Author SHA1 Message Date
Jertzukka bd1e772657
FreeBSD: Fix privilege escalation prompts not showing up (#1349)
The behaviour of `wc -l` is different on FreeBSD, in which the stdout
result is padded by spaces in the beginning, which causes that the
result[0] is not actually the value we care about. This patch adds
a translate removing all whitespace from the output.
2024-06-03 08:09:54 +02:00
Mounir IDRASSI 6ac3b02a24 Linux: enhancements to build_cmake_deb.sh script. Use wxWidgets 3.2.5 2024-05-21 00:34:17 +02:00
Mounir IDRASSI 01d414c3fe Linux: Update dependencies for debian packages on Ubuntu 24.04 and Debian 13
packages were renamed and we linked statically against wxWidgets in GUI mode because of a bug in wxWidegts that was solved in 3.2.5 (https://github.com/wxWidgets/wxWidgets/issues/24081)
2024-05-21 00:32:31 +02:00
Jertzukka 114624b3a5
Prepare for changes in wxWidgets 3.3 (#1343)
* Move from deprecated wxScopedPtr to std::unique_ptr
wxScopedPtr was included previously through some header hierarchy which as of 3.3 is
no longer the case causing it to break. But instead of including a header for a deprecated
function explicitly, just move to std::unique_ptr as recommended by upstream.

* Convert to explicit conversions from wxString
As of 35c35c235e
wxWidgets defaults to STL classes, which has a side-effect that
some implicit conversions break. This patch converts those conversions
to explicit in anticipation of wxWidgets 3.3 release.
2024-05-18 03:46:39 +02:00
Jertzukka 55c3a8dc58
Fix incorrect max hidden volume size for file containers on CLI (#1338)
Currently the maximum hidden volume size for file containers is
limited by available free space on the device the file container
resides on, which we do not care about. This commit changes so
that only Normal volumes get their `maxVolumeSize` limited by
`AvailableDiskSpace`. Also the --size=max parameter is restricted
from hidden volume creation as there is no way to determine a good
size as we do not mount the outer volume through the CLI process
flow to determine available free space on the outer volume.
2024-05-08 19:00:09 +02:00
Mounir IDRASSI e96f3035d9
Windows: Enhance memory protection mechanism by preventing process owner from granting permissions to itself. 2024-05-08 17:31:57 +02:00
RoboSchmied c446773823
Fix: 7 typos (#1324)
Signed-off-by: RoboSchmied <github@roboschmie.de>
2024-04-10 23:50:05 +02:00
DLL125 ecf1047019
update zlib + copyright (#1302) 2024-04-10 18:47:29 +02:00
Jertzukka f846a808d1
Correct exceptions to match the correct language strings (#1299)
Fixes the order of the language strings to match the correct
exceptions.
2024-04-10 17:58:37 +02:00
Jertzukka dc8d8ce404
Unix CLI: Don't initially re-ask PIM if it was already specified (#1288)
We don't need to reset PIM in PasswordException as it is immediately
fell back to if PIM is specified in text mode, but password is not.
This causes an exception that resets the PIM when it shouldn't.
2024-04-10 10:44:01 +02:00
Jertzukka 801c3ab966
Linux: Allows GUI to launch in a Wayland-only environment (#1264)
Currently we check whether the system has DISPLAY environment variable
set, which is the case in a system that uses X11 natively or XWayland.
This variable is not set in a system with only Wayland, so we need to
also check whether WAYLAND_DISPLAY is set.

Fixes: #184
2023-12-11 09:11:07 +01:00
Jertzukka 87a9508fdd
macOS: Use correct Disk Utility location when "check filesystem" is ran (#1273) 2023-12-11 09:07:37 +01:00
Jertzukka ff93a6021f
macOS: Fix near zero width PIM input box and simplify wxTextValidator logic (#1274)
* macOS: Fix issue where PIM box has no width in Wizard
VolumePimTextCtrl has a problem with width on macOS which
we can fix by adjusting the proportions of the elements
inside the PimSizer, which seems like a better solution than
using a forced minimum size in pixels.

Adjacent, simplifies the validator logic for digits in PIM field.

Fixes #1219
2023-12-11 09:06:33 +01:00
Mounir IDRASSI 1a21ea8d73
Linux/MacOSX: put entries at line start and use tabs instead of spaces 2023-11-19 16:44:48 +01:00
Mounir IDRASSI 65a5bf914e
MacOSX: update version field in pkg project files 2023-11-19 16:04:04 +01:00
Jertzukka 6a1780864c
Linux/FreeBSD/macOS: Implement language selection settings (#1253)
* Implement Language selection into settings
Initial commit to create a new tab in PreferencesNotebook for
Language selection. By default, if nothing is chosen, it uses the
current behaviour of using the language from system environment
variables. If another language is chosen from the settings, it is
saved into the Configuration.xml and this is used instead.

* Fix SetStringSelection() assert issue on macOS

* Add header include to fix build

* Add current language pack, authors and way to use literal strings

* Translations also for FreeBSD

* Minimal GTK3 WX build on FreeBSD requires wxGraphicsContext

* Get Preferences properly instead of workaround function

* Use WrapSizer instead of BoxSizer for author line
This forces long author lists to be put on a new line, reducing
the need to increase window width.

* Update Finnish translation

* Borrow translation from IDM_LANGUAGE where it makes sense

* Remove colon and thus unneeded function

* Simplify Language tab layout

* Reintroduce macOS specific fixes to Forms.cpp

* cleanup
2023-11-19 00:31:40 +01:00
lealem47 9247ce1bb9
wolfCrypt as crypto backend for VeraCrypt (#1227)
* wolfCrypt as crypto backend for VeraCrypt

* Refactor to use EncryptionModeWolfCryptXTS class
2023-11-13 00:51:31 +01:00
Mounir IDRASSI e9492f1c06
Update MBR bootloader to 1.26.10 version 2023-11-09 00:13:30 +01:00
Mounir IDRASSI 7e7d776338
Increment version to 1.26.10. Update signed Windows drivers. 2023-11-09 00:09:00 +01:00
Mounir IDRASSI 1688779bc3
Windows: Fix failure to format some disks (e.g. VHDX) caused by partition offset not 4K aligned
Now we set offset to 1MB which is a typical values used for MBR disks.
We also use a more standard way to calculate legacy number of cylinders
2023-11-08 22:43:18 +01:00
Jertzukka e70aa13c5b
Linux: Fix generic installation script on Konsole in Wayland (#1244)
The x11 aliases such as --title are only available in the Qt application
if the XDG_SESSION_TYPE is x11. Instead of using an alias, we can use
--qwindowtitle directly.
2023-11-08 09:20:47 +01:00
Jertzukka 91b47deb0e
Linux: Focus PIM field when selected (#1239)
Sets focus to VolumePimTextCtrl initially when the checkbox is clicked.
2023-10-31 00:08:41 +01:00
Mounir IDRASSI 5e0aec534f
Windows: fallback to absolute positioning if relative positioning fails
This can serve as workaround if a disk rejects relative positioning for
some reason.
2023-10-13 23:55:19 +02:00
Mounir IDRASSI 4cfb4b03a7
Increment version to 1.26.9 2023-10-11 23:59:02 +02:00
Mounir IDRASSI bfd1abcabb
Windows: Don't close Setup when exiting VeraCrypt process through system tray Exit menu 2023-10-11 22:09:09 +02:00
Mounir IDRASSI 06b3095e20
Increment version to 1.26.8 2023-10-10 23:15:18 +02:00
Mounir IDRASSI a47f67bcc1
Windows: Fix writing wrong EFI configuration options to registry 2023-10-10 10:35:50 +02:00
Mounir IDRASSI 35135cd1fb
Windows: Fix expansion of volumes on devices with sector size!=512 (by skl0n6) 2023-10-08 15:56:42 +02:00
kovalev0 847abb23f0
Fix warnings and throwing an exception instead of ignoring the error (#1229)
* EMVCard.cpp: ArrayToHexWideString: prohibit conversion of a string constant

../Common/EMVCard.cpp: In function 'std::wstring VeraCrypt::ArrayToHexWideString(con
st unsigned char*, size_t)':
../Common/EMVCard.cpp:28:43: warning: ISO C++ forbids converting a string constant
to 'wchar_t*' [-Wwrite-strings]
   28 |                 static wchar_t* hexChar = L"0123456789ABCDEF";
      |                                           ^~~~~~~~~~~~~~~~~~~

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>

* EMVCard.cpp: ArrayToHexWideString: fix of the comparison of different types

../Common/EMVCard.cpp: In function 'std::wstring VeraCrypt::ArrayToHexWideString(con
st unsigned char*, size_t)':
../Common/EMVCard.cpp:32:43: warning: comparison of integer expressions of different
 signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
   32 |                         for (int i = 0; i < cbData; i++)
      |                                         ~~^~~~~~~~

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>

* SecurityTokenKeyfilesDialog.cpp: removed initialization of an unused variable

Forms/SecurityTokenKeyfilesDialog.cpp:58:24: warning: unused variable 'i' [-Wunused-
variable]
   58 |                 size_t i = 0;
      |                        ^

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>

* Core/Unix: throwing an exception instead of ignoring the error

Fixes: 5a6b445f ("fix warnings and UB (#1164)")
Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>

---------

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>
Co-authored-by: Vasiliy Kovalev <kovalev@altlinux.org>
2023-10-08 15:36:15 +02:00
Mounir IDRASSI c91e5792ef
Windows: Modified implementation for Secure Desktop handling to overcome Windows 11 issues
We use only alphanumeric characters for the name in addition to the '_' character
We ensure the random desktop name doesn't already exist
We create the random desktop on the Secure Desktop thread and we look over SwitchDesktop until it works.
We call SetThreadDesktop (hOriginalDesk) in main thread once we finish
2023-10-08 01:55:07 +02:00
Mounir IDRASSI 22ac25dde7
Harmonize copyright date and statements across various files 2023-10-06 00:13:28 +02:00
Mounir IDRASSI 42857b4930
Update various copyright dates 2023-10-05 09:07:35 +02:00
sardanap 01b49a2017
fix for corrupted icons (#1226) 2023-10-05 00:08:07 +02:00
Mounir IDRASSI bd843ffa05
Linux: Fix compilation error on some 32-bit machines. 2023-10-02 18:02:33 +02:00
Mounir IDRASSI 9d36f15bfc
MacOS: Fix Blake2s SSE 4.1 not being built
For now, we set GCC_GTEQ_430 to 1 to each OS. Later we will always
suppose that gcc is newer than 4.3 and remove this logic.
2023-10-01 18:52:55 +02:00
Mounir IDRASSI 8eb232a4a3
MacOS: set minimum target to OSX 12. Fix About menu not working.
The modification to Forms.cpp is temporary until we find a better
approach
2023-10-01 18:51:20 +02:00
Mounir IDRASSI 19fa1f8684
Linux: use "-std=c++11" for gcc 4.8 and adapt code to old compilers 2023-10-01 11:06:46 +02:00
Mounir IDRASSI da49ebb927
Linux: Better detection of gcc version to correctly enable c++11
This allows to build correctly under CentOS 6 and CentOS 7
2023-10-01 00:48:57 +02:00
Mounir IDRASSI 8d87b6a778
Windows: Update MBR bootloader for version 1.26.7 2023-09-30 11:24:05 +02:00
Mounir IDRASSI 53cbe028cd
Increment version to 1.26.7. Set release date to October 1st. Update Windows signed driver files. 2023-09-30 11:20:46 +02:00
Mounir IDRASSI c0f8179f2a
Windows: enhancement to RAM encryption
- use a more standard-looking memory value tag instead of fully random one that will look suspicious and outstanding
 - If we fail to allocate 1MiB for derivation area, we device the size by two in a loop until we succeed. This is better than falling back directly to 8KiB size
 - Better method to derive actual encryption key: instead of simply duplicating 128bit key value, we combine a xor addition and self-encryption to build a 256-bit key
 - use both encID and pbKeyDerivationArea to derive IV for encryption and not only endID
2023-09-29 22:26:54 +02:00
Mounir IDRASSI 5192eac233
Windows Driver: Use KeQueryInterruptTimePrecise on Windows 8.1 and newer as better seed for internal RNG compared to KeQueryInterruptTime 2023-09-29 22:14:43 +02:00
Mounir IDRASSI 662b8d1b2f
Windows: during Setup, and if VeraCrypt already installed, open online help only if PC connected to Internet 2023-09-26 01:22:24 +02:00
Mounir IDRASSI 718f11d9c3
Windows: make Setup correctly manage option to disable memory protection during upgrade 2023-09-24 12:48:34 +02:00
DLL125 2363506e09
Libzip 1.10.1 (#1209)
Updated to the latest version for the VeraCrypt 1.26.6 release.
2023-09-24 10:18:54 +02:00
Mounir IDRASSI 937c5cd5cd
Windows: always open online help in case of Setup because local help may be outdated 2023-09-24 01:41:35 +02:00
Mounir IDRASSI 76c64d49ea
Windows: Add tooltip message and help button for new option to disable memory protection
Also a dedicated page in the documentation was added for it.
2023-09-24 01:26:02 +02:00
Mounir IDRASSI 91b3f0af0c
Linux/MacOSX: Increment packaging version to 1.26.6 2023-09-22 22:23:13 +02:00
Mounir IDRASSI 81c87a8f0b
Windows: Load Riched20.dll to use RichEdit control. Use InitCommonControlsEx instead of InitCommonControls 2023-09-21 22:42:35 +02:00
Mounir IDRASSI d02734dfaa
Update Release Notes. Increment version to 1.26.6. 2023-09-21 01:31:35 +02:00