diff options
author | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2016-01-10 19:35:57 +0100 |
---|---|---|
committer | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2016-01-10 20:45:15 +0100 |
commit | fb430c403b2e0deb3f34328d3b65bd39c10b14ba (patch) | |
tree | 274cefc763648484f7094f948365704aaf29e729 | |
parent | 5597a1e390e510a1c4e91866e88c2f10de80688b (diff) | |
download | VeraCrypt-fb430c403b2e0deb3f34328d3b65bd39c10b14ba.tar.gz VeraCrypt-fb430c403b2e0deb3f34328d3b65bd39c10b14ba.zip |
Windows: Don't show disconnected network drives in the list of available drives. Add option to make them available for mounting if needed.
-rw-r--r-- | src/Common/Dlgcode.c | 46 | ||||
-rw-r--r-- | src/Common/Dlgcode.h | 2 | ||||
-rw-r--r-- | src/Common/Language.xml | 1 | ||||
-rw-r--r-- | src/ExpandVolume/ExpandVolume.vcproj | 12 | ||||
-rw-r--r-- | src/ExpandVolume/WinMain.cpp | 2 | ||||
-rw-r--r-- | src/Format/Format.vcproj | 12 | ||||
-rw-r--r-- | src/Format/Tcformat.c | bin | 633832 -> 634120 bytes | |||
-rw-r--r-- | src/Mount/Mount.c | 16 | ||||
-rw-r--r-- | src/Mount/Mount.rc | 38 | ||||
-rw-r--r-- | src/Mount/Mount.vcproj | 12 | ||||
-rw-r--r-- | src/Mount/Resource.h | 3 | ||||
-rw-r--r-- | src/Setup/Setup.vcproj | 7 |
12 files changed, 109 insertions, 42 deletions
diff --git a/src/Common/Dlgcode.c b/src/Common/Dlgcode.c index 6d86449c..cc7f0e74 100644 --- a/src/Common/Dlgcode.c +++ b/src/Common/Dlgcode.c @@ -101,6 +101,7 @@ wchar_t *lpszTitle = NULL; BOOL Silent = FALSE;
BOOL bPreserveTimestamp = TRUE;
+BOOL bShowDisconnectedNetworkDrives = FALSE;
BOOL bStartOnLogon = FALSE;
BOOL bMountDevicesOnLogon = FALSE;
BOOL bMountFavoritesOnLogon = FALSE;
@@ -225,6 +226,7 @@ HMODULE hbcryptdll = NULL; HMODULE hbcryptprimitivesdll = NULL;
HMODULE hMsls31 = NULL;
HMODULE hntmartadll = NULL;
+HMODULE hwinscarddll = NULL;
#define FREE_DLL(h) if (h) { FreeLibrary (h); h = NULL;}
@@ -572,6 +574,7 @@ void AbortProcessDirect (wchar_t *abortMsg) FREE_DLL (hbcryptprimitivesdll);
FREE_DLL (hMsls31);
FREE_DLL (hntmartadll);
+ FREE_DLL (hwinscarddll);
exit (1);
}
@@ -620,6 +623,7 @@ void AbortProcessSilent (void) FREE_DLL (hbcryptprimitivesdll);
FREE_DLL (hMsls31);
FREE_DLL (hntmartadll);
+ FREE_DLL (hwinscarddll);
// Note that this function also causes localcleanup() to be called (see atexit())
exit (1);
@@ -2492,6 +2496,7 @@ void InitApp (HINSTANCE hInstance, wchar_t *lpszCommandLine) InitOSVersionInfo();
LoadSystemDll (L"ntmarta.dll", &hntmartadll, TRUE, SRC_POS);
+ LoadSystemDll (L"MPR.DLL", &hmprdll, TRUE, SRC_POS);
#ifdef SETUP
if (IsOSAtLeast (WIN_7))
{
@@ -2529,7 +2534,6 @@ void InitApp (HINSTANCE hInstance, wchar_t *lpszCommandLine) LoadSystemDll (L"netapi32.dll", &hnetapi32dll, TRUE, SRC_POS);
LoadSystemDll (L"authz.dll", &hauthzdll, TRUE, SRC_POS);
LoadSystemDll (L"xmllite.dll", &hxmllitedll, TRUE, SRC_POS);
- LoadSystemDll (L"mpr.dll", &hmprdll, TRUE, SRC_POS);
}
}
@@ -2555,6 +2559,8 @@ void InitApp (HINSTANCE hInstance, wchar_t *lpszCommandLine) LoadSystemDll (L"bcryptprimitives.dll", &hbcryptprimitivesdll, TRUE, SRC_POS);
}
}
+#else
+ LoadSystemDll (L"WINSCARD.DLL", &hwinscarddll, TRUE, SRC_POS);
#endif
LoadSystemDll (L"COMCTL32.DLL", &hComctl32Dll, FALSE, SRC_POS);
@@ -2804,6 +2810,7 @@ void InitApp (HINSTANCE hInstance, wchar_t *lpszCommandLine) FREE_DLL (hbcryptprimitivesdll);
FREE_DLL (hMsls31);
FREE_DLL (hntmartadll);
+ FREE_DLL (hwinscarddll);
exit (1);
}
#endif
@@ -2847,6 +2854,7 @@ void FinalizeApp (void) FREE_DLL (hbcryptprimitivesdll);
FREE_DLL (hMsls31);
FREE_DLL (hntmartadll);
+ FREE_DLL (hwinscarddll);
}
void InitHelpFileName (void)
@@ -6506,10 +6514,40 @@ BOOL WrongPwdRetryCountOverLimit (void) return (WrongPwdRetryCounter > TC_TRY_HEADER_BAK_AFTER_NBR_WRONG_PWD_TRIES);
}
+DWORD GetUsedLogicalDrives (void)
+{
+ DWORD dwUsedDrives = GetLogicalDrives();
+ if (!bShowDisconnectedNetworkDrives)
+ {
+ /* detect disconnected mapped network shares and removed
+ * their associated drives from the list
+ */
+ WCHAR remotePath[512];
+ WCHAR drive[3] = {L'A', L':', 0};
+ DWORD dwLen, status;
+ for (WCHAR i = 0; i <= MAX_MOUNTED_VOLUME_DRIVE_NUMBER; i++)
+ {
+ if ((dwUsedDrives & (1 << i)) == 0)
+ {
+ drive[0] = L'A' + i;
+ dwLen = ARRAYSIZE (remotePath);
+ status = WNetGetConnection (drive, remotePath, &dwLen);
+ if ((NO_ERROR == status) || (status == ERROR_CONNECTION_UNAVAIL))
+ {
+ /* this is a mapped network share, mark it as used */
+ dwUsedDrives |= (1 << i);
+ }
+ }
+ }
+ }
+
+ return dwUsedDrives;
+}
+
int GetFirstAvailableDrive ()
{
- DWORD dwUsedDrives = GetLogicalDrives();
+ DWORD dwUsedDrives = GetUsedLogicalDrives();
int i;
for (i = 0; i < 26; i++)
@@ -6524,7 +6562,7 @@ int GetFirstAvailableDrive () int GetLastAvailableDrive ()
{
- DWORD dwUsedDrives = GetLogicalDrives();
+ DWORD dwUsedDrives = GetUsedLogicalDrives();
int i;
for (i = 25; i >= 0; i--)
@@ -6539,7 +6577,7 @@ int GetLastAvailableDrive () BOOL IsDriveAvailable (int driveNo)
{
- return (GetLogicalDrives() & (1 << driveNo)) == 0;
+ return (GetUsedLogicalDrives() & (1 << driveNo)) == 0;
}
diff --git a/src/Common/Dlgcode.h b/src/Common/Dlgcode.h index 7ab74c08..601f7ac7 100644 --- a/src/Common/Dlgcode.h +++ b/src/Common/Dlgcode.h @@ -115,6 +115,7 @@ extern HWND MainDlg; extern BOOL Silent;
extern BOOL bHistory;
extern BOOL bPreserveTimestamp;
+extern BOOL bShowDisconnectedNetworkDrives;
extern BOOL bStartOnLogon;
extern BOOL bMountDevicesOnLogon;
extern BOOL bMountFavoritesOnLogon;
@@ -330,6 +331,7 @@ void CorrectFileName (wchar_t* fileName); void IncreaseWrongPwdRetryCount (int count);
void ResetWrongPwdRetryCount (void);
BOOL WrongPwdRetryCountOverLimit (void);
+DWORD GetUsedLogicalDrives (void);
int GetFirstAvailableDrive ();
int GetLastAvailableDrive ();
BOOL IsDriveAvailable (int driveNo);
diff --git a/src/Common/Language.xml b/src/Common/Language.xml index 1fbed144..16821359 100644 --- a/src/Common/Language.xml +++ b/src/Common/Language.xml @@ -181,6 +181,7 @@ <control lang="en" key="IDC_SELECT_DEVICE">Select D&evice...</control>
<control lang="en" key="IDC_SELECT_FILE">Select &File...</control>
<control lang="en" key="IDC_SELECT_PKCS11_MODULE">Select &Library...</control>
+ <control lang="en" key="IDC_SHOW_DISCONNECTED_NETWORK_DRIVES">Make disconnected network drives available for mounting</control>
<control lang="en" key="IDC_SHOW_PASSWORD_CHPWD_NEW">Display password</control>
<control lang="en" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Display password</control>
<control lang="en" key="IDC_TRAVEL_OPEN_EXPLORER">Open &Explorer window for mounted volume</control>
diff --git a/src/ExpandVolume/ExpandVolume.vcproj b/src/ExpandVolume/ExpandVolume.vcproj index 544104f4..4ca6c9d9 100644 --- a/src/ExpandVolume/ExpandVolume.vcproj +++ b/src/ExpandVolume/ExpandVolume.vcproj @@ -75,11 +75,12 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="..\Crypto\Debug\crypto.lib"
+ AdditionalDependencies="..\Crypto\Debug\crypto.lib mpr.lib"
OutputFile="$(OutDir)/VeraCryptExpander.exe"
LinkIncremental="2"
GenerateManifest="false"
IgnoreAllDefaultLibraries="false"
+ DelayLoadDLLs="mpr.dll"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/ExpandVolume.pdb"
SubSystem="2"
@@ -168,11 +169,12 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="..\Crypto\x64\Debug\crypto.lib"
+ AdditionalDependencies="..\Crypto\x64\Debug\crypto.lib mpr.lib"
OutputFile="$(OutDir)/VeraCryptExpander.exe"
LinkIncremental="2"
GenerateManifest="false"
IgnoreAllDefaultLibraries="false"
+ DelayLoadDLLs="mpr.dll"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/ExpandVolume.pdb"
SubSystem="2"
@@ -256,11 +258,12 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="..\Crypto\Release\crypto.lib"
+ AdditionalDependencies="..\Crypto\Release\crypto.lib mpr.lib"
OutputFile="$(OutDir)/VeraCryptExpander.exe"
LinkIncremental="1"
GenerateManifest="false"
IgnoreAllDefaultLibraries="false"
+ DelayLoadDLLs="mpr.dll"
GenerateDebugInformation="false"
GenerateMapFile="true"
SubSystem="2"
@@ -347,11 +350,12 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="..\Crypto\x64\Release\crypto.lib"
+ AdditionalDependencies="..\Crypto\x64\Release\crypto.lib mpr.lib"
OutputFile="$(OutDir)/VeraCryptExpander.exe"
LinkIncremental="1"
GenerateManifest="false"
IgnoreAllDefaultLibraries="false"
+ DelayLoadDLLs="mpr.dll"
GenerateDebugInformation="false"
GenerateMapFile="true"
SubSystem="2"
diff --git a/src/ExpandVolume/WinMain.cpp b/src/ExpandVolume/WinMain.cpp index ec32d405..4c9165d9 100644 --- a/src/ExpandVolume/WinMain.cpp +++ b/src/ExpandVolume/WinMain.cpp @@ -282,6 +282,7 @@ void LoadSettings (HWND hwndDlg) defaultKeyFilesParam.EnableKeyFiles = ConfigReadInt ("UseKeyfiles", FALSE); bPreserveTimestamp = defaultMountOptions.PreserveTimestamp = ConfigReadInt ("PreserveTimestamps", TRUE); + bShowDisconnectedNetworkDrives = ConfigReadInt ("ShowDisconnectedNetworkDrives", FALSE); defaultMountOptions.Removable = ConfigReadInt ("MountVolumesRemovable", FALSE); defaultMountOptions.ReadOnly = ConfigReadInt ("MountVolumesReadOnly", FALSE); defaultMountOptions.ProtectHiddenVolume = FALSE; @@ -871,6 +872,7 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa // Set critical default options in case UsePreferences is false bPreserveTimestamp = defaultMountOptions.PreserveTimestamp = TRUE; + bShowDisconnectedNetworkDrives = FALSE; if (UsePreferences) { diff --git a/src/Format/Format.vcproj b/src/Format/Format.vcproj index 5c4deb31..b8747baf 100644 --- a/src/Format/Format.vcproj +++ b/src/Format/Format.vcproj @@ -68,11 +68,12 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="..\Crypto\Debug\crypto.lib"
+ AdditionalDependencies="..\Crypto\Debug\crypto.lib mpr.lib"
OutputFile="$(OutDir)/VeraCryptFormat.exe"
LinkIncremental="2"
GenerateManifest="false"
IgnoreAllDefaultLibraries="false"
+ DelayLoadDLLs="mpr.dll"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/Format.pdb"
SubSystem="2"
@@ -154,11 +155,12 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="..\Crypto\x64\Debug\crypto.lib"
+ AdditionalDependencies="..\Crypto\x64\Debug\crypto.lib mpr.lib"
OutputFile="$(OutDir)/VeraCryptFormat.exe"
LinkIncremental="2"
GenerateManifest="false"
IgnoreAllDefaultLibraries="false"
+ DelayLoadDLLs="mpr.dll"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/Format.pdb"
SubSystem="2"
@@ -240,11 +242,12 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="..\Crypto\Release\crypto.lib"
+ AdditionalDependencies="..\Crypto\Release\crypto.lib mpr.lib"
OutputFile="$(OutDir)/VeraCryptFormat.exe"
LinkIncremental="1"
GenerateManifest="false"
IgnoreAllDefaultLibraries="false"
+ DelayLoadDLLs="mpr.dll"
GenerateDebugInformation="false"
GenerateMapFile="true"
SubSystem="2"
@@ -329,11 +332,12 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="..\Crypto\x64\Release\crypto.lib"
+ AdditionalDependencies="..\Crypto\x64\Release\crypto.lib mpr.lib"
OutputFile="$(OutDir)/VeraCryptFormat.exe"
LinkIncremental="1"
GenerateManifest="false"
IgnoreAllDefaultLibraries="false"
+ DelayLoadDLLs="mpr.dll"
GenerateDebugInformation="false"
GenerateMapFile="true"
SubSystem="2"
diff --git a/src/Format/Tcformat.c b/src/Format/Tcformat.c Binary files differindex c660e10b..54e0d63e 100644 --- a/src/Format/Tcformat.c +++ b/src/Format/Tcformat.c diff --git a/src/Mount/Mount.c b/src/Mount/Mount.c index 59023200..1aef7a53 100644 --- a/src/Mount/Mount.c +++ b/src/Mount/Mount.c @@ -705,6 +705,8 @@ void LoadSettingsAndCheckModified (HWND hwndDlg, BOOL bOnlyCheckModified, BOOL* if (!bOnlyCheckModified)
bPreserveTimestamp = defaultMountOptions.PreserveTimestamp;
+ ConfigReadCompareInt ("ShowDisconnectedNetworkDrives", FALSE, &bShowDisconnectedNetworkDrives, bOnlyCheckModified, pbSettingsModified);
+
ConfigReadCompareInt ("MountVolumesRemovable", FALSE, &defaultMountOptions.Removable, bOnlyCheckModified, pbSettingsModified);
ConfigReadCompareInt ("MountVolumesReadOnly", FALSE, &defaultMountOptions.ReadOnly, bOnlyCheckModified, pbSettingsModified);
@@ -860,6 +862,7 @@ void SaveSettings (HWND hwndDlg) ConfigWriteInt ("MountVolumesReadOnly", defaultMountOptions.ReadOnly);
ConfigWriteInt ("MountVolumesRemovable", defaultMountOptions.Removable);
ConfigWriteInt ("PreserveTimestamps", defaultMountOptions.PreserveTimestamp);
+ ConfigWriteInt ("ShowDisconnectedNetworkDrives",bShowDisconnectedNetworkDrives);
ConfigWriteInt ("EnableBackgroundTask", bEnableBkgTask);
ConfigWriteInt ("CloseBackgroundTaskOnNoVolumes", bCloseBkgTaskWhenNoVolumes);
@@ -1454,7 +1457,7 @@ void LoadDriveLetters (HWND hwndDlg, HWND hTree, int drive) AbortProcessSilent();
}
- LastKnownLogicalDrives = dwUsedDrives = GetLogicalDrives ();
+ LastKnownLogicalDrives = dwUsedDrives = GetUsedLogicalDrives ();
if (dwUsedDrives == 0)
Warning ("DRIVELETTERS", hwndDlg);
@@ -3069,6 +3072,9 @@ BOOL CALLBACK PreferencesDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM SendMessage (GetDlgItem (hwndDlg, IDC_PRESERVE_TIMESTAMPS), BM_SETCHECK,
defaultMountOptions.PreserveTimestamp ? BST_CHECKED:BST_UNCHECKED, 0);
+
+ SendMessage (GetDlgItem (hwndDlg, IDC_SHOW_DISCONNECTED_NETWORK_DRIVES), BM_SETCHECK,
+ bShowDisconnectedNetworkDrives ? BST_CHECKED:BST_UNCHECKED, 0);
SendMessage (GetDlgItem (hwndDlg, IDC_PREF_TEMP_CACHE_ON_MULTIPLE_MOUNT), BM_SETCHECK,
bCacheDuringMultipleMount ? BST_CHECKED:BST_UNCHECKED, 0);
@@ -3183,6 +3189,7 @@ BOOL CALLBACK PreferencesDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM bExplore = IsButtonChecked (GetDlgItem (hwndDlg, IDC_PREF_OPEN_EXPLORER));
bUseDifferentTrayIconIfVolMounted = IsButtonChecked (GetDlgItem (hwndDlg, IDC_PREF_USE_DIFF_TRAY_ICON_IF_VOL_MOUNTED));
bPreserveTimestamp = defaultMountOptions.PreserveTimestamp = IsButtonChecked (GetDlgItem (hwndDlg, IDC_PRESERVE_TIMESTAMPS));
+ bShowDisconnectedNetworkDrives = IsButtonChecked (GetDlgItem (hwndDlg, IDC_SHOW_DISCONNECTED_NETWORK_DRIVES));
bCacheDuringMultipleMount = IsButtonChecked (GetDlgItem (hwndDlg, IDC_PREF_TEMP_CACHE_ON_MULTIPLE_MOUNT));
bWipeCacheOnExit = IsButtonChecked (GetDlgItem (hwndDlg, IDC_PREF_WIPE_CACHE_ON_EXIT));
bWipeCacheOnAutoDismount = IsButtonChecked (GetDlgItem (hwndDlg, IDC_PREF_WIPE_CACHE_ON_AUTODISMOUNT));
@@ -5830,7 +5837,7 @@ static BOOL CheckMountList (HWND hwndDlg, BOOL bForceTaskBarUpdate) return TRUE;
}
- if (LastKnownLogicalDrives != GetLogicalDrives()
+ if (LastKnownLogicalDrives != GetUsedLogicalDrives()
|| memcmp (&LastKnownMountList, ¤t, sizeof (current)) != 0)
{
wchar_t selDrive;
@@ -6188,6 +6195,7 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa // Set critical default options in case UsePreferences is false
bPreserveTimestamp = defaultMountOptions.PreserveTimestamp = TRUE;
+ bShowDisconnectedNetworkDrives = FALSE;
ResetWrongPwdRetryCount ();
@@ -7006,7 +7014,7 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa for (i = 0; i < 26; i++)
{
- if ((vol->dbcv_unitmask & (1 << i)) && !(GetLogicalDrives() & (1 << i)))
+ if ((vol->dbcv_unitmask & (1 << i)) && !(GetUsedLogicalDrives() & (1 << i)))
{
for (m = 0; m < 26; m++)
{
@@ -7891,7 +7899,7 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa if (lw == IDM_REFRESH_DRIVE_LETTERS)
{
- DWORD driveMap = GetLogicalDrives ();
+ DWORD driveMap = GetUsedLogicalDrives ();
WaitCursor ();
diff --git a/src/Mount/Mount.rc b/src/Mount/Mount.rc index 9e34d6bb..76cae781 100644 --- a/src/Mount/Mount.rc +++ b/src/Mount/Mount.rc @@ -41,7 +41,7 @@ IDR_MOUNT_TLB TYPELIB "Mount.tlb" // Dialog
//
-IDD_PREFERENCES_DLG DIALOGEX 0, 0, 336, 305
+IDD_PREFERENCES_DLG DIALOGEX 0, 0, 336, 316
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "VeraCrypt - Preferences"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
@@ -58,10 +58,12 @@ BEGIN CONTROL "Mount all device-hosted VeraCrypt volumes",IDC_PREF_LOGON_MOUNT_DEVICES,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,75,188,10
CONTROL "User logs off",IDC_PREF_DISMOUNT_LOGOFF,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,81,104,114,11
- CONTROL "Entering power saving mode",IDC_PREF_DISMOUNT_POWERSAVING,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,197,115,130,11
+ CONTROL "User session locked",IDC_PREF_DISMOUNT_SESSION_LOCKED,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,197,105,130,11
CONTROL "Screen saver is launched",IDC_PREF_DISMOUNT_SCREENSAVER,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,81,116,114,10
+ CONTROL "Entering power saving mode",IDC_PREF_DISMOUNT_POWERSAVING,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,197,115,130,11
CONTROL "Auto-dismount volume after no data has been read/written to it for",IDC_PREF_DISMOUNT_INACTIVE,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,128,246,11
EDITTEXT IDC_PREF_DISMOUNT_INACTIVE_TIME,258,127,27,12,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT
@@ -73,29 +75,29 @@ BEGIN "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,184,314,10
CONTROL "Preserve modification timestamp of file containers",IDC_PRESERVE_TIMESTAMPS,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,196,316,10
+ CONTROL "Make disconnected network drives available for mounting",IDC_SHOW_DISCONNECTED_NETWORK_DRIVES,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,208,316,10
CONTROL "Cache passwords in driver memory",IDC_PREF_CACHE_PASSWORDS,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,227,146,11
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,238,146,11
CONTROL "Wipe cached passwords on exit",IDC_PREF_WIPE_CACHE_ON_EXIT,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,162,227,165,11
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,162,238,165,11
+ CONTROL "Temporary Cache password during ""Mount Favorite Volumes"" operations",IDC_PREF_TEMP_CACHE_ON_MULTIPLE_MOUNT,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,252,294,11
CONTROL "Wipe cached passwords on auto-dismount",IDC_PREF_WIPE_CACHE_ON_AUTODISMOUNT,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,255,296,11
- PUSHBUTTON "More Settings...",IDC_MORE_SETTINGS,5,289,85,14
- DEFPUSHBUTTON "OK",IDOK,225,289,50,14
- PUSHBUTTON "Cancel",IDCANCEL,281,289,50,14
- GROUPBOX "Windows",IDT_WINDOWS_RELATED_SETTING,4,160,328,52
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,266,296,11
+ CONTROL "Include PIM when caching a password",IDC_PREF_CACHE_PIM,
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,280,296,10
+ PUSHBUTTON "More Settings...",IDC_MORE_SETTINGS,5,300,85,14
+ DEFPUSHBUTTON "OK",IDOK,225,300,50,14
+ PUSHBUTTON "Cancel",IDCANCEL,281,300,50,14
+ GROUPBOX "Windows",IDT_WINDOWS_RELATED_SETTING,4,160,328,62
GROUPBOX "Default Mount Options",IDT_DEFAULT_MOUNT_OPTIONS,4,3,328,26
GROUPBOX "VeraCrypt Background Task",IDT_TASKBAR_ICON,4,33,328,26
GROUPBOX "Auto-Dismount",IDT_AUTO_DISMOUNT,4,94,328,62
LTEXT "minutes",IDT_MINUTES,289,129,39,10
LTEXT "Dismount all when:",IDT_AUTO_DISMOUNT_ON,9,110,71,17
- GROUPBOX "Password Cache",IDT_PW_CACHE_OPTIONS,4,216,328,68
+ GROUPBOX "Password Cache",IDT_PW_CACHE_OPTIONS,4,227,328,68
GROUPBOX "Actions to perform upon logon to Windows",IDT_LOGON,4,63,328,28
- CONTROL "User session locked",IDC_PREF_DISMOUNT_SESSION_LOCKED,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,197,105,130,11
- CONTROL "Temporary Cache password during ""Mount Favorite Volumes"" operations",IDC_PREF_TEMP_CACHE_ON_MULTIPLE_MOUNT,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,241,294,11
- CONTROL "Include PIM when caching a password",IDC_PREF_CACHE_PIM,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,269,296,10
END
IDD_VOLUME_PROPERTIES DIALOGEX 60, 30, 284, 224
@@ -390,7 +392,7 @@ BEGIN LEFTMARGIN, 7
RIGHTMARGIN, 329
TOPMARGIN, 7
- BOTTOMMARGIN, 303
+ BOTTOMMARGIN, 314
END
IDD_VOLUME_PROPERTIES, DIALOG
diff --git a/src/Mount/Mount.vcproj b/src/Mount/Mount.vcproj index 260e3041..64163c7c 100644 --- a/src/Mount/Mount.vcproj +++ b/src/Mount/Mount.vcproj @@ -74,11 +74,12 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="..\Crypto\Debug\crypto.lib"
+ AdditionalDependencies="..\Crypto\Debug\crypto.lib mpr.lib"
OutputFile="$(OutDir)/VeraCrypt.exe"
LinkIncremental="2"
GenerateManifest="false"
IgnoreAllDefaultLibraries="false"
+ DelayLoadDLLs="mpr.dll"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/Mount.pdb"
SubSystem="2"
@@ -166,11 +167,12 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="..\Crypto\x64\Debug\crypto.lib"
+ AdditionalDependencies="..\Crypto\x64\Debug\crypto.lib mpr.lib"
OutputFile="$(OutDir)/VeraCrypt.exe"
LinkIncremental="2"
GenerateManifest="false"
IgnoreAllDefaultLibraries="false"
+ DelayLoadDLLs="mpr.dll"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/Mount.pdb"
SubSystem="2"
@@ -254,11 +256,12 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="..\Crypto\Release\crypto.lib"
+ AdditionalDependencies="..\Crypto\Release\crypto.lib mpr.lib"
OutputFile="$(OutDir)/VeraCrypt.exe"
LinkIncremental="1"
GenerateManifest="false"
IgnoreAllDefaultLibraries="false"
+ DelayLoadDLLs="mpr.dll"
GenerateDebugInformation="false"
GenerateMapFile="true"
SubSystem="2"
@@ -345,11 +348,12 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="..\Crypto\x64\Release\crypto.lib"
+ AdditionalDependencies="..\Crypto\x64\Release\crypto.lib mpr.lib"
OutputFile="$(OutDir)/VeraCrypt.exe"
LinkIncremental="1"
GenerateManifest="false"
IgnoreAllDefaultLibraries="false"
+ DelayLoadDLLs="mpr.dll"
GenerateDebugInformation="false"
GenerateMapFile="true"
SubSystem="2"
diff --git a/src/Mount/Resource.h b/src/Mount/Resource.h index b4c2ff2c..1a3bc9b4 100644 --- a/src/Mount/Resource.h +++ b/src/Mount/Resource.h @@ -175,6 +175,7 @@ #define IDT_WIPE_MODE 1153
#define IDC_PREF_CACHE_PIM 1154
#define IDC_BOOT_LOADER_CACHE_PIM 1155
+#define IDC_SHOW_DISCONNECTED_NETWORK_DRIVES 1156
#define IDM_HELP 40001
#define IDM_ABOUT 40002
#define IDM_UNMOUNT_VOLUME 40003
@@ -251,7 +252,7 @@ #define _APS_NO_MFC 1
#define _APS_NEXT_RESOURCE_VALUE 119
#define _APS_NEXT_COMMAND_VALUE 40069
-#define _APS_NEXT_CONTROL_VALUE 1156
+#define _APS_NEXT_CONTROL_VALUE 1157
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
diff --git a/src/Setup/Setup.vcproj b/src/Setup/Setup.vcproj index 02b33b36..b2fba01e 100644 --- a/src/Setup/Setup.vcproj +++ b/src/Setup/Setup.vcproj @@ -65,12 +65,12 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/NODEFAULTLIB:LIBCMTD"
- AdditionalDependencies="libcmtd.lib"
+ AdditionalDependencies="libcmtd.lib mpr.lib"
OutputFile="$(OutDir)/VeraCryptSetup.exe"
LinkIncremental="2"
GenerateManifest="false"
UACExecutionLevel="2"
- DelayLoadDLLs="user32.dll;gdi32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll"
+ DelayLoadDLLs="user32.dll;gdi32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;mpr.dll"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/Setup.pdb"
SubSystem="2"
@@ -153,11 +153,12 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/IGNORE:4089"
+ AdditionalDependencies="mpr.lib"
OutputFile="$(OutDir)/VeraCryptSetup.exe"
LinkIncremental="1"
GenerateManifest="false"
UACExecutionLevel="2"
- DelayLoadDLLs="user32.dll;gdi32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll"
+ DelayLoadDLLs="user32.dll;gdi32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;mpr.dll"
GenerateDebugInformation="false"
GenerateMapFile="true"
SubSystem="2"
|