VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Main/GraphicUserInterface.cpp
AgeCommit message (Collapse)AuthorFilesLines
2024-09-17Add Option to Enable/Disable Screen Capture (#1418)Deniz Türkoglu1-0/+8
Veracrypt currently appears in screenshots and screen captures, which can unintentionally expose sensitive information, such as the fact that Veracrypt is running or the location of your volumes. Both Windows and macOS offer mechanisms to exclude specific windows from being captured. While not foolproof, this is a useful preventative measure. The method is a no-op for Linux/FreeBSD. For more details on the wxWidgets API, see: https://docs.wxwidgets.org/3.2/classwx_top_level_window.html#a337b9cec62b0cbd3b1b1545a83270f64
2024-08-02Implement detection of volumes with vulnerable XTS master key.Mounir IDRASSI1-0/+22
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-07-13Linux: fix linker type confusion that was causing crash.Mounir IDRASSI1-27/+27
The class AdminPasswordRequestHandler was defined in several places in the same namespace and the linker was picking up one definition for constructor and the other one when calling virtual method. Now we use different named for different implementations.
2024-07-10Linux: fix typoMounir IDRASSI1-1/+1
2024-07-10Linux: fix crash when displaying Admin password dialog. Fix failure of ↵Mounir IDRASSI1-27/+26
Github action by using builtin GITHUB_TOKEN
2024-06-30Linux: Make the C++ code compatible with old compilers (g++ 4.4.7 on CentOS 6)Mounir IDRASSI1-26/+27
2024-06-12Avoid conflict with C++17 features std::byte by using uint8 type instead of byteMounir IDRASSI1-1/+1
2023-07-24Linux/macOS: Remove TrueCrypt supportMounir IDRASSI1-6/+3
2023-06-29EMV keyfile support: Overall code improvements and bug fixesMounir IDRASSI1-9/+9
2023-06-28Add EMV functionality (#1080)mmauv1-7/+20
* 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-05-19wxWidget assert failure bug (#999)Es1-1/+8
* Removal of any of the any of `wxALIGN_RIGHT`/`wxALIGN_CENTRE_HORIZONTAL`/`wxALIGN_BOTTOM`/`wxALIGN_CENTRE_VERTICAL` when used in conjunction with `wxEXPAND` wxWidget has an "assert" that gets triggered anytime `wxEXPAND` gets used with an alignment property (useless override). This leads to a popup backtrace everytime a non-compliant widget is opened. * Removal of missed `wxALIGN_RIGHT`/`wxALIGN_CENTRE_HORIZONTAL`/`wxALIGN_BOTTOM`/`wxALIGN_CENTRE_VERTICAL` when used in conjunction with `wxEXPAND` * Removed property 'label' for wxMenuBar as no longer used (wxFormBuilder) * Removed redundant 'wxALIGN_RIGHT' for the "OK" button in the preference panel (there is a spacer already in-place that pushes the buttons to the right) * Removed redundant 'wxALIGN_RIGHT' for items in the wizard panel's (`WizardFrameBase`) button bar and added width spacing for the 2 spacers between the buttons to make up for the change. * Changed constructor signature for the `WizardPage` and all subclasses The addition of the wxString 'name' arg brings it inline with the new wxFromBuilder v3.10.1 output so that editing+generating the forms from it won't brake the build now. * Removed remaining redundant 'wxALIGN_*' that were paired with 'wxEXPAND'. * Added missing default flags to wxFileName::Normalize(..) method The old empty initialization which was fine up to v2.8.12 of wxWidget gives off a compile warning. Since the default `wxPATH_NORM_ALL` is now depreciated (v3.x) the equivalent individual flags must be explicitly given. * Changed spaces to tabs to bring last commit inline with the rest of the src code
2021-09-04Minor cleanup of the repo (#822)a13460541-0/+0
* *: source files should not be executable * *: make sure files have final newline * *: remove BOM from text files * translations: unify headers * *: fix typos * *: trim excess whitespace
2021-08-21Fix typo in GraphicUserInterface.cppMounir IDRASSI1-1/+1
2021-08-16Add compile-time toggleable support for application indicators, off by ↵Unit 1931-0/+4
default. (#815) This tries to figure out, via wx-config, if you're using GTK2 or GTK3 and uses the associated Ayatana library.
2020-12-11new xml Tag for en and de (#708)T-Bonhagen1-10/+11
* new xml Tag for en and de * add linux support for env LANG * precopiled header into TrueCrypt.fdp to substitute '_()' with 'LangString[]' * more LangString in Code * add Language xml's to Linux Setup location * backup language for linux is en * remove Language.en.xml install * rearange new xml lines to end * yes/no dialogs now translated * All OK/Cancel Button now support international Co-authored-by: tb@tbon.de <tb@tbon.de>
2020-06-11Switch from auto_ptr to unique_ptr (#638)Christopher Bergqvist1-5/+5
2019-10-06Linux/FreeBSD: change location of documentation from ↵Mounir IDRASSI1-1/+1
/usr/share/veracrypt/doc to the standard /usr/share/doc/veracrypt
2018-08-10Linux/MacOSX/FreeBSD: When performing backup of volume header, automatically ↵Mounir IDRASSI1-1/+36
try to use embedded backup header if using the main header fails.
2018-04-29MacOSX: support pasting values to password fields using keyboard (CMD+V and ↵Mounir IDRASSI1-0/+42
CMD+A now working properly). This make using password managers with VeraCrypt easier.
2018-04-05FreeBSD/Linux/OSX: replace some remaining TrueCrypt.tc file extension in the ↵Mounir IDRASSI1-1/+1
code by VeraCrypt .hc extension
2018-01-21Fix wxWidgets assertion failed when backing up/restoring volume header ↵gv54701-2/+2
(closes #100)
2017-12-08MacOSX: fix issue that prevented some local help files from opening in the ↵Mounir IDRASSI1-2/+6
browser (e.g Beginner's Tutorial).
2017-12-06Linux/MacOSX: Avoid OS leaking previously used directory if user choose not ↵Mounir IDRASSI1-2/+12
to save history.
2017-06-23Update IDRIX copyright yearMounir IDRASSI1-1/+1
2017-06-05Linux/MacOSX: cleaner code for handling of missing local HTML documentation.Mounir IDRASSI1-7/+8
2017-06-05Linux/MacOSX: Replace User Guide PDF with local HTML documentation. Replace ↵Mounir IDRASSI1-48/+49
UI links to point towards local HTML documentation if it exists
2017-05-15Replace Codeplex links by ones on veracrypt.frMounir IDRASSI1-31/+43
2016-12-30Update donation link to point to page indicating all accepted donations options.Mounir IDRASSI1-1/+1
2016-10-17Linux/MacOSX: correctly display Kuznyechik help page when link clicked. ↵Mounir IDRASSI1-5/+1
Remove Gost89 online help references since it was removed.
2016-08-15Linux/MacOSX: Add help text for GOST89 and KuznyechikMounir IDRASSI1-6/+14
2016-06-02Crypto: Add support for Japanese encryption standard Camellia, including for ↵Mounir IDRASSI1-0/+4
system encryption.
2016-05-29Linux/MacOSX: Implement passing smart card PIN as command line argument ↵Mounir IDRASSI1-0/+15
(--token-pin switch)
2016-05-13Linux: Fix gcc-6 compilation errors.Mounir IDRASSI1-1/+1
2016-05-10Remove trailing whitespaceDavid Foerster1-65/+65
2016-01-25Linux/MacOSX: remove unecessary XML resource string replacement of %hs, not ↵Mounir IDRASSI1-2/+0
needed since Unicode rewrite.
2016-01-20Copyright: update dates to include 2016.Mounir IDRASSI1-1/+1
2015-08-06Update license information to reflect the use of a dual license Apache 2.0 ↵Mounir IDRASSI1-5/+9
and TrueCrypt 3.0.
2015-07-11Linux: Solve compilation warning (unused variables, pointer cast)Mounir IDRASSI1-3/+0
2015-06-24Linux: if a keyfile is specified in the command line without a password, ↵Mounir IDRASSI1-1/+1
don't try to mount using an empty password unless its TrueCryptMode or an empty password has been explicitly specified.
2015-06-24Linux/MacOSX: restore normal file mode to some source filesMounir IDRASSI1-0/+0
2015-06-24Linux/MacOSX: first dynamic mode implementationMounir IDRASSI1-6/+10
2015-04-06MacOSX: Correctly handle OSX dock "reopen-application" event and Cocoa ↵Mounir IDRASSI1-3/+13
openFiles message instead of the deprecated Carbon "open-document" event
2015-02-08Linux: solve rare issue where VeraCrypt wrongly reports that another ↵Mounir IDRASSI1-3/+21
instance is already running. That happens when VeraCrypt doesn't close cleanly upon shutdown/reboot and on the next startup another process is running with the same PID as VeraCrypt before shutdow/reboot.
2014-12-30Linux/MacOSX: code refactoring and cleanup.Mounir IDRASSI1-27/+24
2014-12-30Linux/MacOSX: Implement TrueCrypt conversion and loading support. Correct ↵Mounir IDRASSI1-21/+57
many GTK issues linked to multi-threaded origine of events by implementing an automatic mechanism for handling such requests in the main thread.
2014-12-26Linux/MacOSX: Implement waiting dialog for lengthy operations in order to ↵Mounir IDRASSI1-8/+49
have a better user experience.
2014-12-20Linux/MacOSX: remove calls to non existent class VolumeLayoutV1HiddenMounir IDRASSI1-1/+1
2014-12-20Reduce time for reporting wrong password by removing support for legacy ↵Mounir IDRASSI1-2/+2
hidden format because it was never functional and it was superseded by current hidden format.
2014-12-19Linux/MacOSX: Enhance performance by implementing the possibility to choose ↵Mounir IDRASSI1-1/+5
the correct hash algorithm of volumes during various operations (mount, change password...), both using the GUI and the command line.
2014-12-11Linux/macOSX: always display random gathering dialog/interface before ↵Mounir IDRASSI1-0/+7
performing sensitive operations that needs good quality random.