VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Common/Dlgcode.c
AgeCommit message (Collapse)AuthorFilesLines
2024-11-25Windows Setup: Fix "Access Denied" issue during VeraCrypt update after a ↵Mounir IDRASSI1-1/+218
Windows upgrade During a Windows upgrade, ownership of veracrypt.sys is set to TrustedInstaller, preventing VeraCrypt from accessing the file during an update. This commit resolves the issue by temporarily taking ownership of the file to rename it, allowing the new file to be copied. The setup process now obtains additional privileges for this operation, which are properly dropped once the file copying is complete.
2024-11-16Windows: remove 32-bit logic from the code since we support only 64-bit. ↵Mounir IDRASSI1-35/+21
remove 32-bit EFI bootloader files. We also fix intermediary files folder for Portable and Setup projects
2024-11-15Windows: Fix various compiler warningsMounir IDRASSI1-116/+118
2024-11-13Windows: Remove support for 32-bit driver code. Set build target as Windows ↵Mounir IDRASSI1-17/+12
10. Simplify code and fix all warnings in driver.
2024-09-19Windows: Fix EFI configuration editor various issuesMounir IDRASSI1-5/+45
We always using Unicode functions to interact with UI. We convert UTF8 string to UTF16 and vis-versa. Overwrite input string instead of using resize that caused old test to remain. Fix case of readOnly by using correct message. change position of OK/cancel button to match other dialogs. Activate translation on this dialog.
2024-09-02Windows: Fix bug in disabling of Windows privileges, they were completely ↵Mounir IDRASSI1-2/+2
removed instead This started to cause issues after latest changes to disable privileges when they are no more needed. Because of the bug, the privileges could not be enabled again because they were wrongly removed.
2024-08-11Revert changes mistakenly included in previous commitMounir IDRASSI1-1/+1
2024-08-11Fix typo of "CPLC" is language files including English one.Mounir IDRASSI1-1/+1
2024-08-04Windows: Fix rare cases being stuck in Secure Desktop after it is used for ↵Mounir IDRASSI1-18/+38
password entry Cause seems to be IME as documented in KeePass project (https://keepass.info/help/kb/sec_desk.html#ime). We use the same approach as KeePass to disable IME in Secure Desktop. This commit also add few changes: - we switch to secure desktop only if SetThreadDesktop succeeds - we call SwitchDesktop to switch to original desktop only if we actually succeeded in displaying secure desktop
2024-08-02Implement detection of volumes with vulnerable XTS master key.Mounir IDRASSI1-0/+14
If vulnerability detected, a warning message is displayed during mount or backup/restore header, and changing the password is disallowed since it will not change the master key.
2024-06-23Update copyright date in some filesMounir IDRASSI1-2/+2
2024-06-12Avoid conflict with C++17 features std::byte by using uint8 type instead of byteMounir IDRASSI1-24/+24
2024-05-08Windows: Enhance memory protection mechanism by preventing process owner ↵Mounir IDRASSI1-2/+31
from granting permissions to itself.
2023-11-13wolfCrypt as crypto backend for VeraCrypt (#1227)lealem471-8/+12
* wolfCrypt as crypto backend for VeraCrypt * Refactor to use EncryptionModeWolfCryptXTS class
2023-10-11Windows: Don't close Setup when exiting VeraCrypt process through system ↵Mounir IDRASSI1-1/+2
tray Exit menu
2023-10-08Windows: Modified implementation for Secure Desktop handling to overcome ↵Mounir IDRASSI1-54/+82
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-05Update various copyright datesMounir IDRASSI1-3/+3
2023-09-26Windows: during Setup, and if VeraCrypt already installed, open online help ↵Mounir IDRASSI1-3/+39
only if PC connected to Internet
2023-09-24Windows: always open online help in case of Setup because local help may be ↵Mounir IDRASSI1-0/+6
outdated
2023-09-24Windows: Add tooltip message and help button for new option to disable ↵Mounir IDRASSI1-0/+122
memory protection Also a dedicated page in the documentation was added for it.
2023-09-21Windows: Load Riched20.dll to use RichEdit control. Use InitCommonControlsEx ↵VeraCrypt_1.26.6Mounir IDRASSI1-2/+7
instead of InitCommonControls
2023-09-21Windows: use separate name for SetProcessMitigationPolicy function point. ↵Mounir IDRASSI1-11/+5
Remove unneeded boolean
2023-09-20Windows: Add setting in main UI and setup wizard to disable memory protectionMounir IDRASSI1-2/+9
This can be useful for users who need Accessibility software that may not work when memory protection is active in VeraCrypt
2023-09-18Windows Security: make memory protection enabled by default. Add process ↵Mounir IDRASSI1-2/+127
mitigation (ASLR, Dynamic code, extension points) Memory protection can be disabled using registry value "VeraCryptEnableMemoryProtection" under the key "HKLM\SYSTEM\CurrentControlSet\Services\veracrypt"
2023-09-11Windows: replace CoInitialize calls with CoInitializeExMounir IDRASSI1-4/+4
2023-09-08Windows: Add link in keyfiles dialog to documentation page for risks of ↵Mounir IDRASSI1-0/+12
third-party file extensions usage.
2023-09-03Windows: Replace legacy file/dir selection APIs with modern IFileDialog ↵Mounir IDRASSI1-173/+240
interface We remove usage of GetOpenFileNameW/GetSaveFileNameW/SHBrowseForFolderW which are deprecated by Microsoft
2023-09-03Windows: remove legacy code (XP, Vista). Simplify code since Windows 7 is ↵Mounir IDRASSI1-119/+72
now minimal OS version.
2023-09-03Windows: simpler and more robust safe dll loading combined with delay ↵Mounir IDRASSI1-626/+102
loading thanks to Windows 7 being minimum supported version. We also block execution on Windows versions older than Windows 7. A lot of code was removed thanks to this.
2023-08-13Windows: Implement support for mounting partially encrypted system partitionsMounir IDRASSI1-0/+11
For now, we force ReadOnly mounting for such partitions.
2023-08-13Windows: Better way to enable required privileges for FastCreate OptionsMounir IDRASSI1-0/+85
If we can set required privilege, we ask the user using UAC to enable them.
2023-08-10Windows: Fix failure creating Traveler Disk caused by outdated hardcoded ↵Mounir IDRASSI1-10/+10
value of MS certificate We also rename the variables gpbSha256CodeSignCertFingerprint and gpbSha256MSCodeSignCertFingerprint to gpbSha512CodeSignCertFingerprint and gpbSha512MSCodeSignCertFingerprint respectively to reflect the fact that they are actually SHA512 hash values and not SHA256 ones.
2023-08-05Windows: Fix false positive detection of new device insertion when clear ↵Mounir IDRASSI1-0/+32
keys option is enable When this option is enabled, we first build the list of currently inserted devices then we start listening to insertion events. When a device insertion occurs, we check if this device is on our list and if yes, we ignore its insertion. We also ignore devices whose Device ID starts with "SWD\" and "ROOT\" since these are not real devices.
2023-07-24Linux/macOS: Remove TrueCrypt supportMounir IDRASSI1-5/+0
2023-07-22Windows: Remove TrueCrypt support. Increment version to 1.26.4.Mounir IDRASSI1-31/+8
2023-07-18Windows: Fix compiler warningsMounir IDRASSI1-2/+1
2023-07-17Windows: Fix buffer overrun caused by bug in UpperCaseCopy functionMounir IDRASSI1-3/+3
2023-07-15Windows: enhance secure desktop handling to try to workaround Windows 11 issueMounir IDRASSI1-30/+49
Several enhancements implemented: - replace CreateThread by _beginthreadex to avoid potential issues when using C runtime - use an event to notify monitoring thread to stop instead of a volatile boolean - perform switch to the regular desktop in the main thread and not in the secure desktop thread
2023-07-02Windows: Fix regression when creating multiple keyfiles with a fixed sizeMounir IDRASSI1-3/+2
2023-07-01Windows: fix compilation warningsMounir IDRASSI1-3/+3
2023-06-29EMV keyfile support: Overall code improvements and bug fixesMounir IDRASSI1-5/+9
2023-06-28Add EMV functionality (#1080)mmauv1-25/+33
* Add basic strcture needed for EMV implementation * Add demo EMV functionality with C code pasted in a very dirty and unsafe way. NOT FINAL * Refactor IccExtractor Structure * Fix Makefile * fix include file * move global variables from h to c * revert to memcpy * fix icc data recovery functions * Add EMV functionalities on windows * Make EMVToken structures like SecurityToken * Define constants instead of hard coded values * Token structures created with inheritance * refactor TokenKeyfile to use inherit. + polymor. * add Token.h + Token.cpp in modules in VS2010 * Add a comment at each use of SecurityToken class or objects * SecurityTokenKeyfilesDialog preparation * Implemennt GetAvailableTokens in Token class on windows * merge * up (patching for Windows) * foreach Token.cpp corrected * Display EMV keyfiles on first window in graphic interface * Add token to Windows UI * EMVToken selection on OKButton on Linux * Keyfile.cpp optimization * Move getKeyfileData in the token class * EMV::Token GetAvailableKeyfiles() base * Move getKeyfileData in the token class on unix * Remove test comments * Warnings resolved * RemoveeSecurityTokenLibraryNotInitialized exception if at least one emv token is detected * Adding new files * Remove old files and add the new version to the windows project * Change make_shared to shared_ptr constructor * IccExtractor integration working on linux * Throwing card not EMV execption * catch error when not EMV type in EMVToken::GetAvailableKeyfiles * Change types to compile on windows * list all keyfiles, security keyfiles and emv keyfiles in command line * Change type to be coherent and remove old todo comments * Remove todo comments * Change indentation and resolve a bug from previous commit * Use polymorphism for GetKeyfileData and add export option for EMVTokens on Linux * Linux : Allow to export EMV Tokens in command lines, Windows : Disable the delete button when EMV Keyfiles are selected * Remove SlotId from TokenInfo as it is already in Token * Correct errors on Linux * Disable delete option if one EMV Token is selected on Linux * Fix bug enabling delete button if nothing is selected * emv data used as reference then burnt * use of normal files in linux corrected * help updated * help updated for export functionnality * option EMV added to graphic interface but not yet working * Bug fix : Allow to use multiple EMV on windows * EMV Option added to UserPreferences * EMV Option working for Linux * EMV option added to Windows (not working yet) * [NOT TESTED] EMV option for Windows * Working EMV option on Windows * EMV Option for data extraction working for volume creation * EMV Option for data extraction working for Mount * EMV Option for data extraction working for mounting favorites volumes * EMV Option for extraction working for Changing volume password, Set Derivation Key Algorithm and Add or remove keyfile from volume * Windows : re-checking EMV Option when getting data * Removing error catches in the IccDataExtractor classe (It only throws error now). Changing GetPan signature to resemble the other functions signatures more * Changing EMV errors - Only throwing ICCExtractionException from outside of the ICC module. - Catching all TLVExceptions and PCSCExceptions to throw the right ICCExtractionException - Deleting APDU exceptions. * First version of the documentation * Adding function pointers for winscard library (but it crashes VeraCrypt) * Debugging function pointers * The import of the library on windows work as expected now * Reverting EMVToken.cpp changes used to test to library import * Searching for the System32 path instead of hard codding it * Fixing the bug were VeraCrypt crashes if there is no readers when "add Token files" is clicked * Winscard library not initialized in object constructor anymore to delay it after EMVOption check * Remove winscard lib from windows dependencies * Properly displaying errors * Adding a dot in Language.xml * Catching TLVException * Removing unused code * Remove unusefull comments * Trying to fix 0x1f error * Update IccDataExtractor.cpp * Delete History.xml * Fix get data without get pan * Cleanup code * changes for linux compilation but linking not working * error handling for linux * erasing emv data * Burn PAN * Burn PAN from memory * Uncomment selfcheck before merging master * burn corrected * EMV errors handling for Linux * EMV working for Linux CLI * Doc : Winscard Linux package and VeraCrypt versions --------- Co-authored-by: doriandu45 <d45.poubelle@gmail.com> Co-authored-by: red4game <redemgaiming@gmail.com> Co-authored-by: Brice.Namy <brice.namy@insa-rennes.fr> Co-authored-by: vocthor <pieceo108@gmail.com> Co-authored-by: vocthor <67202139+vocthor@users.noreply.github.com> Co-authored-by: Andrei COCAN <andrei.cocan@insa-rennes.fr> Co-authored-by: AndreiCocan <95496161+AndreiCocan@users.noreply.github.com> Co-authored-by: francoisLEROUX <francois3443@gmail.com>
2023-06-23Windows: Make SetPrivilege return error if AdjustTokenPrivileges cannot ↵Mounir IDRASSI1-2/+5
adjust privileges
2023-06-20Windows: Allow selecting size unit (KB/MB/GB) for generated keyfilesMounir IDRASSI1-17/+56
This change also makes it possible to generate keyfiles larger than 1 MiB although only the first 1 MiB will be taken into account by VeraCrypt. Update strings in XML files
2023-06-06Update copyright on various filesMounir IDRASSI1-3/+3
2023-06-02Windows: Add dropdown menu to Mount button to allow mounting without cacheMounir IDRASSI1-1/+1
2022-12-11Revert "New sys enc wizard (#957)"Mounir IDRASSI1-61/+10
This reverts commit c0ff7a7c521b1d658316d9a177383ab0c403007a.
2022-08-25New sys enc wizard (#957)SysEncWizardPR957Felix Reichmann1-10/+61
* New VeraCrypt interface (for system encryption) with improved usability * System Encryption: translate password to US keyboard layout + improved new interface * Windows: Fix build error following merge * Windows: Remove unused variable * Windows: Add missing string in Language.xml * Windows: fix buffer overrun caused by wrong use of wmemset * Do not delete password file Since the file is only available in \Release\Setup Files\ it would be fully deleted after running this script the first time. * Correct return code Originally the function would have always returned the return-code 1 resulting that the user is not able to change the location for the rescue zip. * Added hint for sysenc Added a hint why the field for repeating the password is initially greyed out within the system encryption. * Corrected spelling mistake Corrected spelling mistake * Removed not working copy job The file to be copied was stored at the source location. Therefore the copyjob will not work. Instead the file is already in the target folder. * Removed RIPEMD-160 from Product64.wxs See commit from 21.03.2022 * Added german translation for new interface * Fixed PIM bug * Corrected translation file based on the guidelines within the pull request * Fixing merge conflicts * Fixed Compiling issues. Reverted keyboard translation * Removed artifacts of password translation * Corrected language.xml * Fixed order within german language file * Corrected positions Co-authored-by: Bruna2803 <bruna.radeljak@hotmail.com> Co-authored-by: felixreichmann <30237956+felixreichmann@users.noreply.github.com> Co-authored-by: Mounir IDRASSI <mounir.idrassi@idrix.fr>
2022-08-25Minor bugfixes (#950)Wendigo1-5/+11
* Update Dlgcode.c minor bugfixes * GlobalMemoryStatus x64 bugfix GlobalMemoryStatus deprecated in x64
2022-03-26Windows: Add various checks to address Coverity reported issues.Mounir IDRASSI1-3/+7