VeraCrypt
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Common/Language.xml2
-rw-r--r--src/Mount/Mount.c159
-rw-r--r--src/Mount/Mount.h1
-rw-r--r--src/Mount/Mount.rc21
-rw-r--r--src/Mount/Resource.h7
5 files changed, 171 insertions, 19 deletions
diff --git a/src/Common/Language.xml b/src/Common/Language.xml
index 7585eece..50d68ad2 100644
--- a/src/Common/Language.xml
+++ b/src/Common/Language.xml
@@ -169,12 +169,13 @@
<control lang="en" key="IDC_TRAV_CACHE_PASSWORDS">&amp;Cache password in driver memory</control>
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
<control lang="en" key="IDC_UNMOUNTALL">Di&amp;smount All</control>
<control lang="en" key="IDC_VOLUME_PROPERTIES">&amp;Volume Properties...</control>
<control lang="en" key="IDC_VOLUME_TOOLS">Volume &amp;Tools...</control>
<control lang="en" key="IDC_WIPE_CACHE">&amp;Wipe Cache</control>
+ <control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
<control lang="en" key="IDD_HOTKEYS_DLG">VeraCrypt - System-Wide Hot Keys</control>
<control lang="en" key="IDD_MOUNT_DLG">VeraCrypt</control>
<control lang="en" key="IDD_PASSWORDCHANGE_DLG">Change Password or Keyfiles</control>
<control lang="en" key="IDD_PASSWORD_DLG">Enter VeraCrypt Volume Password</control>
<control lang="en" key="IDD_PERFORMANCE_SETTINGS">VeraCrypt - Performance Options</control>
@@ -198,12 +199,13 @@
<control lang="en" key="IDM_CLOSE_ALL_TOKEN_SESSIONS">Close All Security Token Sessions</control>
<control lang="en" key="IDM_CONTACT">Contact</control>
<control lang="en" key="IDM_CREATE_HIDDEN_OS">Create Hidden Operating System...</control>
<control lang="en" key="IDM_CREATE_RESCUE_DISK">Create Rescue Disk...</control>
<control lang="en" key="IDM_CREATE_VOLUME">Create New Volume...</control>
<control lang="en" key="IDM_DEFAULT_KEYFILES">Default Keyfiles...</control>
+ <control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
<control lang="en" key="IDM_DONATE">Donate now...</control>
<control lang="en" key="IDM_ENCRYPT_SYSTEM_DEVICE">Encrypt System Partition/Drive...</control>
<control lang="en" key="IDM_FAQ">Frequently Asked Questions</control>
<control lang="en" key="IDM_HELP">User's Guide</control>
<control lang="en" key="IDM_HOMEPAGE">&amp;Homepage </control>
<control lang="en" key="IDM_HOTKEY_SETTINGS">Hot Keys...</control>
diff --git a/src/Mount/Mount.c b/src/Mount/Mount.c
index c7835f0e..427c1a93 100644
--- a/src/Mount/Mount.c
+++ b/src/Mount/Mount.c
@@ -121,14 +121,16 @@ int nSelectedDriveIndex = -1; /* Item number of selected drive */
int cmdUnmountDrive = 0; /* Volume drive letter to unmount (-1 = all) */
Password VolumePassword; /* Password used for mounting volumes */
Password CmdVolumePassword; /* Password passed from command line */
int VolumePkcs5 = 0;
int CmdVolumePkcs5 = 0;
+int DefaultVolumePkcs5 = 0;
BOOL VolumeTrueCryptMode = FALSE;
BOOL CmdVolumeTrueCryptMode = FALSE;
+BOOL DefaultVolumeTrueCryptMode = FALSE;
BOOL CmdVolumePasswordValid = FALSE;
MountOptions CmdMountOptions;
BOOL CmdMountOptionsValid = FALSE;
MountOptions mountOptions;
MountOptions defaultMountOptions;
KeyFile *FirstCmdKeyFile;
@@ -548,12 +550,21 @@ void LoadSettings (HWND hwndDlg)
if (bHistoryCmdLine != TRUE)
{
LoadCombo (GetDlgItem (hwndDlg, IDC_VOLUME));
if (CmdLineVolumeSpecified)
SetWindowText (GetDlgItem (hwndDlg, IDC_VOLUME), szFileName);
}
+
+ // Mount Options
+ DefaultVolumePkcs5 = ConfigReadInt ("DefaultPRF", 0);
+ DefaultVolumeTrueCryptMode = ConfigReadInt ("DefaultTrueCryptMode", FALSE);
+
+ if (DefaultVolumePkcs5 < 0 || DefaultVolumePkcs5 > LAST_PRF_ID)
+ DefaultVolumePkcs5 = 0;
+ if (DefaultVolumeTrueCryptMode != TRUE && DefaultVolumeTrueCryptMode != FALSE)
+ DefaultVolumeTrueCryptMode = FALSE;
}
void SaveSettings (HWND hwndDlg)
{
WaitCursor ();
@@ -631,12 +642,16 @@ void SaveSettings (HWND hwndDlg)
if (GetPreferredLangId () != NULL)
ConfigWriteString ("Language", GetPreferredLangId ());
// PKCS#11 Library Path
ConfigWriteString ("SecurityTokenLibrary", SecurityTokenLibraryPath[0] ? SecurityTokenLibraryPath : "");
+ // Mount Options
+ ConfigWriteInt ("DefaultPRF", DefaultVolumePkcs5);
+ ConfigWriteInt ("DefaultTrueCryptMode", DefaultVolumeTrueCryptMode);
+
ConfigWriteEnd (hwndDlg);
// History
DumpCombo (GetDlgItem (hwndDlg, IDC_VOLUME), IsButtonChecked (GetDlgItem (hwndDlg, IDC_NO_HISTORY)));
NormalCursor ();
@@ -2663,12 +2678,13 @@ BOOL CALLBACK PreferencesDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM
AppendMenuW (popup, MF_STRING, IDM_LANGUAGE, GetString ("IDM_LANGUAGE"));
AppendMenuW (popup, MF_STRING, IDM_HOTKEY_SETTINGS, GetString ("IDM_HOTKEY_SETTINGS"));
AppendMenuW (popup, MF_STRING, IDM_PERFORMANCE_SETTINGS, GetString ("IDM_PERFORMANCE_SETTINGS"));
AppendMenuW (popup, MF_STRING, IDM_SYSENC_SETTINGS, GetString ("IDM_SYSENC_SETTINGS"));
AppendMenuW (popup, MF_STRING, IDM_SYS_FAVORITES_SETTINGS, GetString ("IDM_SYS_FAVORITES_SETTINGS"));
AppendMenuW (popup, MF_STRING, IDM_DEFAULT_KEYFILES, GetString ("IDM_DEFAULT_KEYFILES"));
+ AppendMenuW (popup, MF_STRING, IDM_DEFAULT_MOUNT_PARAMETERS, GetString ("IDM_DEFAULT_MOUNT_PARAMETERS"));
AppendMenuW (popup, MF_STRING, IDM_TOKEN_PREFERENCES, GetString ("IDM_TOKEN_PREFERENCES"));
RECT rect;
GetWindowRect (GetDlgItem (hwndDlg, IDC_MORE_SETTINGS), &rect);
int menuItem = TrackPopupMenu (popup, TPM_RETURNCMD | TPM_LEFTBUTTON, rect.left + 2, rect.top + 2, 0, hwndDlg, NULL);
@@ -3699,13 +3715,22 @@ static int AskVolumePassword (HWND hwndDlg, Password *password, int *pkcs5, BOOL
// GUI actions
static BOOL Mount (HWND hwndDlg, int nDosDriveNo, char *szFileName)
{
BOOL status = FALSE;
char fileName[MAX_PATH];
- int mounted = 0;
+ int mounted = 0, EffectiveVolumePkcs5 = CmdVolumePkcs5;
+ BOOL EffectiveVolumeTrueCryptMode = CmdVolumeTrueCryptMode;
+
+ /* Priority is given to command line parameters
+ * Default values used only when nothing specified in command line
+ */
+ if (EffectiveVolumePkcs5 == 0)
+ EffectiveVolumePkcs5 = DefaultVolumePkcs5;
+ if (!EffectiveVolumeTrueCryptMode)
+ EffectiveVolumeTrueCryptMode = DefaultVolumeTrueCryptMode;
bPrebootPasswordDlgMode = mountOptions.PartitionInInactiveSysEncScope;
if (nDosDriveNo == 0)
nDosDriveNo = HIWORD (GetSelectedLong (GetDlgItem (hwndDlg, IDC_DRIVELIST))) - 'A';
@@ -3746,26 +3771,26 @@ static BOOL Mount (HWND hwndDlg, int nDosDriveNo, char *szFileName)
ResetWrongPwdRetryCount ();
// First try cached passwords and if they fail ask user for a new one
WaitCursor ();
- mounted = MountVolume (hwndDlg, nDosDriveNo, szFileName, NULL, CmdVolumePkcs5, CmdVolumeTrueCryptMode, bCacheInDriver, bForceMount, &mountOptions, Silent, FALSE);
+ mounted = MountVolume (hwndDlg, nDosDriveNo, szFileName, NULL, EffectiveVolumePkcs5, EffectiveVolumeTrueCryptMode, bCacheInDriver, bForceMount, &mountOptions, Silent, FALSE);
// If keyfiles are enabled, test empty password first
if (!mounted && KeyFilesEnable && FirstKeyFile)
{
Password emptyPassword;
emptyPassword.Length = 0;
KeyFilesApply (hwndDlg, &emptyPassword, FirstKeyFile);
- mounted = MountVolume (hwndDlg, nDosDriveNo, szFileName, &emptyPassword, CmdVolumePkcs5, CmdVolumeTrueCryptMode, bCacheInDriver, bForceMount, &mountOptions, Silent, FALSE);
+ mounted = MountVolume (hwndDlg, nDosDriveNo, szFileName, &emptyPassword, EffectiveVolumePkcs5, EffectiveVolumeTrueCryptMode, bCacheInDriver, bForceMount, &mountOptions, Silent, FALSE);
if (mounted)
{
- VolumePkcs5 = CmdVolumePkcs5;
- VolumeTrueCryptMode = CmdVolumeTrueCryptMode;
+ VolumePkcs5 = EffectiveVolumePkcs5;
+ VolumeTrueCryptMode = EffectiveVolumeTrueCryptMode;
}
burn (&emptyPassword, sizeof (emptyPassword));
}
// Test password and/or keyfiles used for the previous volume
@@ -3784,19 +3809,19 @@ static BOOL Mount (HWND hwndDlg, int nDosDriveNo, char *szFileName)
while (mounted == 0)
{
if (CmdVolumePassword.Length > 0)
{
VolumePassword = CmdVolumePassword;
- VolumePkcs5 = CmdVolumePkcs5;
- VolumeTrueCryptMode = CmdVolumeTrueCryptMode;
+ VolumePkcs5 = EffectiveVolumePkcs5;
+ VolumeTrueCryptMode = EffectiveVolumeTrueCryptMode;
}
else if (!Silent)
{
- int GuiPkcs5 = CmdVolumePkcs5;
- BOOL GuiTrueCryptMode = CmdVolumeTrueCryptMode;
+ int GuiPkcs5 = EffectiveVolumePkcs5;
+ BOOL GuiTrueCryptMode = EffectiveVolumeTrueCryptMode;
StringCbCopyA (PasswordDlgVolume, sizeof(PasswordDlgVolume), szFileName);
if (!AskVolumePassword (hwndDlg, &VolumePassword, &GuiPkcs5, &GuiTrueCryptMode, NULL, TRUE))
goto ret;
else
{
@@ -4059,12 +4084,22 @@ static BOOL MountAllDevices (HWND hwndDlg, BOOL bPasswordPrompt)
{
HWND driveList = GetDlgItem (hwndDlg, IDC_DRIVELIST);
int selDrive = ListView_GetSelectionMark (driveList);
BOOL shared = FALSE, status = FALSE, bHeaderBakRetry = FALSE;
int mountedVolCount = 0;
vector <HostDevice> devices;
+ int EffectiveVolumePkcs5 = CmdVolumePkcs5;
+ BOOL EffectiveVolumeTrueCryptMode = CmdVolumeTrueCryptMode;
+
+ /* Priority is given to command line parameters
+ * Default values used only when nothing specified in command line
+ */
+ if (EffectiveVolumePkcs5 == 0)
+ EffectiveVolumePkcs5 = DefaultVolumePkcs5;
+ if (!EffectiveVolumeTrueCryptMode)
+ EffectiveVolumeTrueCryptMode = DefaultVolumeTrueCryptMode;
VolumePassword.Length = 0;
mountOptions = defaultMountOptions;
bPrebootPasswordDlgMode = FALSE;
if (selDrive == -1)
@@ -4077,14 +4112,14 @@ static BOOL MountAllDevices (HWND hwndDlg, BOOL bPasswordPrompt)
do
{
if (!bHeaderBakRetry)
{
if (!CmdVolumePasswordValid && bPasswordPrompt)
{
- int GuiPkcs5 = CmdVolumePkcs5;
- BOOL GuiTrueCryptMode = CmdVolumeTrueCryptMode;
+ int GuiPkcs5 = EffectiveVolumePkcs5;
+ BOOL GuiTrueCryptMode = EffectiveVolumeTrueCryptMode;
PasswordDlgVolume[0] = '\0';
if (!AskVolumePassword (hwndDlg, &VolumePassword, &GuiPkcs5, &GuiTrueCryptMode, NULL, TRUE))
goto ret;
else
{
VolumePkcs5 = GuiPkcs5;
@@ -4094,14 +4129,14 @@ static BOOL MountAllDevices (HWND hwndDlg, BOOL bPasswordPrompt)
}
}
else if (CmdVolumePasswordValid)
{
bPasswordPrompt = FALSE;
VolumePassword = CmdVolumePassword;
- VolumePkcs5 = CmdVolumePkcs5;
- VolumeTrueCryptMode = CmdVolumeTrueCryptMode;
+ VolumePkcs5 = EffectiveVolumePkcs5;
+ VolumeTrueCryptMode = EffectiveVolumeTrueCryptMode;
}
WaitCursor();
if (FirstCmdKeyFile)
KeyFilesApply (hwndDlg, &VolumePassword, FirstCmdKeyFile);
@@ -5129,26 +5164,36 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
exitCode = 1;
}
if (szFileName[0] != 0 && !IsMountedVolume (szFileName))
{
BOOL mounted;
+ int EffectiveVolumePkcs5 = CmdVolumePkcs5;
+ BOOL EffectiveVolumeTrueCryptMode = CmdVolumeTrueCryptMode;
+
+ /* Priority is given to command line parameters
+ * Default values used only when nothing specified in command line
+ */
+ if (EffectiveVolumePkcs5 == 0)
+ EffectiveVolumePkcs5 = DefaultVolumePkcs5;
+ if (!EffectiveVolumeTrueCryptMode)
+ EffectiveVolumeTrueCryptMode = DefaultVolumeTrueCryptMode;
// Cached password
- mounted = MountVolume (hwndDlg, szDriveLetter[0] - 'A', szFileName, NULL, CmdVolumePkcs5, CmdVolumeTrueCryptMode, bCacheInDriver, bForceMount, &mountOptions, Silent, FALSE);
+ mounted = MountVolume (hwndDlg, szDriveLetter[0] - 'A', szFileName, NULL, EffectiveVolumePkcs5, EffectiveVolumeTrueCryptMode, bCacheInDriver, bForceMount, &mountOptions, Silent, FALSE);
// Command line password or keyfiles
if (!mounted && (CmdVolumePassword.Length != 0 || FirstCmdKeyFile))
{
BOOL reportBadPasswd = CmdVolumePassword.Length > 0;
if (FirstCmdKeyFile)
KeyFilesApply (hwndDlg, &CmdVolumePassword, FirstCmdKeyFile);
mounted = MountVolume (hwndDlg, szDriveLetter[0] - 'A',
- szFileName, &CmdVolumePassword, CmdVolumePkcs5, CmdVolumeTrueCryptMode, bCacheInDriver, bForceMount,
+ szFileName, &CmdVolumePassword, EffectiveVolumePkcs5, EffectiveVolumeTrueCryptMode, bCacheInDriver, bForceMount,
&mountOptions, Silent, reportBadPasswd);
burn (&CmdVolumePassword, sizeof (CmdVolumePassword));
}
if (FirstCmdKeyFile)
@@ -5157,14 +5202,14 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
KeyFilesEnable = TRUE;
}
// Ask user for password
while (!mounted && !Silent)
{
- int GuiPkcs5 = CmdVolumePkcs5;
- BOOL GuiTrueCryptMode = CmdVolumeTrueCryptMode;
+ int GuiPkcs5 = EffectiveVolumePkcs5;
+ BOOL GuiTrueCryptMode = EffectiveVolumeTrueCryptMode;
VolumePassword.Length = 0;
StringCbCopyA (PasswordDlgVolume, sizeof(PasswordDlgVolume),szFileName);
if (!AskVolumePassword (hwndDlg, &VolumePassword, &GuiPkcs5, &GuiTrueCryptMode, NULL, TRUE))
break;
else
@@ -6624,12 +6669,18 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
if (lw == IDM_DEFAULT_KEYFILES)
{
KeyfileDefaultsDlg (hwndDlg);
return 1;
}
+ if (lw == IDM_DEFAULT_MOUNT_PARAMETERS)
+ {
+ DialogBoxParamW (hInst, MAKEINTRESOURCEW (IDD_DEFAULT_MOUNT_PARAMETERS), hwndDlg, (DLGPROC) DefaultMountParametersDlgProc, 0);
+ return 1;
+ }
+
if (lw == IDM_ADD_VOLUME_TO_FAVORITES || lw == IDM_ADD_VOLUME_TO_SYSTEM_FAVORITES)
{
LPARAM selectedDrive = GetSelectedLong (GetDlgItem (hwndDlg, IDC_DRIVELIST));
char volPathLower[TC_MAX_PATH];
wchar_t volPathLowerW[TC_MAX_PATH];
@@ -8942,12 +8993,86 @@ static BOOL CALLBACK SecurityTokenPreferencesDlgProc (HWND hwndDlg, UINT msg, WP
return 0;
}
return 0;
}
+static BOOL CALLBACK DefaultMountParametersDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
+{
+ WORD lw = LOWORD (wParam);
+
+ switch (msg)
+ {
+ case WM_INITDIALOG:
+ {
+ LocalizeDialog (hwndDlg, "IDD_DEFAULT_MOUNT_PARAMETERS");
+
+ SendMessage (GetDlgItem (hwndDlg, IDC_TRUECRYPT_MODE), BM_SETCHECK,
+ DefaultVolumeTrueCryptMode ? BST_CHECKED:BST_UNCHECKED, 0);
+
+ /* Populate the PRF algorithms list */
+ int i, nIndex, defaultPrfIndex = 0;
+ HWND hComboBox = GetDlgItem (hwndDlg, IDC_PKCS5_PRF_ID);
+ SendMessage (hComboBox, CB_RESETCONTENT, 0, 0);
+
+ nIndex = SendMessageW (hComboBox, CB_ADDSTRING, 0, (LPARAM) GetString ("AUTODETECTION"));
+ SendMessage (hComboBox, CB_SETITEMDATA, nIndex, (LPARAM) 0);
+
+ for (i = FIRST_PRF_ID; i <= LAST_PRF_ID; i++)
+ {
+ nIndex = SendMessage (hComboBox, CB_ADDSTRING, 0, (LPARAM) get_pkcs5_prf_name(i));
+ SendMessage (hComboBox, CB_SETITEMDATA, nIndex, (LPARAM) i);
+ if (DefaultVolumePkcs5 && (DefaultVolumePkcs5 == i))
+ defaultPrfIndex = nIndex;
+ }
+
+ /* make autodetection the default unless a specific PRF was specified in the command line */
+ SendMessage (hComboBox, CB_SETCURSEL, defaultPrfIndex, 0);
+
+ return 0;
+ }
+
+ case WM_COMMAND:
+
+ switch (lw)
+ {
+ case IDCANCEL:
+ EndDialog (hwndDlg, lw);
+ return 1;
+
+ case IDOK:
+ {
+ int pkcs5 = (int) SendMessage (GetDlgItem (hwndDlg, IDC_PKCS5_PRF_ID), CB_GETITEMDATA, SendMessage (GetDlgItem (hwndDlg, IDC_PKCS5_PRF_ID), CB_GETCURSEL, 0, 0), 0);
+ BOOL truecryptMode = GetCheckBox (hwndDlg, IDC_TRUECRYPT_MODE);
+ /* SHA-256 is not supported by TrueCrypt */
+ if ( (truecryptMode)
+ && (pkcs5 == SHA256)
+ )
+ {
+ Error ("ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE", hwndDlg);
+ }
+ else
+ {
+ WaitCursor ();
+ DefaultVolumeTrueCryptMode = truecryptMode;
+ DefaultVolumePkcs5 = pkcs5;
+
+ SaveSettings (hwndDlg);
+
+ NormalCursor ();
+ EndDialog (hwndDlg, lw);
+ }
+ return 1;
+ }
+
+ }
+ return 0;
+ }
+
+ return 0;
+}
void SecurityTokenPreferencesDialog (HWND hwndDlg)
{
DialogBoxParamW (hInst, MAKEINTRESOURCEW (IDD_TOKEN_PREFERENCES), hwndDlg, (DLGPROC) SecurityTokenPreferencesDlgProc, 0);
}
diff --git a/src/Mount/Mount.h b/src/Mount/Mount.h
index 00552da0..6c3cf01e 100644
--- a/src/Mount/Mount.h
+++ b/src/Mount/Mount.h
@@ -107,12 +107,13 @@ static BOOL CALLBACK PerformanceSettingsDlgProc (HWND hwndDlg, UINT msg, WPARAM
static BOOL CALLBACK BootLoaderPreferencesDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
void MountSelectedVolume (HWND hwndDlg, BOOL mountWithOptions);
uint32 ReadDriverConfigurationFlags ();
void AnalyzeKernelMiniDump (HWND hwndDlg);
void HookMouseWheel (HWND hwndDlg, UINT ctrlId);
static BOOL HandleDriveListMouseWheelEvent (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL bListMustBePointed);
+static BOOL CALLBACK DefaultMountParametersDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
#ifdef __cplusplus
}
typedef struct
{
diff --git a/src/Mount/Mount.rc b/src/Mount/Mount.rc
index fdc50bc9..4783aea3 100644
--- a/src/Mount/Mount.rc
+++ b/src/Mount/Mount.rc
@@ -328,12 +328,24 @@ BEGIN
PUSHBUTTON "Cancel",IDCANCEL,323,257,50,14
GROUPBOX "",IDC_FAV_VOL_OPTIONS_GROUP_BOX,7,121,366,130
LTEXT "Label of selected favorite volume:",IDT_FAVORITE_LABEL,18,132,202,8
GROUPBOX "Global Settings",IDC_FAV_VOL_OPTIONS_GLOBAL_SETTINGS_BOX,7,202,366,49
END
+IDD_DEFAULT_MOUNT_PARAMETERS DIALOGEX 0, 0, 167, 65
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "VeraCrypt - Mount Parameters"
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ DEFPUSHBUTTON "OK",IDOK,57,44,50,14
+ PUSHBUTTON "Cancel",IDCANCEL,111,44,50,14
+ COMBOBOX IDC_PKCS5_PRF_ID,57,24,103,90,CBS_DROPDOWNLIST | WS_TABSTOP
+ LTEXT "PKCS-5 PRF:",IDT_PKCS5_PRF,8,26,44,11
+ CONTROL "TrueCrypt Mode",IDC_TRUECRYPT_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,76,10
+END
+
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
@@ -419,12 +431,20 @@ BEGIN
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 373
TOPMARGIN, 7
BOTTOMMARGIN, 269
END
+
+ IDD_DEFAULT_MOUNT_PARAMETERS, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 160
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 58
+ END
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
@@ -591,12 +611,13 @@ BEGIN
MENUITEM "System Encryption...", IDM_SYSENC_SETTINGS
MENUITEM "System Favorite Volumes...", IDM_SYS_FAVORITES_SETTINGS
MENUITEM SEPARATOR
MENUITEM "Performance...", IDM_PERFORMANCE_SETTINGS
MENUITEM SEPARATOR
MENUITEM "Default Keyfiles...", IDM_DEFAULT_KEYFILES
+ MENUITEM "Default Mount Parameters...", IDM_DEFAULT_MOUNT_PARAMETERS
MENUITEM "Security Tokens...", IDM_TOKEN_PREFERENCES
MENUITEM SEPARATOR
MENUITEM "Preferences...", IDM_PREFERENCES
END
POPUP "Hel&p"
BEGIN
diff --git a/src/Mount/Resource.h b/src/Mount/Resource.h
index ca2bdc84..c2c23d9f 100644
--- a/src/Mount/Resource.h
+++ b/src/Mount/Resource.h
@@ -17,12 +17,13 @@
#define IDB_LOGO_96DPI 112
#define IDB_SYS_DRIVEICON 113
#define IDB_SYS_DRIVEICON_MASK 114
#define IDD_TOKEN_PREFERENCES 115
#define IDD_SYSENC_SETTINGS 116
#define IDD_FAVORITE_VOLUMES 117
+#define IDD_DEFAULT_MOUNT_PARAMETERS 118
#define IDC_PREF_MOUNT_READONLY 1000
#define IDC_PREF_MOUNT_REMOVABLE 1001
#define IDC_VERIFY 1002
#define IDC_PREF_BKG_TASK_ENABLE 1003
#define IDC_OLD_PASSWORD 1004
#define IDC_CACHE 1005
@@ -223,18 +224,20 @@
#define IDM_ADD_VOLUME_TO_FAVORITES 40060
#define IDM_ADD_VOLUME_TO_SYSTEM_FAVORITES 40061
#define IDM_PERFORMANCE_SETTINGS 40062
#define IDM_ANALYZE_SYSTEM_CRASH 40063
#define IDM_DONATE 40064
#define IDM_VOLUME_EXPANDER 40065
+#define ID_SETTINGS_DEFAULTMOUNTOPTIONS 40066
+#define IDM_DEFAULT_MOUNT_PARAMETERS 40067
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC 1
-#define _APS_NEXT_RESOURCE_VALUE 118
-#define _APS_NEXT_COMMAND_VALUE 40066
+#define _APS_NEXT_RESOURCE_VALUE 119
+#define _APS_NEXT_COMMAND_VALUE 40068
#define _APS_NEXT_CONTROL_VALUE 1141
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif