Age | Commit message (Collapse) | Author | Files | Lines |
|
Reported on https://sourceforge.net/p/veracrypt/discussion/technical/thread/90f967e642
reference: https://grsecurity.net/toolchain_necromancy_past_mistakes_haunting_aslr
script to check: https://github.com/opensrcsec/paxtest/blob/master/contrib/check_align.sh
|
|
Full Xcode application which can take up-to 40GB of disk space is not
necessary for building VeraCrypt, rather the CommandLineTools for XCode
are sufficient which only take few gigabytes. Instead of hardcoding the SDK
location, use xcrun --show-sdk-path to support also the CommandLineTools
instance.
The reason for switching the logic for the XCode version is because the
xcodebuild will not report a correct XCode version for the CommandLineTools,
thus it can't be relied for whether to use the -Wl,-ld_classic flags.
Instead, we can just check the ld version in use in the active developer
directory, and see whether we are using dyld (the new) or ld64 (the old).
|
|
makefile argument.
|
|
|
|
The build script build_veracrypt_macosx.h now accepts the argument -f to enable fuse-t support.
It is also possible to set the environment variable VC_OSX_FUSET to 1 for FUSE-T support.
A change was done in CoreUnix::GetMountedVolumes to add a waiting loop for control file to be accessible because when using FUSE-T there always a delay before control file can be serialized.
|
|
release
|
|
|
|
|
|
* Add missing macOS requirement for 'make package'
We need packages for the last build step on macOS, update docs
to reflect the requirement.
* Add build instructions using homebrew
On macOS, we can use a package manager to easily install
dependencies. This simplifies onboarding and building Veracrypt.
* Add flag to use homebrew packages
When building, we can use prebuilt wxwidgets from homebrew to
simplify and speed up local building. We also put the package
behind a flag as it's optional during development.
* Skip signing for local builds
When building with homebrew, skip signing. This can be put behind
a flag to enable, if needed.
* Use system yasm on macOS if available
The binary in the repo is not universal (x86_64) and therefore
building fails on arm architecture if Rosetta is not installed.
Use local yasm if available.
* Build local arch only in development
When building via homebrew and locally, build only the local arch
which skips ASM for arm(Mx) for MacOS. This removes the need to
have rosetta installed for building.
* Fix compilation issue when COMPILE_ASM is undefined
Use a conditional check for COMPILE_ASM not being false instead of true.
This avoids passing the variable to other parts of the build script.
* Set SDK 12 as the minimum requirement and target
Align the requirement to SDK 12 in both the makefile and script,
and update the comment to remove confusion.
I chose to leave this on 12 to be on the side of err and support
as many building platforms as possible, when we can support.
The local script now also sets the target using the local sdk
version. This should improve the local development experience.
* Fix wrong architecture for macOS in x86 builds
We now build only the current arch for local development builds
in macOS. This change also fixes the x86 builds failing.
* Add instructions brew backed macOS local builds
Flags to build a local build using homebrew packages are not
default and require parameter -b to build. We also don't build
packages directly, which requires -p.
* Fix wxwidgets not linking in local x86 macOS development builds
* Clarify build location in the document
|
|
|
|
* 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
|
|
* wolfCrypt as crypto backend for VeraCrypt
* Refactor to use EncryptionModeWolfCryptXTS class
|
|
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.
|
|
|
|
This allows to build correctly under CentOS 6 and CentOS 7
|
|
|
|
|
|
* 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>
|
|
libcurl support must be explicitely disabled
GKT2 must be explicitely set as defaut in VeraCrypt Makefile since
wxWidgets 3.2.2.1 uses GKT3 as default
|
|
Changes to be able to build latest wxWidgets stable 3.2.2.1.
Removed in 3.1.5, needs to be removed.
--disable-webkit
Added in 3.1.0, needs to be added.
--disable-addremovectrl
|
|
algorithms RIPEMD-160 and GOST89.
|
|
variable DISABLE_AESNI to 1 during build or passing NOAESNI=1 to make command
This comes following Github issue #892 and which should be solved thanks to this.
|
|
* *: 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
|
|
default. (#815)
This tries to figure out, via wx-config, if you're using GTK2 or GTK3
and uses the associated Ayatana library.
|
|
|
|
This fixes compilation issues when using GNU GCC >=11 where parameter -std=gnu++17 is used by default. Resolves #802
|
|
* OpenBSD: add basic support
modified: Build/Include/Makefile.inc
modified: Driver/Fuse/FuseService.cpp
modified: Main/FatalErrorHandler.cpp
modified: Makefile
modified: Platform/Unix/File.cpp
modified: Platform/Unix/FilesystemPath.cpp
modified: Platform/Unix/SystemInfo.cpp
* OpenBSD: some necessary files were missing
new file: Core/Unix/OpenBSD/CoreOpenBSD.cpp
new file: Core/Unix/OpenBSD/CoreOpenBSD.h
new file: Core/Unix/OpenBSD/System.h
|
|
* Added Translations/Language.he.xml
* translate
* changes
* changes
* changes
* changes
* changes
* changes
* changes
* fixed RTL points
* changes
* Removed hebrew string vowels
* changes
* Changed Makefile path
* changes
* changes
* fixed strings with variables
|
|
The Makefile should respect the value of CC even when performing
build-related tests.
Bug: https://bugs.gentoo.org/756787
|
|
|
|
* Revert "Linux: Fix failure to run VeraCrypt binary built for console mode on headless machines (fix issue https://github.com/veracrypt/VeraCrypt/issues/531)"
The build failure still exists for system wxGTK compiled with '--disable-gui':
```
In file included from TextUserInterface.cpp:27:
TextUserInterface.h: In member function ‘virtual bool VeraCrypt::TextUserInterface::Initialize(int&, wxChar**)’:
TextUserInterface.h:50:63: error: ‘wxAppBase’ has not been declared
50 | virtual bool Initialize (int &argc, wxChar **argv) { return wxAppBase::Initialize(argc, argv); }
```
This reverts commit 737e1f126b8826ed02418266e590e195aebdd7c0.
* Revert "Linux: fix compilation error when building console-only version of VeraCrypt that is statically linked to wxWidgets"
The build failure still exists for system wxGTK compiled with '--disable-gui':
```
In file included from TextUserInterface.cpp:27:
TextUserInterface.h: In member function ‘virtual bool VeraCrypt::TextUserInterface::Initialize(int&, wxChar**)’:
TextUserInterface.h:50:63: error: ‘wxAppBase’ has not been declared
50 | virtual bool Initialize (int &argc, wxChar **argv) { return wxAppBase::Initialize(argc, argv); }
```
This reverts commit 14bee5e6a227701e78c5fec04064c0494f6361f0.
* src/Main/Main.make: simplify the WX_CONFIG_LIBS logic
Irrespective of whether we are linking against widgets statically or
dynamically, pull in only 'base' when GUI is disabled, and
'adv,core,base' when GUI is enabled. When GUI is disabled, the C/CXX
flag must include '-DwxUSE_GUI=0' for this to work.
* src/Makefile: pass '-DwxUSE_GUI=0' when NOGUI=1
veracrypt with NOGUI=1 fails to properly link against wxGTK compiled
with '--disable-gui' only using the 'base' library because the wx's
setup.h implicitly defines wxUSE_GUI=1, which then changes the
definition of various structures, requiring symbols from the core
library as well.
For example, wxwidgets include/wx/app.h defines:
#if wxUSE_GUI
class WXDLLIMPEXP_CORE wxAppBase : public wxAppConsole
...
[snip]
...
#else // !GUI
// wxApp is defined in core and we cannot define another one in wxBase,
// so use the preprocessor to allow using wxApp in console programs too
#define wxApp wxAppConsole
#endif // GUI/!GUI
To fix this, pass '-DwxUSE_GUI=0' when compiling veracrypt with
NOGUI=1.
Closes: https://github.com/veracrypt/VeraCrypt/issues/531
|
|
that is statically linked to wxWidgets
|
|
Signed-off-by: alt3r 3go <alt3r.3go@protonmail.com>
|
|
Added new variable 'VC_OSX_SDK' to differentiate between the OSX minimum target and the SDK to use for building.
|
|
3.1.2 for non legacy build targeting OSX 10.9+
|
|
|
|
This can be useful when crossbuilding or building in a chroot where using
uname -m would cause the wrong compiler options.
|
|
don't support SSE2 instructions.
|
|
This patch was provided by Krytarik Raido via unit93
https://github.com/veracrypt/VeraCrypt/issues/198#issuecomment-341453420
|
|
|
|
|
|
code of SHA-512 since it is not compatible with PIE configuration of OSX compiler (absolute addressing used)
|
|
|
|
|
|
install target for local installation.
|
|
Randomization (ASLR).
|
|
|
|
compiler doesn't support GAS syntax
|
|
Slackware build issue.
|
|
|