VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Build/CMakeLists.txt22
-rw-r--r--src/Build/Resources/MacOSX/Info.plist.legacy.xml2
-rw-r--r--src/Build/Resources/MacOSX/Info.plist.xml4
-rwxr-xr-xsrc/Build/build_cmake_deb.sh2
-rw-r--r--src/Build/build_cmake_opensuse.sh16
-rw-r--r--src/Build/build_cmake_rpm.sh (renamed from src/Build/build_cmake_rpm_gtk2.sh)16
-rw-r--r--src/Build/build_cmake_rpm_gtk3.sh75
-rwxr-xr-xsrc/Build/build_veracrypt_freebsd.sh6
-rwxr-xr-xsrc/Build/build_veracrypt_linux.sh6
-rw-r--r--src/Build/build_veracrypt_linux_gtk3.sh47
-rwxr-xr-xsrc/Build/build_veracrypt_linux_no_sse2.sh6
-rwxr-xr-xsrc/Build/build_veracrypt_macosx.sh12
-rw-r--r--src/COMReg/COMReg.rc8
-rw-r--r--src/Common/Dlgcode.c4
-rw-r--r--src/Common/SCard.cpp2
-rw-r--r--src/Common/SCardLoader.cpp4
-rw-r--r--src/Common/SCardLoader.h9
-rw-r--r--src/Common/SCardReader.cpp4
-rw-r--r--src/Common/TLVParser.cpp8
-rw-r--r--src/Common/Tcdefs.h8
-rw-r--r--src/Core/Unix/CoreUnix.cpp42
-rw-r--r--src/Core/Unix/MacOSX/CoreMacOSX.cpp3
-rw-r--r--src/Driver/Fuse/Driver.make2
-rw-r--r--src/Driver/Fuse/FuseService.h2
-rw-r--r--src/ExpandVolume/ExpandVolume.rc8
-rw-r--r--src/Format/Format.rc8
-rw-r--r--src/LICENSE2
-rw-r--r--src/Main/Forms/AboutDialog.cpp10
-rw-r--r--src/Main/Forms/PreferencesDialog.cpp53
-rw-r--r--src/Main/Forms/PreferencesDialog.h45
-rw-r--r--src/Main/Forms/VolumeCreationWizard.cpp25
-rw-r--r--src/Main/Forms/WaitDialog.h4
-rw-r--r--src/Main/GraphicUserInterface.cpp53
-rwxr-xr-xsrc/Main/Main.make18
-rw-r--r--src/Main/StringFormatter.h5
-rw-r--r--src/Main/TextUserInterface.cpp41
-rw-r--r--src/Main/TextUserInterface.h2
-rw-r--r--src/Main/UserInterface.cpp17
-rw-r--r--src/Makefile70
-rw-r--r--src/Mount/Mount.rc8
-rw-r--r--src/NOTICE2
-rw-r--r--src/Readme.txt4
-rw-r--r--src/Release/Setup Files/Product64.wxs4
-rw-r--r--src/Setup/MacOSX/VeraCrypt.entitlements.plist8
-rwxr-xr-xsrc/Setup/MacOSX/notarize.sh140
-rwxr-xr-xsrc/Setup/MacOSX/postinstall_fuse-t.sh5
-rwxr-xr-xsrc/Setup/MacOSX/veracrypt.pkgproj4
-rwxr-xr-xsrc/Setup/MacOSX/veracrypt_Legacy.pkgproj2
-rwxr-xr-xsrc/Setup/MacOSX/veracrypt_fuse-t.pkgproj1044
-rw-r--r--src/Setup/Portable.rc8
-rw-r--r--src/Setup/Setup.rc8
-rw-r--r--src/SetupDLL/Setup.rc8
-rw-r--r--src/Signing/sign.bat4
-rw-r--r--src/Signing/sign_TESTSIGNING.bat4
-rw-r--r--src/Signing/sign_test.bat4
-rw-r--r--src/Signing/sign_test_debug.bat4
56 files changed, 1545 insertions, 387 deletions
diff --git a/src/Build/CMakeLists.txt b/src/Build/CMakeLists.txt
index 9da138ab..345db88b 100644
--- a/src/Build/CMakeLists.txt
+++ b/src/Build/CMakeLists.txt
@@ -11,8 +11,8 @@ elseif ( NOT DEFINED NOGUI )
endif()
# - Set version of the package
-set( FULL_VERSION "1.26.10" )
-set( VERSION "1.26.10" )
+set( FULL_VERSION "1.26.12" )
+set( VERSION "1.26.12" )
set( RELEASE "1" )
# - Set PROJECT_NAME and CONFLICT_PACKAGE values
@@ -318,17 +318,13 @@ elseif ( ( PLATFORM STREQUAL "CentOS" ) OR ( PLATFORM STREQUAL "openSUSE" ) )
if (NOGUI)
set( CPACK_RPM_PACKAGE_REQUIRES "fuse, device-mapper, sudo" )
else ()
- if ( PLATFORM STREQUAL "CentOS" )
-
- if ( DEFINED WITHGTK3 AND WITHGTK3 )
- set( CPACK_RPM_PACKAGE_REQUIRES "fuse, device-mapper, gtk3, sudo, pcsc-lite" )
- else ()
- set( CPACK_RPM_PACKAGE_REQUIRES "fuse, device-mapper, gtk2, sudo, pcsc-lite" )
- endif()
-
- elseif ( PLATFORM STREQUAL "openSUSE" )
-
- set( CPACK_RPM_PACKAGE_REQUIRES "fuse, device-mapper, gtk2, sudo, pcsc-lite" )
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(GTK3 gtk+-3.0)
+
+ if(GTK3_FOUND)
+ set( CPACK_RPM_PACKAGE_REQUIRES "fuse, device-mapper, gtk3, sudo, pcsc-lite" )
+ else()
+ set( CPACK_RPM_PACKAGE_REQUIRES "fuse, device-mapper, gtk2, sudo, pcsc-lite" )
endif()
endif()
diff --git a/src/Build/Resources/MacOSX/Info.plist.legacy.xml b/src/Build/Resources/MacOSX/Info.plist.legacy.xml
index 6b86f9f5..5b9ced6e 100644
--- a/src/Build/Resources/MacOSX/Info.plist.legacy.xml
+++ b/src/Build/Resources/MacOSX/Info.plist.legacy.xml
@@ -74,7 +74,7 @@
<string>TRUE</string>
<key>CFBundleVersion</key>
- <string>1.26.10</string>
+ <string>_VERSION_</string>
<key>CFBundleShortVersionString</key>
<string>_VERSION_</string>
diff --git a/src/Build/Resources/MacOSX/Info.plist.xml b/src/Build/Resources/MacOSX/Info.plist.xml
index 1a12d6bf..04ed21c1 100644
--- a/src/Build/Resources/MacOSX/Info.plist.xml
+++ b/src/Build/Resources/MacOSX/Info.plist.xml
@@ -74,7 +74,7 @@
<string>TRUE</string>
<key>CFBundleVersion</key>
- <string>1.26.10</string>
+ <string>_VERSION_</string>
<key>CFBundleShortVersionString</key>
<string>_VERSION_</string>
@@ -83,7 +83,7 @@
<string>VeraCrypt _VERSION_</string>
<key>LSMinimumSystemVersion</key>
- <string>10.9.0</string>
+ <string>12.0.0</string>
<key>LSRequiresCarbon</key>
<false/>
diff --git a/src/Build/build_cmake_deb.sh b/src/Build/build_cmake_deb.sh
index f756cd10..17103a61 100755
--- a/src/Build/build_cmake_deb.sh
+++ b/src/Build/build_cmake_deb.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (c) 2013-2022 IDRIX
+# Copyright (c) 2013-2024 IDRIX
# Governed by the Apache License 2.0 the full text of which is contained
# in the file License.txt included in VeraCrypt binary and source
# code distribution packages.
diff --git a/src/Build/build_cmake_opensuse.sh b/src/Build/build_cmake_opensuse.sh
index 622eb4cd..52bed78a 100644
--- a/src/Build/build_cmake_opensuse.sh
+++ b/src/Build/build_cmake_opensuse.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (c) 2013-2022 IDRIX
+# Copyright (c) 2013-2024 IDRIX
# Governed by the Apache License 2.0 the full text of which is contained
# in the file License.txt included in VeraCrypt binary and source
# code distribution packages.
@@ -18,8 +18,8 @@ export SOURCEPATH=$(readlink -f "$SCRIPTPATH/..")
# Directory where the VeraCrypt has been checked out
export PARENTDIR=$(readlink -f "$SCRIPTPATH/../../..")
-# The sources of wxWidgets 3.2.2.1 must be extracted to the parent directory
-export WX_ROOT=$PARENTDIR/wxWidgets-3.2.2.1
+# The sources of wxWidgets 3.2.5 must be extracted to the parent directory
+export WX_ROOT=$PARENTDIR/wxWidgets-3.2.5
echo "Using wxWidgets sources in $WX_ROOT"
cd $SOURCEPATH
@@ -29,7 +29,7 @@ echo "Building GUI version of VeraCrypt for RPM using wxWidgets static libraries
# This will be the temporary wxWidgets directory
export WX_BUILD_DIR=$PARENTDIR/wxBuildGui
-# To build wxWidgets using GTK-2
+# To build wxWidgets using native GTK version
make WXSTATIC=1 wxbuild || exit 1
ln -s $WX_BUILD_DIR/lib $WX_BUILD_DIR/lib64
make WXSTATIC=1 clean || exit 1
@@ -50,7 +50,7 @@ echo "Building console version of VeraCrypt for RPM using wxWidgets static libra
# This will be the temporary wxWidgets directory
export WX_BUILD_DIR=$PARENTDIR/wxBuildConsole
-# To build wxWidgets using GTK-2
+# To build wxWidgets using native GTK version
make WXSTATIC=1 NOGUI=1 wxbuild || exit 1
ln -s $WX_BUILD_DIR/lib $WX_BUILD_DIR/lib64
make WXSTATIC=1 NOGUI=1 clean || exit 1
@@ -70,8 +70,8 @@ echo "Creating VeraCrypt RPM packages "
mkdir -p $PARENTDIR/VeraCrypt_Packaging/GUI
mkdir -p $PARENTDIR/VeraCrypt_Packaging/Console
-# wxWidgets was built using GTK-2
-cmake -H$SCRIPTPATH -B$PARENTDIR/VeraCrypt_Packaging/GUI -DVERACRYPT_BUILD_DIR="$PARENTDIR/VeraCrypt_Setup/GUI" -DWITHGTK3=FALSE -DNOGUI=FALSE || exit 1
+# wxWidgets was built using native GTK version
+cmake -H$SCRIPTPATH -B$PARENTDIR/VeraCrypt_Packaging/GUI -DVERACRYPT_BUILD_DIR="$PARENTDIR/VeraCrypt_Setup/GUI" -DNOGUI=FALSE || exit 1
cpack --config $PARENTDIR/VeraCrypt_Packaging/GUI/CPackConfig.cmake || exit 1
-cmake -H$SCRIPTPATH -B$PARENTDIR/VeraCrypt_Packaging/Console -DVERACRYPT_BUILD_DIR="$PARENTDIR/VeraCrypt_Setup/Console" -DWITHGTK3=FALSE -DNOGUI=TRUE || exit 1
+cmake -H$SCRIPTPATH -B$PARENTDIR/VeraCrypt_Packaging/Console -DVERACRYPT_BUILD_DIR="$PARENTDIR/VeraCrypt_Setup/Console" -DNOGUI=TRUE || exit 1
cpack --config $PARENTDIR/VeraCrypt_Packaging/Console/CPackConfig.cmake|| exit 1
diff --git a/src/Build/build_cmake_rpm_gtk2.sh b/src/Build/build_cmake_rpm.sh
index 3f33cc1c..938bf40f 100644
--- a/src/Build/build_cmake_rpm_gtk2.sh
+++ b/src/Build/build_cmake_rpm.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (c) 2013-2022 IDRIX
+# Copyright (c) 2013-2024 IDRIX
# Governed by the Apache License 2.0 the full text of which is contained
# in the file License.txt included in VeraCrypt binary and source
# code distribution packages.
@@ -18,8 +18,8 @@ export SOURCEPATH=$(readlink -f "$SCRIPTPATH/..")
# Directory where the VeraCrypt has been checked out
export PARENTDIR=$(readlink -f "$SCRIPTPATH/../../..")
-# The sources of wxWidgets 3.2.2.1 must be extracted to the parent directory
-export WX_ROOT=$PARENTDIR/wxWidgets-3.2.2.1
+# The sources of wxWidgets 3.2.5 must be extracted to the parent directory
+export WX_ROOT=$PARENTDIR/wxWidgets-3.2.5
echo "Using wxWidgets sources in $WX_ROOT"
cd $SOURCEPATH
@@ -29,7 +29,7 @@ echo "Building GUI version of VeraCrypt for RPM using wxWidgets static libraries
# This will be the temporary wxWidgets directory
export WX_BUILD_DIR=$PARENTDIR/wxBuildGui
-# To build wxWidgets using GTK-2
+# To build wxWidgets using native GTK version
make WXSTATIC=1 wxbuild || exit 1
make WXSTATIC=1 clean || exit 1
make WXSTATIC=1 || exit 1
@@ -49,7 +49,7 @@ echo "Building console version of VeraCrypt for RPM using wxWidgets static libra
# This will be the temporary wxWidgets directory
export WX_BUILD_DIR=$PARENTDIR/wxBuildConsole
-# To build wxWidgets using GTK-2
+# To build wxWidgets using native GTK version
make WXSTATIC=1 NOGUI=1 wxbuild || exit 1
make WXSTATIC=1 NOGUI=1 clean || exit 1
make WXSTATIC=1 NOGUI=1 || exit 1
@@ -68,8 +68,8 @@ echo "Creating VeraCrypt RPM packages "
mkdir -p $PARENTDIR/VeraCrypt_Packaging/GUI
mkdir -p $PARENTDIR/VeraCrypt_Packaging/Console
-# wxWidgets was built using GTK-2
-cmake -H$SCRIPTPATH -B$PARENTDIR/VeraCrypt_Packaging/GUI -DVERACRYPT_BUILD_DIR="$PARENTDIR/VeraCrypt_Setup/GUI" -DWITHGTK3=FALSE -DNOGUI=FALSE || exit 1
+# wxWidgets was built using native GTK version
+cmake -H$SCRIPTPATH -B$PARENTDIR/VeraCrypt_Packaging/GUI -DVERACRYPT_BUILD_DIR="$PARENTDIR/VeraCrypt_Setup/GUI" -DNOGUI=FALSE || exit 1
cpack --config $PARENTDIR/VeraCrypt_Packaging/GUI/CPackConfig.cmake || exit 1
-cmake -H$SCRIPTPATH -B$PARENTDIR/VeraCrypt_Packaging/Console -DVERACRYPT_BUILD_DIR="$PARENTDIR/VeraCrypt_Setup/Console" -DWITHGTK3=FALSE -DNOGUI=TRUE || exit 1
+cmake -H$SCRIPTPATH -B$PARENTDIR/VeraCrypt_Packaging/Console -DVERACRYPT_BUILD_DIR="$PARENTDIR/VeraCrypt_Setup/Console" -DNOGUI=TRUE || exit 1
cpack --config $PARENTDIR/VeraCrypt_Packaging/Console/CPackConfig.cmake || exit 1
diff --git a/src/Build/build_cmake_rpm_gtk3.sh b/src/Build/build_cmake_rpm_gtk3.sh
deleted file mode 100644
index 72556dcf..00000000
--- a/src/Build/build_cmake_rpm_gtk3.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2013-2022 IDRIX
-# Governed by the Apache License 2.0 the full text of which is contained
-# in the file License.txt included in VeraCrypt binary and source
-# code distribution packages.
-#
-
-# Errors should cause script to exit
-set -e
-
-# Absolute path to this script
-export SCRIPT=$(readlink -f "$0")
-# Absolute path this script is in
-export SCRIPTPATH=$(dirname "$SCRIPT")
-# Source directory which contains the Makefile
-export SOURCEPATH=$(readlink -f "$SCRIPTPATH/..")
-# Directory where the VeraCrypt has been checked out
-export PARENTDIR=$(readlink -f "$SCRIPTPATH/../../..")
-
-# The sources of wxWidgets 3.2.2.1 must be extracted to the parent directory
-export WX_ROOT=$PARENTDIR/wxWidgets-3.2.2.1
-echo "Using wxWidgets sources in $WX_ROOT"
-
-cd $SOURCEPATH
-
-echo "Building GUI version of VeraCrypt for RPM using wxWidgets static libraries"
-
-# This will be the temporary wxWidgets directory
-export WX_BUILD_DIR=$PARENTDIR/wxBuildGui
-
-# To build wxWidgets using GTK-3
-make WXSTATIC=1 WITHGTK3=1 wxbuild || exit 1
-make WXSTATIC=1 clean || exit 1
-make WXSTATIC=1 || exit 1
-make WXSTATIC=1 install DESTDIR="$PARENTDIR/VeraCrypt_Setup/GUI" || exit 1
-
-# Uncomment below and comment lines above to reuse existing wxWidgets build
-# make WXSTATIC=1 clean || exit 1
-# make WXSTATIC=1 || exit 1
-# make WXSTATIC=1 install DESTDIR="$PARENTDIR/VeraCrypt_Setup/GUI" || exit 1
-
-echo "Building console version of VeraCrypt for RPM using wxWidgets static libraries"
-
-# This is to avoid " Error: Unable to initialize GTK+, is DISPLAY set properly?"
-# when building over SSH without X11 Forwarding
-# export DISPLAY=:0.0
-
-# This will be the temporary wxWidgets directory
-export WX_BUILD_DIR=$PARENTDIR/wxBuildConsole
-
-# To build wxWidgets using GTK-3
-make WXSTATIC=1 WITHGTK3=1 NOGUI=1 wxbuild || exit 1
-make WXSTATIC=1 NOGUI=1 clean || exit 1
-make WXSTATIC=1 NOGUI=1 || exit 1
-make WXSTATIC=1 NOGUI=1 install DESTDIR="$PARENTDIR/VeraCrypt_Setup/Console" || exit 1
-
-# Uncomment below and comment lines above to reuse existing wxWidgets build
-# make WXSTATIC=1 NOGUI=1 clean || exit 1
-# make WXSTATIC=1 NOGUI=1 || exit 1
-# make WXSTATIC=1 NOGUI=1 install DESTDIR="$PARENTDIR/VeraCrypt_Setup/Console" || exit 1
-
-echo "Creating VeraCrypt RPM packages "
-
-# -DCPACK_RPM_PACKAGE_DEBUG=TRUE for debugging cpack RPM
-# -DCPACK_RPM_PACKAGE_DEBUG=TRUE for debugging cpack RPM
-
-mkdir -p $PARENTDIR/VeraCrypt_Packaging/GUI
-mkdir -p $PARENTDIR/VeraCrypt_Packaging/Console
-
-# wxWidgets was built using GTK-3
-cmake -H$SCRIPTPATH -B$PARENTDIR/VeraCrypt_Packaging/GUI -DVERACRYPT_BUILD_DIR="$PARENTDIR/VeraCrypt_Setup/GUI" -DWITHGTK3=TRUE -DNOGUI=FALSE || exit 1
-cpack --config $PARENTDIR/VeraCrypt_Packaging/GUI/CPackConfig.cmake || exit 1
-cmake -H$SCRIPTPATH -B$PARENTDIR/VeraCrypt_Packaging/Console -DVERACRYPT_BUILD_DIR="$PARENTDIR/VeraCrypt_Setup/Console" -DWITHGTK3=TRUE -DNOGUI=TRUE || exit 1
-cpack --config $PARENTDIR/VeraCrypt_Packaging/Console/CPackConfig.cmake|| exit 1
diff --git a/src/Build/build_veracrypt_freebsd.sh b/src/Build/build_veracrypt_freebsd.sh
index 176c8499..fe7f1f84 100755
--- a/src/Build/build_veracrypt_freebsd.sh
+++ b/src/Build/build_veracrypt_freebsd.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (c) 2013-2022 IDRIX
+# Copyright (c) 2013-2024 IDRIX
# Governed by the Apache License 2.0 the full text of which is contained
# in the file License.txt included in VeraCrypt binary and source
# code distribution packages.
@@ -21,8 +21,8 @@ if [ "$(id -u)" != "0" ]; then
exit 1
fi
-# the sources of wxWidgets 3.2.2.1 must be extracted to the parent directory
-export WX_ROOT=$PARENTDIR/wxWidgets-3.2.2.1
+# the sources of wxWidgets 3.2.5 must be extracted to the parent directory
+export WX_ROOT=$PARENTDIR/wxWidgets-3.2.5
echo "Using wxWidgets sources in $WX_ROOT"
cd $SOURCEPATH
diff --git a/src/Build/build_veracrypt_linux.sh b/src/Build/build_veracrypt_linux.sh
index fa928556..f8c8c325 100755
--- a/src/Build/build_veracrypt_linux.sh
+++ b/src/Build/build_veracrypt_linux.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2013-2022 IDRIX
+# Copyright (c) 2013-2024 IDRIX
# Governed by the Apache License 2.0 the full text of which is contained
# in the file License.txt included in VeraCrypt binary and source
# code distribution packages.
@@ -20,8 +20,8 @@ if [ "$(id -u)" != "0" ]; then
exit 1
fi
-# the sources of wxWidgets 3.2.2.1 must be extracted to the parent directory
-export WX_ROOT=$PARENTDIR/wxWidgets-3.2.2.1
+# the sources of wxWidgets 3.2.5 must be extracted to the parent directory
+export WX_ROOT=$PARENTDIR/wxWidgets-3.2.5
echo "Using wxWidgets sources in $WX_ROOT"
cd $SOURCEPATH
diff --git a/src/Build/build_veracrypt_linux_gtk3.sh b/src/Build/build_veracrypt_linux_gtk3.sh
deleted file mode 100644
index bae6a856..00000000
--- a/src/Build/build_veracrypt_linux_gtk3.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# Copyright (c) 2013-2022 IDRIX
-# Governed by the Apache License 2.0 the full text of which is contained
-# in the file License.txt included in VeraCrypt binary and source
-# code distribution packages.
-#
-
-# Absolute path to this script
-SCRIPT=$(readlink -f "$0")
-# Absolute path this script is in
-SCRIPTPATH=$(dirname "$SCRIPT")
-# source directory which contains the Makefile
-SOURCEPATH=$(readlink -f "$SCRIPTPATH/..")
-# directory where the VeraCrypt has been checked out
-PARENTDIR=$(readlink -f "$SCRIPTPATH/../../..")
-
-# Make sure only root can run our script
-if [ "$(id -u)" != "0" ]; then
- echo "VeraCrypt must be built by root" 1>&2
- exit 1
-fi
-
-# the sources of wxWidgets 3.2.2.1 must be extracted to the parent directory
-export WX_ROOT=$PARENTDIR/wxWidgets-3.2.2.1
-echo "Using wxWidgets sources in $WX_ROOT"
-
-cd $SOURCEPATH
-
-echo "Building GUI version of VeraCrypt"
-
-# this will be the temporary wxWidgets directory
-export WX_BUILD_DIR=$PARENTDIR/wxBuildGui
-
-make WXSTATIC=1 WITHGTK3=1 wxbuild && make WXSTATIC=1 clean && make WXSTATIC=1 && make WXSTATIC=1 package
-
-# Uncomment below and comment line above to reuse existing wxWidgets build
-#make WXSTATIC=1 clean && make WXSTATIC=1 && make WXSTATIC=1 package
-
-echo "Building console version of VeraCrypt"
-
-# this will be the temporary wxWidgets directory
-export WX_BUILD_DIR=$PARENTDIR/wxBuildConsole
-
-make WXSTATIC=1 WITHGTK3=1 NOGUI=1 wxbuild && make WXSTATIC=1 NOGUI=1 clean && make WXSTATIC=1 NOGUI=1 && make WXSTATIC=1 NOGUI=1 package
-
-# Uncomment below and comment line above to reuse existing wxWidgets build
-#make WXSTATIC=1 NOGUI=1 clean && make WXSTATIC=1 NOGUI=1 && make WXSTATIC=1 NOGUI=1 package
diff --git a/src/Build/build_veracrypt_linux_no_sse2.sh b/src/Build/build_veracrypt_linux_no_sse2.sh
index f68641b9..5f29dc49 100755
--- a/src/Build/build_veracrypt_linux_no_sse2.sh
+++ b/src/Build/build_veracrypt_linux_no_sse2.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2013-2022 IDRIX
+# Copyright (c) 2013-2024 IDRIX
# Governed by the Apache License 2.0 the full text of which is contained
# in the file License.txt included in VeraCrypt binary and source
# code distribution packages.
@@ -20,8 +20,8 @@ if [ "$(id -u)" != "0" ]; then
exit 1
fi
-# the sources of wxWidgets 3.2.2.1 must be extracted to the parent directory
-export WX_ROOT=$PARENTDIR/wxWidgets-3.2.2.1
+# the sources of wxWidgets 3.2.5 must be extracted to the parent directory
+export WX_ROOT=$PARENTDIR/wxWidgets-3.2.5
echo "Using wxWidgets sources in $WX_ROOT"
cd $SOURCEPATH
diff --git a/src/Build/build_veracrypt_macosx.sh b/src/Build/build_veracrypt_macosx.sh
index 687da160..aaaae8b5 100755
--- a/src/Build/build_veracrypt_macosx.sh
+++ b/src/Build/build_veracrypt_macosx.sh
@@ -14,14 +14,24 @@ SOURCEPATH=$(cd "$(dirname "$SCRIPTPATH/../.")"; pwd)
# directory where the VeraCrypt project has been checked out
PARENTDIR=$(cd "$(dirname "$SCRIPTPATH/../../../.")"; pwd)
-while getopts bp flag
+while getopts bpf flag
do
case "${flag}" in
b) brew=true;;
p) package=true;;
+ f) fuset=true;;
esac
done
+export VC_OSX_FUSET=0
+
+if [ -n "$fuset" ]; then
+ echo "Building VeraCrypt with FUSE-T support"
+ VC_OSX_FUSET=1
+else
+ echo "Building VeraCrypt with MacFUSE support"
+fi
+
if [ -n "$brew" ]; then
export VC_OSX_SDK=$(xcrun --show-sdk-version) #use the latest version installed, this might fail
export VC_OSX_TARGET=${VC_OSX_SDK}
diff --git a/src/COMReg/COMReg.rc b/src/COMReg/COMReg.rc
index 0f789fec..858ec629 100644
--- a/src/COMReg/COMReg.rc
+++ b/src/COMReg/COMReg.rc
@@ -27,8 +27,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,26,10,0
- PRODUCTVERSION 1,26,10,0
+ FILEVERSION 1,26,12,0
+ PRODUCTVERSION 1,26,12,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -45,11 +45,11 @@ BEGIN
BEGIN
VALUE "CompanyName", "IDRIX"
VALUE "FileDescription", "VeraCrypt COMReg"
- VALUE "FileVersion", "1.26.10"
+ VALUE "FileVersion", "1.26.12"
VALUE "LegalTrademarks", "VeraCrypt"
VALUE "OriginalFilename", "VeraCrypt COMReg.exe"
VALUE "ProductName", "VeraCrypt"
- VALUE "ProductVersion", "1.26.10"
+ VALUE "ProductVersion", "1.26.12"
END
END
BLOCK "VarFileInfo"
diff --git a/src/Common/Dlgcode.c b/src/Common/Dlgcode.c
index e7103d0d..4ee08bb7 100644
--- a/src/Common/Dlgcode.c
+++ b/src/Common/Dlgcode.c
@@ -2156,7 +2156,7 @@ BOOL CALLBACK AboutDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam
L"Based on TrueCrypt 7.1a, freely available at http://www.truecrypt.org/ .\r\n\r\n"
L"Portions of this software:\r\n"
- L"Copyright \xA9 2013-2023 IDRIX. All rights reserved.\r\n"
+ L"Copyright \xA9 2013-2024 IDRIX. All rights reserved.\r\n"
L"Copyright \xA9 2003-2012 TrueCrypt Developers Association. All Rights Reserved.\r\n"
L"Copyright \xA9 1998-2000 Paul Le Roux. All Rights Reserved.\r\n"
L"Copyright \xA9 1998-2008 Brian Gladman. All Rights Reserved.\r\n"
@@ -2169,7 +2169,7 @@ BOOL CALLBACK AboutDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam
L"Copyright \xA9 1999-2023 Igor Pavlov\r\n\r\n"
L"This software as a whole:\r\n"
- L"Copyright \xA9 2013-2023 IDRIX. All rights reserved.\r\n\r\n"
+ L"Copyright \xA9 2013-2024 IDRIX. All rights reserved.\r\n\r\n"
L"An IDRIX Release");
diff --git a/src/Common/SCard.cpp b/src/Common/SCard.cpp
index 9f8d1145..edd315f6 100644
--- a/src/Common/SCard.cpp
+++ b/src/Common/SCard.cpp
@@ -6,7 +6,7 @@ namespace VeraCrypt
{
SCardManager SCard::manager;
- SCard::SCard() : m_reader(NULL)
+ SCard::SCard()
{
}
diff --git a/src/Common/SCardLoader.cpp b/src/Common/SCardLoader.cpp
index 16026e62..24486002 100644
--- a/src/Common/SCardLoader.cpp
+++ b/src/Common/SCardLoader.cpp
@@ -320,7 +320,7 @@ namespace VeraCrypt
return scardStatus(hCard, mszReaderNames, pcchReaderLen, pdwState, pdwProtocol, pbAtr, pcbAtrLen);
}
- LONG SCardLoader::SCardGetStatusChange(SCARDCONTEXT hContext, DWORD dwTimeout, LPSCARD_READERSTATE rgReaderStates, DWORD cReaders)
+ LONG SCardLoader::SCardGetStatusChange(SCARDCONTEXT hContext, DWORD dwTimeout, SCARD_READERSTATE* rgReaderStates, DWORD cReaders)
{
Initialize();
@@ -399,4 +399,4 @@ namespace VeraCrypt
return scardSetAttrib(hCard, dwAttrId, pbAttr, cbAttrLen);
}
-} \ No newline at end of file
+}
diff --git a/src/Common/SCardLoader.h b/src/Common/SCardLoader.h
index a7243d82..af0758ed 100644
--- a/src/Common/SCardLoader.h
+++ b/src/Common/SCardLoader.h
@@ -13,8 +13,6 @@
#include <PCSC/winscard.h>
#include <PCSC/wintypes.h>
#include "reader.h"
-typedef LPSCARD_READERSTATE_A LPSCARD_READERSTATE;
-using VeraCrypt::uint8;
#define BOOL int
#else
#undef BOOL
@@ -22,7 +20,6 @@ using VeraCrypt::uint8;
#include <winscard.h>
#include <wintypes.h>
#include <reader.h>
-using VeraCrypt::uint8;
#define BOOL int
#endif
#endif
@@ -48,7 +45,7 @@ namespace VeraCrypt
typedef LONG (SCARD_CALL_SPEC *SCardBeginTransactionPtr)(SCARDHANDLE hCard);
typedef LONG (SCARD_CALL_SPEC *SCardEndTransactionPtr)(SCARDHANDLE hCard, DWORD dwDisposition);
typedef LONG (SCARD_CALL_SPEC *SCardStatusPtr)(SCARDHANDLE hCard, LPTSTR mszReaderNames, LPDWORD pcchReaderLen, LPDWORD pdwState, LPDWORD pdwProtocol, BYTE* pbAtr, LPDWORD pcbAtrLen);
- typedef LONG (SCARD_CALL_SPEC *SCardGetStatusChangePtr)(SCARDCONTEXT hContext, DWORD dwTimeout, LPSCARD_READERSTATE rgReaderStates, DWORD cReaders);
+ typedef LONG (SCARD_CALL_SPEC *SCardGetStatusChangePtr)(SCARDCONTEXT hContext, DWORD dwTimeout, SCARD_READERSTATE* rgReaderStates, DWORD cReaders);
typedef LONG (SCARD_CALL_SPEC *SCardControlPtr)(SCARDHANDLE hCard, DWORD dwControlCode, LPCVOID pbSendBuffer, DWORD cbSendLength, LPVOID pbRecvBuffer, DWORD cbRecvLength, LPDWORD lpBytesReturned);
typedef LONG (SCARD_CALL_SPEC *SCardTransmitPtr)(SCARDHANDLE hCard, LPCSCARD_IO_REQUEST pioSendPci, const BYTE* pbSendBuffer, DWORD cbSendLength, LPSCARD_IO_REQUEST pioRecvPci, BYTE* pbRecvBuffer, LPDWORD pcbRecvLength);
typedef LONG (SCARD_CALL_SPEC *SCardListReaderGroupsPtr)(SCARDCONTEXT hContext, LPTSTR mszGroups, LPDWORD pcchGroups);
@@ -111,7 +108,7 @@ namespace VeraCrypt
static LONG SCardBeginTransaction(SCARDHANDLE hCard);
static LONG SCardEndTransaction(SCARDHANDLE hCard, DWORD dwDisposition);
static LONG SCardStatus(SCARDHANDLE hCard, LPTSTR mszReaderNames, LPDWORD pcchReaderLen, LPDWORD pdwState, LPDWORD pdwProtocol, BYTE* pbAtr, LPDWORD pcbAtrLen);
- static LONG SCardGetStatusChange(SCARDCONTEXT hContext, DWORD dwTimeout, LPSCARD_READERSTATE rgReaderStates, DWORD cReaders);
+ static LONG SCardGetStatusChange(SCARDCONTEXT hContext, DWORD dwTimeout, SCARD_READERSTATE* rgReaderStates, DWORD cReaders);
static LONG SCardControl(SCARDHANDLE hCard, DWORD dwControlCode, LPCVOID pbSendBuffer, DWORD cbSendLength, LPVOID pbRecvBuffer, DWORD cbRecvLength, LPDWORD lpBytesReturned);
static LONG SCardTransmit(SCARDHANDLE hCard, LPCSCARD_IO_REQUEST pioSendPci, const BYTE* pbSendBuffer, DWORD cbSendLength, LPSCARD_IO_REQUEST pioRecvPci, BYTE* pbRecvBuffer, LPDWORD pcbRecvLength);
static LONG SCardListReaderGroups(SCARDCONTEXT hContext, LPTSTR mszGroups, LPDWORD pcchGroups);
@@ -122,4 +119,4 @@ namespace VeraCrypt
};
};
-#endif // TC_HEADER_Common_SCardLoader \ No newline at end of file
+#endif // TC_HEADER_Common_SCardLoader
diff --git a/src/Common/SCardReader.cpp b/src/Common/SCardReader.cpp
index de269ce6..6c5f654a 100644
--- a/src/Common/SCardReader.cpp
+++ b/src/Common/SCardReader.cpp
@@ -17,7 +17,7 @@ namespace VeraCrypt
}
else
{
- m_scardLoader = NULL;
+ m_scardLoader.reset();
m_hSCReaderContext = 0;
}
m_hCard = hCard;
@@ -84,7 +84,7 @@ namespace VeraCrypt
void SCardReader::Clear(void)
{
m_szSCReaderName = L"";
- m_scardLoader = NULL;
+ m_scardLoader.reset();
m_hSCReaderContext = 0;
m_hCard = 0;
m_dwProtocol = 0;
diff --git a/src/Common/TLVParser.cpp b/src/Common/TLVParser.cpp
index 1e51739c..5ddf37e5 100644
--- a/src/Common/TLVParser.cpp
+++ b/src/Common/TLVParser.cpp
@@ -169,7 +169,7 @@ namespace VeraCrypt
shared_ptr<TLVNode> TLVParser::TLV_Find(shared_ptr<TLVNode> node, uint16 tag)
{
size_t i = 0;
- shared_ptr<TLVNode> tmpnode = NULL;
+ shared_ptr<TLVNode> tmpnode;
if (node->Tag == tag)
{
return node;
@@ -177,11 +177,11 @@ namespace VeraCrypt
for (i = 0; i < node->Subs->size(); i++)
{
tmpnode = TLV_Find(node->Subs->at(i),tag);
- if (tmpnode != NULL)
+ if (tmpnode)
{
return tmpnode;
}
}
- return NULL;
+ return shared_ptr<TLVNode>();
}
-} \ No newline at end of file
+}
diff --git a/src/Common/Tcdefs.h b/src/Common/Tcdefs.h
index 377ac388..72ef945d 100644
--- a/src/Common/Tcdefs.h
+++ b/src/Common/Tcdefs.h
@@ -59,7 +59,7 @@ extern unsigned short _rotl16(unsigned short value, unsigned char shift);
#define TC_APP_NAME "VeraCrypt"
// Version displayed to user
-#define VERSION_STRING "1.26.10"
+#define VERSION_STRING "1.26.12"
#ifdef VC_EFI_CUSTOM_MODE
#define VERSION_STRING_SUFFIX "-CustomEFI"
@@ -73,9 +73,9 @@ extern unsigned short _rotl16(unsigned short value, unsigned char shift);
#define VERSION_NUM 0x0126
// Release date
-#define TC_STR_RELEASE_DATE L"November 8, 2023"
-#define TC_RELEASE_DATE_YEAR 2023
-#define TC_RELEASE_DATE_MONTH 11
+#define TC_STR_RELEASE_DATE L"June 23, 2024"
+#define TC_RELEASE_DATE_YEAR 2024
+#define TC_RELEASE_DATE_MONTH 6
#define BYTES_PER_KB 1024LL
#define BYTES_PER_MB 1048576LL
diff --git a/src/Core/Unix/CoreUnix.cpp b/src/Core/Unix/CoreUnix.cpp
index 26076a28..1868eb6d 100644
--- a/src/Core/Unix/CoreUnix.cpp
+++ b/src/Core/Unix/CoreUnix.cpp
@@ -303,17 +303,45 @@ namespace VeraCrypt
continue;
shared_ptr <VolumeInfo> mountedVol;
- try
+ // Introduce a retry mechanism with a timeout for control file access
+ // This workaround is limited to FUSE-T mounted volume under macOS for
+ // which md.Device starts with "fuse-t:"
+#ifdef VC_MACOSX_FUSET
+ bool isFuseT = wstring(mf.Device).find(L"fuse-t:") == 0;
+ int controlFileRetries = 10; // 10 retries with 500ms sleep each, total 5 seconds
+ while (!mountedVol && (controlFileRetries-- > 0))
+#endif
{
- shared_ptr <File> controlFile (new File);
- controlFile->Open (string (mf.MountPoint) + FuseService::GetControlPath());
+ try
+ {
+ shared_ptr <File> controlFile (new File);
+ controlFile->Open (string (mf.MountPoint) + FuseService::GetControlPath());
- shared_ptr <Stream> controlFileStream (new FileStream (controlFile));
- mountedVol = Serializable::DeserializeNew <VolumeInfo> (controlFileStream);
+ shared_ptr <Stream> controlFileStream (new FileStream (controlFile));
+ mountedVol = Serializable::DeserializeNew <VolumeInfo> (controlFileStream);
+ }
+ catch (const std::exception& e)
+ {
+#ifdef VC_MACOSX_FUSET
+ // if exception starts with "VeraCrypt::Serializer::ValidateName", then
+ // serialization is not ready yet and we need to wait before retrying
+ // this happens when FUSE-T is used under macOS and if it is the first time
+ // the volume is mounted
+ if (isFuseT && string (e.what()).find ("VeraCrypt::Serializer::ValidateName") != string::npos)
+ {
+ Thread::Sleep(500); // Wait before retrying
+ }
+ else
+ {
+ break; // Control file not found or other error
+ }
+#endif
+ }
}
- catch (...)
+
+ if (!mountedVol)
{
- continue;
+ continue; // Skip to the next mounted filesystem
}
if (!volumePath.IsEmpty() && wstring (mountedVol->Path).compare (volumePath) != 0)
diff --git a/src/Core/Unix/MacOSX/CoreMacOSX.cpp b/src/Core/Unix/MacOSX/CoreMacOSX.cpp
index dde0d949..cfd34072 100644
--- a/src/Core/Unix/MacOSX/CoreMacOSX.cpp
+++ b/src/Core/Unix/MacOSX/CoreMacOSX.cpp
@@ -119,6 +119,7 @@ namespace VeraCrypt
void CoreMacOSX::MountAuxVolumeImage (const DirectoryPath &auxMountPoint, const MountOptions &options) const
{
+#ifndef VC_MACOSX_FUSET
// Check FUSE version
char fuseVersionString[MAXHOSTNAMELEN + 1] = { 0 };
size_t fuseVersionStringLength = MAXHOSTNAMELEN;
@@ -153,7 +154,7 @@ namespace VeraCrypt
if (fuseVersionMajor < 2 || (fuseVersionMajor == 2 && fuseVersionMinor < 5))
throw HigherFuseVersionRequired (SRC_POS);
-
+#endif
// Mount volume image
string volImage = string (auxMountPoint) + FuseService::GetVolumeImagePath();
diff --git a/src/Driver/Fuse/Driver.make b/src/Driver/Fuse/Driver.make
index b3640115..47f3c2cd 100644
--- a/src/Driver/Fuse/Driver.make
+++ b/src/Driver/Fuse/Driver.make
@@ -15,6 +15,6 @@ NAME := Driver
OBJS :=
OBJS += FuseService.o
-CXXFLAGS += $(shell $(PKG_CONFIG) fuse --cflags)
+CXXFLAGS += $(shell $(PKG_CONFIG) $(VC_FUSE_PACKAGE) --cflags)
include $(BUILD_INC)/Makefile.inc
diff --git a/src/Driver/Fuse/FuseService.h b/src/Driver/Fuse/FuseService.h
index 872cb368..d09a40db 100644
--- a/src/Driver/Fuse/FuseService.h
+++ b/src/Driver/Fuse/FuseService.h
@@ -38,7 +38,7 @@ namespace VeraCrypt
VolumeSlotNumber SlotNumber;
};
- friend class ExecFunctor;
+ friend struct ExecFunctor;
public:
static bool AuxDeviceInfoReceived () { return !OpenVolumeInfo.VirtualDevice.IsEmpty(); }
diff --git a/src/ExpandVolume/ExpandVolume.rc b/src/ExpandVolume/ExpandVolume.rc
index a65d738f..2a8a2175 100644
--- a/src/ExpandVolume/ExpandVolume.rc
+++ b/src/ExpandVolume/ExpandVolume.rc
@@ -192,8 +192,8 @@ IDR_MOUNT_RSRC_HEADER HEADER "resource.h"
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,26,10,0
- PRODUCTVERSION 1,26,10,0
+ FILEVERSION 1,26,12,0
+ PRODUCTVERSION 1,26,12,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -210,11 +210,11 @@ BEGIN
BEGIN
VALUE "CompanyName", "IDRIX"
VALUE "FileDescription", "VeraCrypt Expander"
- VALUE "FileVersion", "1.26.10"
+ VALUE "FileVersion", "1.26.12"
VALUE "LegalTrademarks", "VeraCrypt"
VALUE "OriginalFilename", "VeraCryptExpander.exe"
VALUE "ProductName", "VeraCrypt"
- VALUE "ProductVersion", "1.26.10"
+ VALUE "ProductVersion", "1.26.12"
END
END
BLOCK "VarFileInfo"
diff --git a/src/Format/Format.rc b/src/Format/Format.rc
index 46e811b7..8ebb7776 100644
--- a/src/Format/Format.rc
+++ b/src/Format/Format.rc
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,26,10,0
- PRODUCTVERSION 1,26,10,0
+ FILEVERSION 1,26,12,0
+ PRODUCTVERSION 1,26,12,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -46,11 +46,11 @@ BEGIN
BEGIN
VALUE "CompanyName", "IDRIX"
VALUE "FileDescription", "VeraCrypt Format"
- VALUE "FileVersion", "1.26.10"
+ VALUE "FileVersion", "1.26.12"
VALUE "LegalTrademarks", "VeraCrypt"
VALUE "OriginalFilename", "VeraCrypt Format.exe"
VALUE "ProductName", "VeraCrypt"
- VALUE "ProductVersion", "1.26.10"
+ VALUE "ProductVersion", "1.26.12"
END
END
BLOCK "VarFileInfo"
diff --git a/src/LICENSE b/src/LICENSE
index 19d47e25..2e1779a0 100644
--- a/src/LICENSE
+++ b/src/LICENSE
@@ -175,7 +175,7 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
END OF TERMS AND CONDITIONS
-Copyright 2013-2023 IDRIX
+Copyright 2013-2024 IDRIX
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/src/Main/Forms/AboutDialog.cpp b/src/Main/Forms/AboutDialog.cpp
index e3768361..01c579d5 100644
--- a/src/Main/Forms/AboutDialog.cpp
+++ b/src/Main/Forms/AboutDialog.cpp
@@ -27,7 +27,11 @@ namespace VeraCrypt
versionStaticTextFont.SetWeight (wxFONTWEIGHT_BOLD);
VersionStaticText->SetFont (versionStaticTextFont);
- VersionStaticText->SetLabel (Application::GetName() + L" " + StringConverter::ToWide (Version::String()));
+ wstring versionStr = StringConverter::ToWide (Version::String());
+#ifdef VC_MACOSX_FUSET
+ versionStr += L" (FUSE-T build)";
+#endif
+ VersionStaticText->SetLabel (Application::GetName() + L" " + versionStr);
CopyrightStaticText->SetLabel (TC_STR_RELEASED_BY);
WebsiteHyperlink->SetLabel (L"www.idrix.fr");
@@ -57,7 +61,7 @@ namespace VeraCrypt
L"Paulo Barreto, Brian Gladman, Wei Dai, Peter Gutmann, and many others.\n\n"
L"Portions of this software:\n"
- L"Copyright \xA9 2013-2023 IDRIX. All rights reserved.\n"
+ L"Copyright \xA9 2013-2024 IDRIX. All rights reserved.\n"
L"Copyright \xA9 2003-2012 TrueCrypt Developers Association. All Rights Reserved.\n"
L"Copyright \xA9 1998-2000 Paul Le Roux. All Rights Reserved.\n"
L"Copyright \xA9 1998-2008 Brian Gladman. All Rights Reserved.\n"
@@ -70,7 +74,7 @@ namespace VeraCrypt
L"Copyright \xA9 1999-2023 Igor Pavlov\n\n"
L"\nThis software as a whole:\n"
- L"Copyright \xA9 2013-2023 IDRIX. All rights reserved.\n\n"
+ L"Copyright \xA9 2013-2024 IDRIX. All rights reserved.\n\n"
L"This software uses wxWidgets library, which is copyright \xA9 1998-2011 Julian Smart, Robert Roebling et al.\n\n"
diff --git a/src/Main/Forms/PreferencesDialog.cpp b/src/Main/Forms/PreferencesDialog.cpp
index c4d5140f..afc2871f 100644
--- a/src/Main/Forms/PreferencesDialog.cpp
+++ b/src/Main/Forms/PreferencesDialog.cpp
@@ -82,6 +82,51 @@ namespace VeraCrypt
LanguageListBox->Append("System default");
LanguageListBox->Append("English");
+ langEntries = {
+ {"system", L"System default"},
+ {"ar", L"العربية"},
+ {"be", L"Беларуская"},
+ {"bg", L"Български"},
+ {"ca", L"Català"},
+ {"co", L"Corsu"},
+ {"cs", L"Čeština"},
+ {"da", L"Dansk"},
+ {"de", L"Deutsch"},
+ {"el", L"Ελληνικά"},
+ {"en", L"English"},
+ {"es", L"Español"},
+ {"et", L"Eesti"},
+ {"eu", L"Euskara"},
+ {"fa", L"فارسي"},
+ {"fi", L"Suomi"},
+ {"fr", L"Français"},
+ {"he", L"עברית"},
+ {"hu", L"Magyar"},
+ {"id", L"Bahasa Indonesia"},
+ {"it", L"Italiano"},
+ {"ja", L"日本語"},
+ {"ka", L"ქართული"},
+ {"ko", L"한국어"},
+ {"lv", L"Latviešu"},
+ {"nl", L"Nederlands"},
+ {"nn", L"Norsk Nynorsk"},
+ {"pl", L"Polski"},
+ {"ro", L"Română"},
+ {"ru", L"Русский"},
+ {"pt-br", L"Português-Brasil"},
+ {"sk", L"Slovenčina"},
+ {"sl", L"Slovenščina"},
+ {"sv", L"Svenska"},
+ {"th", L"ภาษาไทย"},
+ {"tr", L"Türkçe"},
+ {"uk", L"Українська"},
+ {"uz", L"Ўзбекча"},
+ {"vi", L"Tiếng Việt"},
+ {"zh-cn", L"简体中文"},
+ {"zh-hk", L"繁體中文(香港)"},
+ {"zh-tw", L"繁體中文"}
+ };
+
if (wxDir::Exists(languagesFolder.GetName())) {
size_t langCount;
langCount = wxDir::GetAllFiles(languagesFolder.GetName(), &langArray, wxEmptyString, wxDIR_FILES);
@@ -435,11 +480,11 @@ namespace VeraCrypt
if (LanguageListBox->GetSelection() != wxNOT_FOUND) {
wxString langToFind = LanguageListBox->GetString(LanguageListBox->GetSelection());
- for (const auto &each: langEntries) {
- if (each.second == langToFind) {
- Preferences.Language = each.first;
+ for (map<wxString, std::wstring>::const_iterator each = langEntries.begin(); each != langEntries.end(); ++each) {
+ if (each->second == langToFind) {
+ Preferences.Language = each->first;
#ifdef DEBUG
- cout << "Lang set to: " << each.first << endl;
+ cout << "Lang set to: " << each->first << endl;
#endif
}
}
diff --git a/src/Main/Forms/PreferencesDialog.h b/src/Main/Forms/PreferencesDialog.h
index 50e8489e..5e7f7e71 100644
--- a/src/Main/Forms/PreferencesDialog.h
+++ b/src/Main/Forms/PreferencesDialog.h
@@ -60,50 +60,7 @@ namespace VeraCrypt
UserPreferences Preferences;
bool RestoreValidatorBell;
HotkeyList UnregisteredHotkeys;
- map<wxString, wstring> langEntries = {
- {"system", L"System default"},
- {"ar", L"العربية"},
- {"be", L"Беларуская"},
- {"bg", L"Български"},
- {"ca", L"Català"},
- {"co", L"Corsu"},
- {"cs", L"Čeština"},
- {"da", L"Dansk"},
- {"de", L"Deutsch"},
- {"el", L"Ελληνικά"},
- {"en", L"English"},
- {"es", L"Español"},
- {"et", L"Eesti"},
- {"eu", L"Euskara"},
- {"fa", L"فارسي"},
- {"fi", L"Suomi"},
- {"fr", L"Français"},
- {"he", L"עברית"},
- {"hu", L"Magyar"},
- {"id", L"Bahasa Indonesia"},
- {"it", L"Italiano"},
- {"ja", L"日本語"},
- {"ka", L"ქართული"},
- {"ko", L"한국어"},
- {"lv", L"Latviešu"},
- {"nl", L"Nederlands"},
- {"nn", L"Norsk Nynorsk"},
- {"pl", L"Polski"},
- {"ro", L"Română"},
- {"ru", L"Русский"},
- {"pt-br", L"Português-Brasil"},
- {"sk", L"Slovenčina"},
- {"sl", L"Slovenščina"},
- {"sv", L"Svenska"},
- {"th", L"ภาษาไทย"},
- {"tr", L"Türkçe"},
- {"uk", L"Українська"},
- {"uz", L"Ўзбекча"},
- {"vi", L"Tiếng Việt"},
- {"zh-cn", L"简体中文"},
- {"zh-hk", L"繁體中文(香港)"},
- {"zh-tw", L"繁體中文"}
- };
+ map<wxString, wstring> langEntries;
};
}
diff --git a/src/Main/Forms/VolumeCreationWizard.cpp b/src/Main/Forms/VolumeCreationWizard.cpp
index 3f09e39f..311738ca 100644
--- a/src/Main/Forms/VolumeCreationWizard.cpp
+++ b/src/Main/Forms/VolumeCreationWizard.cpp
@@ -37,6 +37,19 @@
namespace VeraCrypt
{
+ class OpenOuterVolumeFunctor : public Functor
+ {
+ public:
+ OpenOuterVolumeFunctor (const DirectoryPath &outerVolumeMountPoint) : OuterVolumeMountPoint (outerVolumeMountPoint) { }
+
+ virtual void operator() ()
+ {
+ Gui->OpenExplorerWindow (OuterVolumeMountPoint);
+ }
+
+ DirectoryPath OuterVolumeMountPoint;
+ };
+
#ifdef TC_MACOSX
bool VolumeCreationWizard::ProcessEvent(wxEvent& event)
@@ -338,18 +351,6 @@ namespace VeraCrypt
return new InfoWizardPage (GetPageParent());
}
- struct OpenOuterVolumeFunctor : public Functor
- {
- OpenOuterVolumeFunctor (const DirectoryPath &outerVolumeMountPoint) : OuterVolumeMountPoint (outerVolumeMountPoint) { }
-
- virtual void operator() ()
- {
- Gui->OpenExplorerWindow (OuterVolumeMountPoint);
- }
-
- DirectoryPath OuterVolumeMountPoint;
- };
-
InfoWizardPage *page = new InfoWizardPage (GetPageParent(), LangString["LINUX_OPEN_OUTER_VOL"],
shared_ptr <Functor> (new OpenOuterVolumeFunctor (MountedOuterVolume->MountPoint)));
diff --git a/src/Main/Forms/WaitDialog.h b/src/Main/Forms/WaitDialog.h
index 89de8718..53f5048b 100644
--- a/src/Main/Forms/WaitDialog.h
+++ b/src/Main/Forms/WaitDialog.h
@@ -80,7 +80,7 @@ namespace VeraCrypt
m_bThreadRunning = true;
}
- int GetCharWidth (wxWindow *window) const
+ static int ComputeCharWidth (wxWindow *window)
{
int width;
int height;
@@ -179,7 +179,7 @@ namespace VeraCrypt
{
wxPasswordEntryDialog dialog (this, wxString::Format (LangString["ENTER_TOKEN_PASSWORD"], e.GetString()), LangString["IDD_TOKEN_PASSWORD"]);
- dialog.SetSize (wxSize (GetCharWidth (&dialog) * 50, -1));
+ dialog.SetSize (wxSize (ComputeCharWidth (&dialog) * 50, -1));
if (dialog.ShowModal() != wxID_OK)
m_queue.Post(wxT(""));
diff --git a/src/Main/GraphicUserInterface.cpp b/src/Main/GraphicUserInterface.cpp
index af2db217..0fd756a3 100644
--- a/src/Main/GraphicUserInterface.cpp
+++ b/src/Main/GraphicUserInterface.cpp
@@ -37,6 +37,33 @@
namespace VeraCrypt
{
+ class AdminPasswordRequestHandler : public GetStringFunctor
+ {
+ public:
+ virtual void operator() (string &passwordStr)
+ {
+
+ wxString sValue;
+ if (Gui->GetWaitDialog())
+ {
+ Gui->GetWaitDialog()->RequestAdminPassword(sValue);
+ if (sValue.IsEmpty())
+ throw UserAbort (SRC_POS);
+ }
+ else
+ {
+ wxPasswordEntryDialog dialog (Gui->GetActiveWindow(), LangString["LINUX_ADMIN_PW_QUERY"], LangString["LINUX_ADMIN_PW_QUERY_TITLE"]);
+ if (dialog.ShowModal() != wxID_OK)
+ throw UserAbort (SRC_POS);
+ sValue = dialog.GetValue();
+ }
+ wstring wPassword (sValue); // A copy of the password is created here by wxWidgets, which cannot be erased
+ finally_do_arg (wstring *, &wPassword, { StringConverter::Erase (*finally_arg); });
+
+ StringConverter::ToSingle (wPassword, passwordStr);
+ }
+ };
+
#ifdef TC_MACOSX
int GraphicUserInterface::g_customIdCmdV = 0;
int GraphicUserInterface::g_customIdCmdA = 0;
@@ -452,32 +479,6 @@ namespace VeraCrypt
shared_ptr <GetStringFunctor> GraphicUserInterface::GetAdminPasswordRequestHandler ()
{
- struct AdminPasswordRequestHandler : public GetStringFunctor
- {
- virtual void operator() (string &passwordStr)
- {
-
- wxString sValue;
- if (Gui->GetWaitDialog())
- {
- Gui->GetWaitDialog()->RequestAdminPassword(sValue);
- if (sValue.IsEmpty())
- throw UserAbort (SRC_POS);
- }
- else
- {
- wxPasswordEntryDialog dialog (Gui->GetActiveWindow(), LangString["LINUX_ADMIN_PW_QUERY"], LangString["LINUX_ADMIN_PW_QUERY_TITLE"]);
- if (dialog.ShowModal() != wxID_OK)
- throw UserAbort (SRC_POS);
- sValue = dialog.GetValue();
- }
- wstring wPassword (sValue); // A copy of the password is created here by wxWidgets, which cannot be erased
- finally_do_arg (wstring *, &wPassword, { StringConverter::Erase (*finally_arg); });
-
- StringConverter::ToSingle (wPassword, passwordStr);
- }
- };
-
return shared_ptr <GetStringFunctor> (new AdminPasswordRequestHandler);
}
diff --git a/src/Main/Main.make b/src/Main/Main.make
index 9f907aef..b77d4936 100755
--- a/src/Main/Main.make
+++ b/src/Main/Main.make
@@ -102,7 +102,7 @@ endif
#------ FUSE configuration ------
-FUSE_LIBS = $(shell $(PKG_CONFIG) fuse --libs)
+FUSE_LIBS = $(shell $(PKG_CONFIG) $(VC_FUSE_PACKAGE) --libs)
#------ Executable ------
@@ -129,11 +129,19 @@ endif
ifeq "$(origin NOSSE2)" "command line"
INTERNAL_INSTALLER_NAME := veracrypt_install_$(INSTALLER_TYPE)_$(CPU_ARCH)_legacy.sh
+ifeq ($(and $(filter gui,$(INSTALLER_TYPE)),$(filter 2,$(GTK_VERSION))),1)
+INSTALLER_NAME := veracrypt-$(TC_VERSION)-setup-gtk2-gui-$(CPU_ARCH)-legacy
+else
INSTALLER_NAME := veracrypt-$(TC_VERSION)-setup-$(INSTALLER_TYPE)-$(CPU_ARCH)-legacy
+endif
else
INTERNAL_INSTALLER_NAME := veracrypt_install_$(INSTALLER_TYPE)_$(CPU_ARCH).sh
+ifeq ($(and $(filter gui,$(INSTALLER_TYPE)),$(filter 2,$(GTK_VERSION))),1)
+INSTALLER_NAME := veracrypt-$(TC_VERSION)-setup-gtk2-gui-$(CPU_ARCH)
+else
INSTALLER_NAME := veracrypt-$(TC_VERSION)-setup-$(INSTALLER_TYPE)-$(CPU_ARCH)
endif
+endif
endif
#-----------------------------------
@@ -152,7 +160,11 @@ PACKAGE_NAME := $(APPNAME)_$(TC_VERSION)_$(SYSTEMNAME)_$(PLATFORM_ARCH).tar.gz
endif
INTERNAL_INSTALLER_NAME := veracrypt_install_f$(SYSTEMNAME)_$(INSTALLER_TYPE)_$(CPU_ARCH).sh
+ifeq ($(and $(filter gui,$(INSTALLER_TYPE)),$(filter 2,$(GTK_VERSION))),1)
+INSTALLER_NAME := veracrypt-$(TC_VERSION)-$(SYSTEMNAME)-setup-gtk2-gui-$(CPU_ARCH)
+else
INSTALLER_NAME := veracrypt-$(TC_VERSION)-$(SYSTEMNAME)-setup-$(INSTALLER_TYPE)-$(CPU_ARCH)
+endif
endif
#-----------------------------------
@@ -223,7 +235,11 @@ ifdef VC_LEGACY_BUILD
productsign --sign "Developer ID Installer: IDRIX (Z933746L2S)" --timestamp "$(BASE_DIR)/Setup/MacOSX/VeraCrypt Legacy $(TC_VERSION).pkg" $(BASE_DIR)/Setup/MacOSX/VeraCrypt_$(TC_VERSION).pkg
rm -f $(APPNAME)_Legacy_$(TC_VERSION).dmg
else
+ifeq "$(VC_OSX_FUSET)" "1"
+ /usr/local/bin/packagesbuild $(BASE_DIR)/Setup/MacOSX/veracrypt_fuse-t.pkgproj
+else
/usr/local/bin/packagesbuild $(BASE_DIR)/Setup/MacOSX/veracrypt.pkgproj
+endif
ifneq ("$(LOCAL_DEVELOPMENT_BUILD)","true")
productsign --sign "Developer ID Installer: IDRIX (Z933746L2S)" --timestamp "$(BASE_DIR)/Setup/MacOSX/VeraCrypt $(TC_VERSION).pkg" $(BASE_DIR)/Setup/MacOSX/VeraCrypt_$(TC_VERSION).pkg
else
diff --git a/src/Main/StringFormatter.h b/src/Main/StringFormatter.h
index 97c39ae2..d7f64dd0 100644
--- a/src/Main/StringFormatter.h
+++ b/src/Main/StringFormatter.h
@@ -52,7 +52,10 @@ namespace VeraCrypt
StringFormatter (const wxString &format, StringFormatterArg arg0 = StringFormatterArg(), StringFormatterArg arg1 = StringFormatterArg(), StringFormatterArg arg2 = StringFormatterArg(), StringFormatterArg arg3 = StringFormatterArg(), StringFormatterArg arg4 = StringFormatterArg(), StringFormatterArg arg5 = StringFormatterArg(), StringFormatterArg arg6 = StringFormatterArg(), StringFormatterArg arg7 = StringFormatterArg(), StringFormatterArg arg8 = StringFormatterArg(), StringFormatterArg arg9 = StringFormatterArg());
virtual ~StringFormatter ();
- explicit operator wstring () const { return wstring (FormattedString); }
+#if (__cplusplus >= 201103L)
+ explicit
+#endif
+ operator wstring () const { return wstring (FormattedString); }
operator wxString () const { return FormattedString; }
operator StringFormatterArg () const { return FormattedString; }
diff --git a/src/Main/TextUserInterface.cpp b/src/Main/TextUserInterface.cpp
index 3346ee3e..46559dfa 100644
--- a/src/Main/TextUserInterface.cpp
+++ b/src/Main/TextUserInterface.cpp
@@ -30,6 +30,27 @@
namespace VeraCrypt
{
+ class AdminPasswordRequestHandler : public GetStringFunctor
+ {
+ public:
+ AdminPasswordRequestHandler (TextUserInterface *userInterface) : UI (userInterface) { }
+ virtual void operator() (string &passwordStr)
+ {
+ UI->ShowString (_("Enter your user password or administrator password: "));
+
+ TextUserInterface::SetTerminalEcho (false);
+ finally_do ({ TextUserInterface::SetTerminalEcho (true); });
+
+ wstring wPassword (UI->ReadInputStreamLine());
+ finally_do_arg (wstring *, &wPassword, { StringConverter::Erase (*finally_arg); });
+
+ UI->ShowString (L"\n");
+
+ StringConverter::ToSingle (wPassword, passwordStr);
+ }
+ TextUserInterface *UI;
+ };
+
TextUserInterface::TextUserInterface ()
{
#ifdef TC_UNIX
@@ -1095,26 +1116,6 @@ namespace VeraCrypt
shared_ptr <GetStringFunctor> TextUserInterface::GetAdminPasswordRequestHandler ()
{
- struct AdminPasswordRequestHandler : public GetStringFunctor
- {
- AdminPasswordRequestHandler (TextUserInterface *userInterface) : UI (userInterface) { }
- virtual void operator() (string &passwordStr)
- {
- UI->ShowString (_("Enter your user password or administrator password: "));
-
- TextUserInterface::SetTerminalEcho (false);
- finally_do ({ TextUserInterface::SetTerminalEcho (true); });
-
- wstring wPassword (UI->ReadInputStreamLine());
- finally_do_arg (wstring *, &wPassword, { StringConverter::Erase (*finally_arg); });
-
- UI->ShowString (L"\n");
-
- StringConverter::ToSingle (wPassword, passwordStr);
- }
- TextUserInterface *UI;
- };
-
return shared_ptr <GetStringFunctor> (new AdminPasswordRequestHandler (this));
}
diff --git a/src/Main/TextUserInterface.h b/src/Main/TextUserInterface.h
index becb1d59..44494f32 100644
--- a/src/Main/TextUserInterface.h
+++ b/src/Main/TextUserInterface.h
@@ -19,9 +19,11 @@
namespace VeraCrypt
{
+ class AdminPasswordRequestHandler;
class TextUserInterface : public UserInterface
{
public:
+ friend class AdminPasswordRequestHandler;
TextUserInterface ();
virtual ~TextUserInterface ();
diff --git a/src/Main/UserInterface.cpp b/src/Main/UserInterface.cpp
index 09b1fcdd..0f11ec0b 100644
--- a/src/Main/UserInterface.cpp
+++ b/src/Main/UserInterface.cpp
@@ -32,6 +32,15 @@
namespace VeraCrypt
{
+ class AdminPasswordRequestHandler : public GetStringFunctor
+ {
+ public:
+ virtual void operator() (string &str)
+ {
+ throw ElevationFailed (SRC_POS, "sudo", 1, "");
+ }
+ };
+
UserInterface::UserInterface ()
{
}
@@ -558,14 +567,6 @@ namespace VeraCrypt
}
else
{
- struct AdminPasswordRequestHandler : public GetStringFunctor
- {
- virtual void operator() (string &str)
- {
- throw ElevationFailed (SRC_POS, "sudo", 1, "");
- }
- };
-
Core->SetAdminPasswordCallback (shared_ptr <GetStringFunctor> (new AdminPasswordRequestHandler));
}
diff --git a/src/Makefile b/src/Makefile
index 799a8ff5..65d9a4ef 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -23,8 +23,8 @@
# SSSE3: Enable SSSE3 support in compiler
# SSE41: Enable SSE4.1 support in compiler
# NOSSE2: Disable SEE2 support in compiler
-# WITHGTK3: Build wxWidgets against GTK3
-# WOLFCRYPT: Build with wolfCrypt as crypto provider (see Crypto/wolfCrypt.md)
+# WOLFCRYPT: Build with wolfCrypt as crypto provider (see Crypto/wolfCrypt.md)
+# WITHFUSET: Build with FUSE-T support on macOS instead of MacFUSE
#------ Targets ------
# all
@@ -52,6 +52,8 @@ export LFLAGS :=
export PKG_CONFIG ?= pkg-config
export PKG_CONFIG_PATH ?= /usr/local/lib/pkgconfig
+export VC_FUSE_PACKAGE := fuse
+export VC_OSX_FUSET ?= 0
export WX_CONFIG ?= wx-config
export WX_CONFIG_ARGS := --unicode
@@ -62,6 +64,12 @@ WX_ROOT ?= $(BASE_DIR)/wxWidgets
export TC_BUILD_CONFIG := Release
+ifeq "$(origin WITHFUSET)" "command line"
+ ifneq "$(WITHFUSET)" "0"
+ VC_OSX_FUSET := 1
+ endif
+endif
+
ifeq "$(origin DEBUG)" "command line"
ifneq "$(DEBUG)" "0"
TC_BUILD_CONFIG := Debug
@@ -97,16 +105,6 @@ ifeq "$(origin WXSTATIC)" "command line"
endif
endif
-ifeq "$(origin INDICATOR)" "command line"
- ifneq (,$(findstring gtk3,$(shell $(WX_CONFIG) --selected-config)))
- INDICATOR_LIBRARY=ayatana-appindicator3-0.1
- else
- INDICATOR_LIBRARY=ayatana-appindicator-0.1
- endif
- export AYATANA_LIBS += $(shell $(PKG_CONFIG) --libs $(INDICATOR_LIBRARY))
- C_CXX_FLAGS += $(shell $(PKG_CONFIG) --cflags $(INDICATOR_LIBRARY)) -DHAVE_INDICATORS
-endif
-
#------ Release configuration ------
ifeq "$(TC_BUILD_CONFIG)" "Release"
@@ -150,6 +148,7 @@ export ENABLE_WOLFCRYPT ?= 0
export GCC_GTEQ_440 := 0
export GCC_GTEQ_430 := 0
+export GTK_VERSION := 0
ARCH ?= $(shell uname -m)
@@ -202,7 +201,7 @@ ifeq "$(shell uname -s)" "Linux"
C_CXX_FLAGS += -DTC_UNIX -DTC_LINUX
# PCSC
- C_CXX_FLAGS += $(shell pkg-config --cflags libpcsclite)
+ C_CXX_FLAGS += $(shell $(PKG_CONFIG) --cflags libpcsclite)
# Extract the major and minor version numbers of GCC in a combined format for easy comparison
GCC_VERSION := $(shell $(CC) -dumpversion | awk -F. '{printf "%d%02d", $$1, $$2}')
@@ -279,13 +278,6 @@ ifeq "$(shell uname -s)" "Linux"
WXCONFIG_CFLAGS += -mno-sse2
WXCONFIG_CXXFLAGS += -mno-sse2
endif
-
- ifeq "$(origin WITHGTK3)" "command line"
- WX_CONFIGURE_FLAGS += --with-gtk=3
- else
- WX_CONFIGURE_FLAGS += --with-gtk=2
- endif
-
endif
#------ Mac OS X configuration ------
@@ -315,6 +307,7 @@ ifeq "$(shell uname -s)" "Darwin"
GCC_GTEQ_430 := 1
+ CXXFLAGS += -std=c++11
C_CXX_FLAGS += -DTC_UNIX -DTC_BSD -DTC_MACOSX -mmacosx-version-min=$(VC_OSX_TARGET) -isysroot $(VC_OSX_SDK_PATH)
LFLAGS += -mmacosx-version-min=$(VC_OSX_TARGET) -Wl,-syslibroot $(VC_OSX_SDK_PATH)
#Xcode 15 linker emits a warning "no platform load command found" when linking object files generated by yasm
@@ -332,6 +325,10 @@ ifeq "$(shell uname -s)" "Darwin"
WX_CONFIGURE_FLAGS += --with-macosx-version-min=$(VC_OSX_TARGET) --with-macosx-sdk=$(VC_OSX_SDK_PATH)
+ ifneq "$(VC_OSX_FUSET)" "0"
+ C_CXX_FLAGS += -DVC_MACOSX_FUSET
+ VC_FUSE_PACKAGE := fuse-t
+ endif
# Set x86 assembly flags (-msse2, -mssse3, -msse4.1)
# Apply flags if SIMD_SUPPORTED is 1 or if not in local development build (we are creating universal binary in this case)
@@ -380,7 +377,6 @@ ifeq "$(shell uname -s)" "Darwin"
ARCH_FLAG += -arch i386
WX_CONFIGURE_FLAGS += --enable-universal_binary=i386,x86_64
else
- CXXFLAGS += -std=c++11
# Non-development build defaults to universal binary for arm64 and x86_64
ARCH_FLAG += -arch arm64
WX_CONFIGURE_FLAGS += --enable-universal_binary=arm64,x86_64
@@ -413,7 +409,7 @@ ifeq "$(shell uname -s)" "FreeBSD"
C_CXX_FLAGS += -DTC_UNIX -DTC_BSD -DTC_FREEBSD
# PCSC
- C_CXX_FLAGS += $(shell pkg-config --cflags libpcsclite)
+ C_CXX_FLAGS += $(shell $(PKG_CONFIG) --cflags libpcsclite)
CC := cc
CXX := c++
@@ -474,7 +470,7 @@ ifeq "$(shell uname -s)" "OpenBSD"
C_CXX_FLAGS += -DTC_UNIX -DTC_BSD -DTC_OPENBSD
# PCSC
- C_CXX_FLAGS += $(shell pkg-config --cflags libpcsclite)
+ C_CXX_FLAGS += $(shell $(PKG_CONFIG) --cflags libpcsclite)
CC := cc
CXX := c++
@@ -501,10 +497,29 @@ ifeq "$(shell uname -s)" "SunOS"
WX_CONFIGURE_FLAGS += --with-gtk
# PCSC
- C_CXX_FLAGS += $(shell pkg-config --cflags libpcsclite)
+ C_CXX_FLAGS += $(shell $(PKG_CONFIG) --cflags libpcsclite)
endif
+ifneq (,$(filter Linux FreeBSD OpenBSD,$(PLATFORM)))
+ # Determine GTK version
+ GTK_VERSION := $(shell $(PKG_CONFIG) --modversion gtk+-3.0 2>/dev/null | grep -o '^3' || echo 2)
+ ifeq ($(GTK_VERSION),3)
+ WX_CONFIGURE_FLAGS += --with-gtk=3
+ else
+ WX_CONFIGURE_FLAGS += --with-gtk=2
+ endif
+
+ ifeq "$(origin INDICATOR)" "command line"
+ ifeq ($(GTK_VERSION),3)
+ INDICATOR_LIBRARY=ayatana-appindicator3-0.1
+ else
+ INDICATOR_LIBRARY=ayatana-appindicator-0.1
+ endif
+ export AYATANA_LIBS += $(shell $(PKG_CONFIG) --libs $(INDICATOR_LIBRARY))
+ C_CXX_FLAGS += $(shell $(PKG_CONFIG) --cflags $(INDICATOR_LIBRARY)) -DHAVE_INDICATORS
+ endif
+endif
#------ Common configuration ------
@@ -534,12 +549,17 @@ WX_CONFIGURE_FLAGS += --disable-protocol --disable-protocols --disable-url --dis
ifneq (,$(filter Linux FreeBSD,$(PLATFORM)))
WX_CONFIGURE_FLAGS += --disable-tooltips
-ifneq "$(origin WITHGTK3)" "command line"
+ifneq ($(GTK_VERSION),3)
WX_CONFIGURE_FLAGS += --disable-graphics_ctx
endif
else
WX_CONFIGURE_FLAGS += --disable-graphics_ctx
endif
+else
+# Disable libtiff on macOS
+ifeq "$(PLATFORM)" "MacOSX"
+ WX_CONFIGURE_FLAGS += --without-libtiff
+endif
endif
diff --git a/src/Mount/Mount.rc b/src/Mount/Mount.rc
index 7827bab9..98f20566 100644
--- a/src/Mount/Mount.rc
+++ b/src/Mount/Mount.rc
@@ -560,8 +560,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,26,10,0
- PRODUCTVERSION 1,26,10,0
+ FILEVERSION 1,26,12,0
+ PRODUCTVERSION 1,26,12,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -578,11 +578,11 @@ BEGIN
BEGIN
VALUE "CompanyName", "IDRIX"
VALUE "FileDescription", "VeraCrypt"
- VALUE "FileVersion", "1.26.10"
+ VALUE "FileVersion", "1.26.12"
VALUE "LegalTrademarks", "VeraCrypt"
VALUE "OriginalFilename", "VeraCrypt.exe"
VALUE "ProductName", "VeraCrypt"
- VALUE "ProductVersion", "1.26.10"
+ VALUE "ProductVersion", "1.26.12"
END
END
BLOCK "VarFileInfo"
diff --git a/src/NOTICE b/src/NOTICE
index 6c038b74..cb76a74b 100644
--- a/src/NOTICE
+++ b/src/NOTICE
@@ -1,4 +1,4 @@
-Copyright 2013-2023 IDRIX
+Copyright 2013-2024 IDRIX
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
diff --git a/src/Readme.txt b/src/Readme.txt
index e383838a..9e6c794f 100644
--- a/src/Readme.txt
+++ b/src/Readme.txt
@@ -232,10 +232,10 @@ Copyright Information
---------------------
This software as a whole:
-Copyright (c) 2013-2023 IDRIX. All rights reserved.
+Copyright (c) 2013-2024 IDRIX. All rights reserved.
Portions of this software:
-Copyright (c) 2013-2023 IDRIX. All rights reserved.
+Copyright (c) 2013-2024 IDRIX. All rights reserved.
Copyright (c) 2003-2012 TrueCrypt Developers Association. All rights reserved.
Copyright (c) 1998-2000 Paul Le Roux. All rights reserved.
Copyright (c) 1998-2008 Brian Gladman, Worcester, UK. All rights reserved.
diff --git a/src/Release/Setup Files/Product64.wxs b/src/Release/Setup Files/Product64.wxs
index d2107447..c315fe90 100644
--- a/src/Release/Setup Files/Product64.wxs
+++ b/src/Release/Setup Files/Product64.wxs
@@ -4,7 +4,7 @@
<!-- FullProductVersion's first 3 parts MUST BE incremented at each release in order
for upgrades to work ; Windows Installer ignores the 4th part -->
- <?define var.FullProductVersion = 1.26.10?>
+ <?define var.FullProductVersion = 1.26.12?>
<?define var.ProductName = VeraCrypt $(var.FullProductVersion)?>
<!-- Unique GUID identifying this family of product (32-bit and 64-bit have the same) -->
@@ -12,7 +12,7 @@
<!-- Unique GUID identifying this product release (32-bit and 64-bit have different ones) -->
<!-- MUST BE regenerated for each new release -->
- <?define var.ProductGuid = {03253FAE-94F8-46F8-ACE9-5458DA9EA621}?>
+ <?define var.ProductGuid = {29B173D1-A21B-4316-B7B7-923EC401901B}?>
<!-- Unique GUID identifying a particular Windows Installer package -->
<!-- When compiling a product, it should not be set in order to allow it to be generated for each build -->
diff --git a/src/Setup/MacOSX/VeraCrypt.entitlements.plist b/src/Setup/MacOSX/VeraCrypt.entitlements.plist
new file mode 100644
index 00000000..123d12a5
--- /dev/null
+++ b/src/Setup/MacOSX/VeraCrypt.entitlements.plist
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>com.apple.security.cs.disable-library-validation</key>
+ <true/>
+</dict>
+</plist>
diff --git a/src/Setup/MacOSX/notarize.sh b/src/Setup/MacOSX/notarize.sh
new file mode 100755
index 00000000..c3e2ff05
--- /dev/null
+++ b/src/Setup/MacOSX/notarize.sh
@@ -0,0 +1,140 @@
+#!/bin/bash
+
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Directory where the script is located
+BUNDLE_PATH="${SCRIPT_DIR}/../../Main/VeraCrypt.app" # Path to the VeraCrypt.app bundle
+APPLE_ID="appleid" # Apple ID
+APP_SPECIFIC_PASSWORD="password" # app-specific password
+TEAM_ID="teamid" # team ID
+SIGNING_ID="signingid" # Signing ID
+
+# Check if VeraCrypt.app bundle exists
+if [ ! -d "$BUNDLE_PATH" ]; then
+ echo "VeraCrypt.app bundle not found: $BUNDLE_PATH"
+ exit 1
+fi
+
+# Retrieve the version of VeraCrypt from Info.plist
+VC_VERSION=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${BUNDLE_PATH}/Contents/Info.plist")
+
+echo "Notarizing VeraCrypt ${VC_VERSION}..."
+
+# Change to the script directory
+cd "${SCRIPT_DIR}"
+
+xattr -rc "$BUNDLE_PATH"
+codesign --timestamp --option runtime --deep --force --entitlements "${SCRIPT_DIR}/VeraCrypt.entitlements.plist" --sign "${SIGNING_ID}" "$BUNDLE_PATH"
+
+# Check dependencies of the VeraCrypt binary
+VC_BINARY="$BUNDLE_PATH/Contents/MacOS/VeraCrypt"
+DEPENDENCY_OUTPUT=$(otool -L "$VC_BINARY" | grep libfuse-t.dylib)
+
+# Determine the correct .pkgproj file based on the dependency
+PKGPROJ_FILE="${SCRIPT_DIR}/veracrypt.pkgproj"
+DMG_LABEL="VeraCrypt_${VC_VERSION}.dmg"
+if [[ "$DEPENDENCY_OUTPUT" != "" ]]; then
+ echo "VeraCrypt is linked against FUSE-T."
+ PKGPROJ_FILE="${SCRIPT_DIR}/veracrypt_fuse-t.pkgproj"
+ DMG_LABEL="VeraCrypt_FUSE-T_${VC_VERSION}.dmg"
+else
+ echo "VeraCrypt is linked against standard MacFUSE."
+fi
+
+/usr/local/bin/packagesbuild "$PKGPROJ_FILE"
+
+PKG_PATH="${SCRIPT_DIR}/VeraCrypt_${VC_VERSION}.pkg" # Constructed path to the VeraCrypt pkg
+productsign --sign "Developer ID Installer: IDRIX (Z933746L2S)" --timestamp "${SCRIPT_DIR}/VeraCrypt ${VC_VERSION}.pkg" "$PKG_PATH"
+
+if [ ! -f "$PKG_PATH" ]; then
+ echo "pkg file not found: $PKG_PATH"
+ exit 1
+fi
+
+# Step 1: Upload PKG to Apple for notarization
+echo "Uploading PKG to Apple for notarization..."
+xcrun notarytool submit "$PKG_PATH" --apple-id "$APPLE_ID" --password "$APP_SPECIFIC_PASSWORD" --team-id "$TEAM_ID" --wait --output-format json > notarization_result.json
+
+# Check if the notarization submission was successful
+if [ $? -ne 0 ]; then
+ echo "Failed to submit PKG for notarization."
+ cat notarization_result.json
+ exit 1
+fi
+
+# Extract the notarization UUID from the result
+REQUEST_UUID=$(grep -o '"id":"[^"]*' notarization_result.json | sed 's/"id":"//')
+echo "Notarization Request UUID: $REQUEST_UUID"
+
+# Step 2: Check the notarization status
+echo "Checking notarization status..."
+STATUS=$(grep -o '"status":"[^"]*' notarization_result.json | sed 's/"status":"//' | sed 's/"}//')
+echo "Initial status: $STATUS"
+
+while [ "$STATUS" == "in progress" ]; do
+ sleep 30
+ xcrun notarytool info "$REQUEST_UUID" --apple-id "$APPLE_ID" --password "$APP_SPECIFIC_PASSWORD" --team-id "$TEAM_ID" --output-format json > notarization_status.json
+
+ if [ ! -f notarization_status.json ]; then
+ echo "Failed to retrieve notarization status."
+ exit 1
+ fi
+
+ STATUS=$(grep -o '"status":"[^"]*' notarization_status.json | sed 's/"status":"//' | sed 's/"}//')
+ echo "Current status: $STATUS"
+done
+
+# Step 3: Staple the notarization ticket to the pkg or retrieve the log
+if [ "$STATUS" == "Accepted" ]; then
+ echo "Stapling the notarization ticket to the pkg..."
+ # Staple the notarization ticket to the installer package
+ xcrun stapler staple "$PKG_PATH"
+ echo "Notarization and stapling completed successfully."
+
+ # Clean up any existing temporary files and directories
+ rm -f template.dmg
+ rm -fr VeraCrypt_dmg
+
+ # Create a directory to mount the template DMG
+ echo "Creating directory to mount the template DMG..."
+ mkdir -p VeraCrypt_dmg
+
+ # Decompress the template DMG file
+ echo "Decompressing the template DMG file..."
+ bunzip2 -k -f template.dmg.bz2
+
+ # Attach the template DMG to the system, mount it at VeraCrypt_dmg directory
+ echo "Attaching the template DMG to the system..."
+ hdiutil attach template.dmg -noautoopen -quiet -mountpoint VeraCrypt_dmg
+
+ # Copy the notarized installer package into the mounted DMG
+ echo "Copying the notarized installer package into the mounted DMG..."
+ cp "VeraCrypt_${VC_VERSION}.pkg" VeraCrypt_dmg/VeraCrypt_Installer.pkg
+
+ # Detach the DMG, ensuring all changes are saved and it's unmounted
+ echo "Detaching the DMG..."
+ hdiutil detach VeraCrypt_dmg -quiet -force
+
+ # Convert the DMG back to a compressed format (UDZO) and create the final DMG file
+ echo "Converting the DMG back to a compressed format..."
+ rm -f "${DMG_LABEL}"
+ hdiutil convert template.dmg -quiet -format UDZO -imagekey zlib-level=9 -o "${DMG_LABEL}"
+
+ # Sign the final DMG file
+ echo "Signing the final DMG file..."
+ codesign -s "${SIGNING_ID}" --timestamp "${DMG_LABEL}"
+
+ # Clean up temporary files and directories
+ rm -f template.dmg
+ rm -fr VeraCrypt_dmg
+else
+ echo "Notarization failed. Retrieving log for more details..."
+ # Retrieve the notarization log for details on why it failed
+ xcrun notarytool log "$REQUEST_UUID" --apple-id "$APPLE_ID" --password "$APP_SPECIFIC_PASSWORD" --team-id "$TEAM_ID" --output-format json > notarization_log.json
+ cat notarization_log.json
+fi
+
+# Clean up temporary files
+rm -f notarization_result.json
+rm -f notarization_status.json
+rm -f notarization_log.json
+
+exit 0 \ No newline at end of file
diff --git a/src/Setup/MacOSX/postinstall_fuse-t.sh b/src/Setup/MacOSX/postinstall_fuse-t.sh
new file mode 100755
index 00000000..fb799b91
--- /dev/null
+++ b/src/Setup/MacOSX/postinstall_fuse-t.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+chmod -R go-w /Applications/VeraCrypt.app
+
+exit 0
diff --git a/src/Setup/MacOSX/veracrypt.pkgproj b/src/Setup/MacOSX/veracrypt.pkgproj
index 99c255ea..6e0174fd 100755
--- a/src/Setup/MacOSX/veracrypt.pkgproj
+++ b/src/Setup/MacOSX/veracrypt.pkgproj
@@ -557,7 +557,7 @@
<key>USE_HFS+_COMPRESSION</key>
<false/>
<key>VERSION</key>
- <string>1.26.10</string>
+ <string>1.26.12</string>
</dict>
<key>TYPE</key>
<integer>0</integer>
@@ -1025,7 +1025,7 @@ https://osxfuse.github.io/
</dict>
</array>
<key>NAME</key>
- <string>VeraCrypt 1.26.10</string>
+ <string>VeraCrypt 1.26.12</string>
<key>PAYLOAD_ONLY</key>
<false/>
<key>TREAT_MISSING_PRESENTATION_DOCUMENTS_AS_WARNING</key>
diff --git a/src/Setup/MacOSX/veracrypt_Legacy.pkgproj b/src/Setup/MacOSX/veracrypt_Legacy.pkgproj
index 6819907a..51adec5d 100755
--- a/src/Setup/MacOSX/veracrypt_Legacy.pkgproj
+++ b/src/Setup/MacOSX/veracrypt_Legacy.pkgproj
@@ -557,7 +557,7 @@
<key>USE_HFS+_COMPRESSION</key>
<false/>
<key>VERSION</key>
- <string>1.26.10</string>
+ <string>1.26.12</string>
</dict>
<key>TYPE</key>
<integer>0</integer>
diff --git a/src/Setup/MacOSX/veracrypt_fuse-t.pkgproj b/src/Setup/MacOSX/veracrypt_fuse-t.pkgproj
new file mode 100755
index 00000000..8b5dbc72
--- /dev/null
+++ b/src/Setup/MacOSX/veracrypt_fuse-t.pkgproj
@@ -0,0 +1,1044 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>PACKAGES</key>
+ <array>
+ <dict>
+ <key>MUST-CLOSE-APPLICATION-ITEMS</key>
+ <array/>
+ <key>MUST-CLOSE-APPLICATIONS</key>
+ <false/>
+ <key>PACKAGE_FILES</key>
+ <dict>
+ <key>DEFAULT_INSTALL_LOCATION</key>
+ <string>/</string>
+ <key>HIERARCHY</key>
+ <dict>
+ <key>CHILDREN</key>
+ <array>
+ <dict>
+ <key>CHILDREN</key>
+ <array>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>80</integer>
+ <key>PATH</key>
+ <string>Utilities</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>BUNDLE_CAN_DOWNGRADE</key>
+ <true/>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>80</integer>
+ <key>PATH</key>
+ <string>../../Main/VeraCrypt.app</string>
+ <key>PATH_TYPE</key>
+ <integer>1</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>3</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ </array>
+ <key>GID</key>
+ <integer>80</integer>
+ <key>PATH</key>
+ <string>Applications</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>509</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>80</integer>
+ <key>PATH</key>
+ <string>Application Support</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Documentation</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Filesystems</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Frameworks</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Input Methods</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Internet Plug-Ins</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>LaunchAgents</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>LaunchDaemons</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>PreferencePanes</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Preferences</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>80</integer>
+ <key>PATH</key>
+ <string>Printers</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>PrivilegedHelperTools</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>1005</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>QuickLook</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>QuickTime</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Screen Savers</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Scripts</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Services</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Widgets</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Automator</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Extensions</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ </array>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Library</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array>
+ <dict>
+ <key>CHILDREN</key>
+ <array>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Extensions</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ </array>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Library</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ </array>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>System</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>CHILDREN</key>
+ <array>
+ <dict>
+ <key>CHILDREN</key>
+ <array/>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>Shared</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>1023</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ </array>
+ <key>GID</key>
+ <integer>80</integer>
+ <key>PATH</key>
+ <string>Users</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ </array>
+ <key>GID</key>
+ <integer>0</integer>
+ <key>PATH</key>
+ <string>/</string>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ <key>PERMISSIONS</key>
+ <integer>493</integer>
+ <key>TYPE</key>
+ <integer>1</integer>
+ <key>UID</key>
+ <integer>0</integer>
+ </dict>
+ <key>PAYLOAD_TYPE</key>
+ <integer>0</integer>
+ <key>PRESERVE_EXTENDED_ATTRIBUTES</key>
+ <false/>
+ <key>SHOW_INVISIBLE</key>
+ <false/>
+ <key>SPLIT_FORKS</key>
+ <true/>
+ <key>TREAT_MISSING_FILES_AS_WARNING</key>
+ <false/>
+ <key>VERSION</key>
+ <integer>5</integer>
+ </dict>
+ <key>PACKAGE_SCRIPTS</key>
+ <dict>
+ <key>POSTINSTALL_PATH</key>
+ <dict>
+ <key>PATH</key>
+ <string>postinstall_fuse-t.sh</string>
+ <key>PATH_TYPE</key>
+ <integer>1</integer>
+ </dict>
+ <key>PREINSTALL_PATH</key>
+ <dict>
+ <key>PATH_TYPE</key>
+ <integer>0</integer>
+ </dict>
+ <key>RESOURCES</key>
+ <array/>
+ </dict>
+ <key>PACKAGE_SETTINGS</key>
+ <dict>
+ <key>AUTHENTICATION</key>
+ <integer>1</integer>
+ <key>CONCLUSION_ACTION</key>
+ <integer>0</integer>
+ <key>FOLLOW_SYMBOLIC_LINKS</key>
+ <false/>
+ <key>IDENTIFIER</key>
+ <string>com.idrix.pkg.veracrypt</string>
+ <key>LOCATION</key>
+ <integer>0</integer>
+ <key>NAME</key>
+ <string>veracrypt</string>
+ <key>OVERWRITE_PERMISSIONS</key>
+ <false/>
+ <key>PAYLOAD_SIZE</key>
+ <integer>-1</integer>
+ <key>REFERENCE_PATH</key>
+ <string></string>
+ <key>RELOCATABLE</key>
+ <false/>
+ <key>USE_HFS+_COMPRESSION</key>
+ <false/>
+ <key>VERSION</key>
+ <string>1.26.12</string>
+ </dict>
+ <key>TYPE</key>
+ <integer>0</integer>
+ <key>UUID</key>
+ <string>B14381D9-EC5F-43E4-B971-82AB3D132A64</string>
+ </dict>
+ </array>
+ <key>PROJECT</key>
+ <dict>
+ <key>PROJECT_COMMENTS</key>
+ <dict>
+ <key>NOTES</key>
+ <data>
+ PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1M
+ IDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQv
+ c3RyaWN0LmR0ZCI+CjxodG1sPgo8aGVhZD4KPG1ldGEgaHR0cC1l
+ cXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7
+ IGNoYXJzZXQ9VVRGLTgiPgo8bWV0YSBodHRwLWVxdWl2PSJDb250
+ ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4KPHRp
+ dGxlPjwvdGl0bGU+CjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29u
+ dGVudD0iQ29jb2EgSFRNTCBXcml0ZXIiPgo8bWV0YSBuYW1lPSJD
+ b2NvYVZlcnNpb24iIGNvbnRlbnQ9IjExMzguNTEiPgo8c3R5bGUg
+ dHlwZT0idGV4dC9jc3MiPgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5
+ Pgo8L2JvZHk+CjwvaHRtbD4K
+ </data>
+ </dict>
+ <key>PROJECT_PRESENTATION</key>
+ <dict>
+ <key>BACKGROUND</key>
+ <dict>
+ <key>APPAREANCES</key>
+ <dict>
+ <key>DARK_AQUA</key>
+ <dict/>
+ <key>LIGHT_AQUA</key>
+ <dict/>
+ </dict>
+ <key>SHARED_SETTINGS_FOR_ALL_APPAREANCES</key>
+ <true/>
+ </dict>
+ <key>INSTALLATION TYPE</key>
+ <dict>
+ <key>HIERARCHIES</key>
+ <dict>
+ <key>INSTALLER</key>
+ <dict>
+ <key>LIST</key>
+ <array>
+ <dict>
+ <key>DESCRIPTION</key>
+ <array/>
+ <key>OPTIONS</key>
+ <dict>
+ <key>HIDDEN</key>
+ <false/>
+ <key>STATE</key>
+ <integer>1</integer>
+ </dict>
+ <key>PACKAGE_UUID</key>
+ <string>B14381D9-EC5F-43E4-B971-82AB3D132A64</string>
+ <key>TITLE</key>
+ <array/>
+ <key>TOOLTIP</key>
+ <array/>
+ <key>TYPE</key>
+ <integer>0</integer>
+ <key>UUID</key>
+ <string>4F1ACCF7-AA2A-4C80-A42F-274D410A13D1</string>
+ </dict>
+ </array>
+ <key>REMOVED</key>
+ <dict/>
+ </dict>
+ </dict>
+ <key>MODE</key>
+ <integer>0</integer>
+ </dict>
+ <key>INSTALLATION_STEPS</key>
+ <array>
+ <dict>
+ <key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
+ <string>ICPresentationViewIntroductionController</string>
+ <key>INSTALLER_PLUGIN</key>
+ <string>Introduction</string>
+ <key>LIST_TITLE_KEY</key>
+ <string>InstallerSectionTitle</string>
+ </dict>
+ <dict>
+ <key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
+ <string>ICPresentationViewReadMeController</string>
+ <key>INSTALLER_PLUGIN</key>
+ <string>ReadMe</string>
+ <key>LIST_TITLE_KEY</key>
+ <string>InstallerSectionTitle</string>
+ </dict>
+ <dict>
+ <key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
+ <string>ICPresentationViewLicenseController</string>
+ <key>INSTALLER_PLUGIN</key>
+ <string>License</string>
+ <key>LIST_TITLE_KEY</key>
+ <string>InstallerSectionTitle</string>
+ </dict>
+ <dict>
+ <key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
+ <string>ICPresentationViewDestinationSelectController</string>
+ <key>INSTALLER_PLUGIN</key>
+ <string>TargetSelect</string>
+ <key>LIST_TITLE_KEY</key>
+ <string>InstallerSectionTitle</string>
+ </dict>
+ <dict>
+ <key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
+ <string>ICPresentationViewInstallationTypeController</string>
+ <key>INSTALLER_PLUGIN</key>
+ <string>PackageSelection</string>
+ <key>LIST_TITLE_KEY</key>
+ <string>InstallerSectionTitle</string>
+ </dict>
+ <dict>
+ <key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
+ <string>ICPresentationViewInstallationController</string>
+ <key>INSTALLER_PLUGIN</key>
+ <string>Install</string>
+ <key>LIST_TITLE_KEY</key>
+ <string>InstallerSectionTitle</string>
+ </dict>
+ <dict>
+ <key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
+ <string>ICPresentationViewSummaryController</string>
+ <key>INSTALLER_PLUGIN</key>
+ <string>Summary</string>
+ <key>LIST_TITLE_KEY</key>
+ <string>InstallerSectionTitle</string>
+ </dict>
+ </array>
+ <key>INTRODUCTION</key>
+ <dict>
+ <key>LOCALIZATIONS</key>
+ <array/>
+ </dict>
+ <key>LICENSE</key>
+ <dict>
+ <key>LOCALIZATIONS</key>
+ <array>
+ <dict>
+ <key>LANGUAGE</key>
+ <string>English</string>
+ <key>VALUE</key>
+ <dict>
+ <key>PATH</key>
+ <string>../../License.txt</string>
+ <key>PATH_TYPE</key>
+ <integer>1</integer>
+ </dict>
+ </dict>
+ </array>
+ <key>MODE</key>
+ <integer>0</integer>
+ </dict>
+ <key>README</key>
+ <dict>
+ <key>LOCALIZATIONS</key>
+ <array/>
+ </dict>
+ <key>SUMMARY</key>
+ <dict>
+ <key>LOCALIZATIONS</key>
+ <array/>
+ </dict>
+ <key>TITLE</key>
+ <dict>
+ <key>LOCALIZATIONS</key>
+ <array>
+ <dict>
+ <key>LANGUAGE</key>
+ <string>French</string>
+ <key>VALUE</key>
+ <string></string>
+ </dict>
+ </array>
+ </dict>
+ </dict>
+ <key>PROJECT_REQUIREMENTS</key>
+ <dict>
+ <key>LIST</key>
+ <array>
+ <dict>
+ <key>BEHAVIOR</key>
+ <integer>3</integer>
+ <key>DICTIONARY</key>
+ <dict>
+ <key>IC_REQUIREMENT_OS_DISK_TYPE</key>
+ <integer>1</integer>
+ <key>IC_REQUIREMENT_OS_DISTRIBUTION_TYPE</key>
+ <integer>0</integer>
+ <key>IC_REQUIREMENT_OS_MINIMUM_VERSION</key>
+ <integer>119900</integer>
+ </dict>
+ <key>IC_REQUIREMENT_CHECK_TYPE</key>
+ <integer>0</integer>
+ <key>IDENTIFIER</key>
+ <string>fr.whitebox.Packages.requirement.os</string>
+ <key>MESSAGE</key>
+ <array>
+ <dict>
+ <key>LANGUAGE</key>
+ <string>English</string>
+ <key>VALUE</key>
+ <string>VeraCrypt requires MacOSX 12 and above.</string>
+ </dict>
+ <dict>
+ <key>LANGUAGE</key>
+ <string>French</string>
+ <key>VALUE</key>
+ <string>VeraCrypt nécessite MacOSX 12 et supérieur.</string>
+ </dict>
+ </array>
+ <key>NAME</key>
+ <string>Operating System</string>
+ <key>STATE</key>
+ <true/>
+ </dict>
+ <dict>
+ <key>BEHAVIOR</key>
+ <integer>3</integer>
+ <key>DICTIONARY</key>
+ <dict>
+ <key>IC_REQUIREMENT_FILES_CONDITION</key>
+ <integer>0</integer>
+ <key>IC_REQUIREMENT_FILES_DISK_TYPE</key>
+ <integer>1</integer>
+ <key>IC_REQUIREMENT_FILES_LIST</key>
+ <array>
+ <string>/usr/local/lib/libfuse-t.dylib</string>
+ </array>
+ <key>IC_REQUIREMENT_FILES_SELECTOR</key>
+ <integer>0</integer>
+ </dict>
+ <key>IC_REQUIREMENT_CHECK_TYPE</key>
+ <integer>0</integer>
+ <key>IDENTIFIER</key>
+ <string>fr.whitebox.Packages.requirement.files</string>
+ <key>MESSAGE</key>
+ <array>
+ <dict>
+ <key>LANGUAGE</key>
+ <string>English</string>
+ <key>SECONDARY_VALUE</key>
+ <string></string>
+ <key>VALUE</key>
+ <string>FUSE-T seems to be missing on your machine. VeraCrypt requires OSXFuse 1.0 or above.
+Please download the latest FUSE-T version from :
+https://github.com/macos-fuse-t/fuse-t/releases</string>
+ </dict>
+ <dict>
+ <key>LANGUAGE</key>
+ <string>French</string>
+ <key>SECONDARY_VALUE</key>
+ <string></string>
+ <key>VALUE</key>
+ <string>FUSE-T semble ne pas être installé sur votre machine. VeraCrypt nécessite FUSE-T 1.0 ou supérieur.
+Merci de télécharger la dernière version de OSXFuse à partir de :
+https://github.com/macos-fuse-t/fuse-t/releases
+
+</string>
+ </dict>
+ </array>
+ <key>NAME</key>
+ <string>FUSE-T</string>
+ <key>STATE</key>
+ <true/>
+ </dict>
+ </array>
+ <key>RESOURCES</key>
+ <array/>
+ <key>ROOT_VOLUME_ONLY</key>
+ <false/>
+ </dict>
+ <key>PROJECT_SETTINGS</key>
+ <dict>
+ <key>ADVANCED_OPTIONS</key>
+ <dict>
+ <key>installer-script.options:hostArchitectures</key>
+ <array>
+ <string>x86_64,arm64</string>
+ </array>
+ </dict>
+ <key>BUILD_FORMAT</key>
+ <integer>0</integer>
+ <key>BUILD_PATH</key>
+ <dict>
+ <key>PATH</key>
+ <string>.</string>
+ <key>PATH_TYPE</key>
+ <integer>1</integer>
+ </dict>
+ <key>EXCLUDED_FILES</key>
+ <array>
+ <dict>
+ <key>PATTERNS_ARRAY</key>
+ <array>
+ <dict>
+ <key>REGULAR_EXPRESSION</key>
+ <false/>
+ <key>STRING</key>
+ <string>.DS_Store</string>
+ <key>TYPE</key>
+ <integer>0</integer>
+ </dict>
+ </array>
+ <key>PROTECTED</key>
+ <true/>
+ <key>PROXY_NAME</key>
+ <string>Remove .DS_Store files</string>
+ <key>PROXY_TOOLTIP</key>
+ <string>Remove ".DS_Store" files created by the Finder.</string>
+ <key>STATE</key>
+ <true/>
+ </dict>
+ <dict>
+ <key>PATTERNS_ARRAY</key>
+ <array>
+ <dict>
+ <key>REGULAR_EXPRESSION</key>
+ <false/>
+ <key>STRING</key>
+ <string>.pbdevelopment</string>
+ <key>TYPE</key>
+ <integer>0</integer>
+ </dict>
+ </array>
+ <key>PROTECTED</key>
+ <true/>
+ <key>PROXY_NAME</key>
+ <string>Remove .pbdevelopment files</string>
+ <key>PROXY_TOOLTIP</key>
+ <string>Remove ".pbdevelopment" files created by ProjectBuilder or Xcode.</string>
+ <key>STATE</key>
+ <true/>
+ </dict>
+ <dict>
+ <key>PATTERNS_ARRAY</key>
+ <array>
+ <dict>
+ <key>REGULAR_EXPRESSION</key>
+ <false/>
+ <key>STRING</key>
+ <string>CVS</string>
+ <key>TYPE</key>
+ <integer>1</integer>
+ </dict>
+ <dict>
+ <key>REGULAR_EXPRESSION</key>
+ <false/>
+ <key>STRING</key>
+ <string>.cvsignore</string>
+ <key>TYPE</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>REGULAR_EXPRESSION</key>
+ <false/>
+ <key>STRING</key>
+ <string>.cvspass</string>
+ <key>TYPE</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>REGULAR_EXPRESSION</key>
+ <false/>
+ <key>STRING</key>
+ <string>.svn</string>
+ <key>TYPE</key>
+ <integer>1</integer>
+ </dict>
+ <dict>
+ <key>REGULAR_EXPRESSION</key>
+ <false/>
+ <key>STRING</key>
+ <string>.git</string>
+ <key>TYPE</key>
+ <integer>1</integer>
+ </dict>
+ <dict>
+ <key>REGULAR_EXPRESSION</key>
+ <false/>
+ <key>STRING</key>
+ <string>.gitignore</string>
+ <key>TYPE</key>
+ <integer>0</integer>
+ </dict>
+ </array>
+ <key>PROTECTED</key>
+ <true/>
+ <key>PROXY_NAME</key>
+ <string>Remove SCM metadata</string>
+ <key>PROXY_TOOLTIP</key>
+ <string>Remove helper files and folders used by the CVS, SVN or Git Source Code Management systems.</string>
+ <key>STATE</key>
+ <true/>
+ </dict>
+ <dict>
+ <key>PATTERNS_ARRAY</key>
+ <array>
+ <dict>
+ <key>REGULAR_EXPRESSION</key>
+ <false/>
+ <key>STRING</key>
+ <string>classes.nib</string>
+ <key>TYPE</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>REGULAR_EXPRESSION</key>
+ <false/>
+ <key>STRING</key>
+ <string>designable.db</string>
+ <key>TYPE</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>REGULAR_EXPRESSION</key>
+ <false/>
+ <key>STRING</key>
+ <string>info.nib</string>
+ <key>TYPE</key>
+ <integer>0</integer>
+ </dict>
+ </array>
+ <key>PROTECTED</key>
+ <true/>
+ <key>PROXY_NAME</key>
+ <string>Optimize nib files</string>
+ <key>PROXY_TOOLTIP</key>
+ <string>Remove "classes.nib", "info.nib" and "designable.nib" files within .nib bundles.</string>
+ <key>STATE</key>
+ <true/>
+ </dict>
+ <dict>
+ <key>PATTERNS_ARRAY</key>
+ <array>
+ <dict>
+ <key>REGULAR_EXPRESSION</key>
+ <false/>
+ <key>STRING</key>
+ <string>Resources Disabled</string>
+ <key>TYPE</key>
+ <integer>1</integer>
+ </dict>
+ </array>
+ <key>PROTECTED</key>
+ <true/>
+ <key>PROXY_NAME</key>
+ <string>Remove Resources Disabled folders</string>
+ <key>PROXY_TOOLTIP</key>
+ <string>Remove "Resources Disabled" folders.</string>
+ <key>STATE</key>
+ <true/>
+ </dict>
+ <dict>
+ <key>SEPARATOR</key>
+ <true/>
+ </dict>
+ </array>
+ <key>NAME</key>
+ <string>VeraCrypt 1.26.12</string>
+ <key>PAYLOAD_ONLY</key>
+ <false/>
+ <key>TREAT_MISSING_PRESENTATION_DOCUMENTS_AS_WARNING</key>
+ <false/>
+ </dict>
+ </dict>
+ <key>SHARED_GLOBAL_DATA</key>
+ <dict>
+ <key>IC_REQUIREMENT_JAVASCRIPT_SHARED_SOURCE_CODE</key>
+ <string></string>
+ </dict>
+ <key>TYPE</key>
+ <integer>0</integer>
+ <key>VERSION</key>
+ <integer>2</integer>
+</dict>
+</plist>
diff --git a/src/Setup/Portable.rc b/src/Setup/Portable.rc
index eb198e9e..42714a4c 100644
--- a/src/Setup/Portable.rc
+++ b/src/Setup/Portable.rc
@@ -26,8 +26,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,26,10,0
- PRODUCTVERSION 1,26,10,0
+ FILEVERSION 1,26,12,0
+ PRODUCTVERSION 1,26,12,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -44,11 +44,11 @@ BEGIN
BEGIN
VALUE "CompanyName", "IDRIX"
VALUE "FileDescription", "VeraCrypt Portable"
- VALUE "FileVersion", "1.26.10"
+ VALUE "FileVersion", "1.26.12"
VALUE "LegalTrademarks", "VeraCrypt"
VALUE "OriginalFilename", "VeraCrypt Portable.exe"
VALUE "ProductName", "VeraCrypt"
- VALUE "ProductVersion", "1.26.10"
+ VALUE "ProductVersion", "1.26.12"
END
END
BLOCK "VarFileInfo"
diff --git a/src/Setup/Setup.rc b/src/Setup/Setup.rc
index 89457692..30031031 100644
--- a/src/Setup/Setup.rc
+++ b/src/Setup/Setup.rc
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,26,10,0
- PRODUCTVERSION 1,26,10,0
+ FILEVERSION 1,26,12,0
+ PRODUCTVERSION 1,26,12,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -46,11 +46,11 @@ BEGIN
BEGIN
VALUE "CompanyName", "IDRIX"
VALUE "FileDescription", "VeraCrypt Setup"
- VALUE "FileVersion", "1.26.10"
+ VALUE "FileVersion", "1.26.12"
VALUE "LegalTrademarks", "VeraCrypt"
VALUE "OriginalFilename", "VeraCrypt Setup.exe"
VALUE "ProductName", "VeraCrypt"
- VALUE "ProductVersion", "1.26.10"
+ VALUE "ProductVersion", "1.26.12"
END
END
BLOCK "VarFileInfo"
diff --git a/src/SetupDLL/Setup.rc b/src/SetupDLL/Setup.rc
index aab2f5c5..f6494797 100644
--- a/src/SetupDLL/Setup.rc
+++ b/src/SetupDLL/Setup.rc
@@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,26,10,0
- PRODUCTVERSION 1,26,10,0
+ FILEVERSION 1,26,12,0
+ PRODUCTVERSION 1,26,12,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -46,11 +46,11 @@ BEGIN
BEGIN
VALUE "CompanyName", "IDRIX"
VALUE "FileDescription", "VeraCryptSetup"
- VALUE "FileVersion", "1.26.10"
+ VALUE "FileVersion", "1.26.12"
VALUE "LegalTrademarks", "VeraCrypt"
VALUE "OriginalFilename", "VeraCryptSetup.dll"
VALUE "ProductName", "VeraCrypt"
- VALUE "ProductVersion", "1.26.10"
+ VALUE "ProductVersion", "1.26.12"
END
END
BLOCK "VarFileInfo"
diff --git a/src/Signing/sign.bat b/src/Signing/sign.bat
index f1df920a..532855d4 100644
--- a/src/Signing/sign.bat
+++ b/src/Signing/sign.bat
@@ -1,7 +1,7 @@
PATH=%PATH%;%WSDK81%\bin\x86;C:\Program Files\7-Zip;C:\Program Files (x86)\7-Zip
-set VC_VERSION=1.26.10
-set VC_VERSION_NBRE=1.26.10
+set VC_VERSION=1.26.12
+set VC_VERSION_NBRE=1.26.12
set SIGNINGPATH=%~dp0
cd %SIGNINGPATH%
diff --git a/src/Signing/sign_TESTSIGNING.bat b/src/Signing/sign_TESTSIGNING.bat
index bc75ff08..8179187f 100644
--- a/src/Signing/sign_TESTSIGNING.bat
+++ b/src/Signing/sign_TESTSIGNING.bat
@@ -1,7 +1,7 @@
PATH=%PATH%;%WSDK81%\bin\x86;C:\Program Files\7-Zip;C:\Program Files (x86)\7-Zip
-set VC_VERSION=1.26.10
-set VC_VERSION_NBRE=1.26.10
+set VC_VERSION=1.26.12
+set VC_VERSION_NBRE=1.26.12
set SIGNINGPATH=%~dp0
cd %SIGNINGPATH%
diff --git a/src/Signing/sign_test.bat b/src/Signing/sign_test.bat
index 1dd2e4e2..ee6ce81a 100644
--- a/src/Signing/sign_test.bat
+++ b/src/Signing/sign_test.bat
@@ -1,6 +1,6 @@
PATH=%PATH%;%WSDK81%\bin\x86;C:\Program Files\7-Zip;C:\Program Files (x86)\7-Zip
-set VC_VERSION=1.26.10
-set VC_VERSION_NBRE=1.26.10
+set VC_VERSION=1.26.12
+set VC_VERSION_NBRE=1.26.12
set PFXNAME=TestCertificate\idrix_codeSign.pfx
set PFXPASSWORD=idrix
set PFXCA=TestCertificate\idrix_TestRootCA.crt
diff --git a/src/Signing/sign_test_debug.bat b/src/Signing/sign_test_debug.bat
index 8e8d2d39..0775993f 100644
--- a/src/Signing/sign_test_debug.bat
+++ b/src/Signing/sign_test_debug.bat
@@ -1,6 +1,6 @@
PATH=%PATH%;%WSDK81%\bin\x86;C:\Program Files\7-Zip;C:\Program Files (x86)\7-Zip
-set VC_VERSION=1.26.10
-set VC_VERSION_NBRE=1.26.10
+set VC_VERSION=1.26.12
+set VC_VERSION_NBRE=1.26.12
set PFXNAME=TestCertificate\idrix_codeSign.pfx
set PFXPASSWORD=idrix
set PFXCA=TestCertificate\idrix_TestRootCA.crt