mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2025-11-11 19:08:26 -06:00
Windows: first implementation of dynamic mode
This commit is contained in:
@@ -72,7 +72,7 @@ BOOL CALLBACK ExpandVolProgressDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, L
|
||||
namespace VeraCryptExpander
|
||||
{
|
||||
/* defined in WinMain.c, referenced by ExpandVolumeWizard() */
|
||||
int ExtcvAskVolumePassword (HWND hwndDlg, Password *password, int *pkcs5, BOOL* truecryptMode, char *titleStringId, BOOL enableMountOptions);
|
||||
int ExtcvAskVolumePassword (HWND hwndDlg, Password *password, int *pkcs5, int *pin, BOOL* truecryptMode, char *titleStringId, BOOL enableMountOptions);
|
||||
}
|
||||
|
||||
|
||||
@@ -406,6 +406,7 @@ typedef struct
|
||||
const char *volumePath;
|
||||
Password *password;
|
||||
int pkcs5_prf;
|
||||
int pin;
|
||||
BOOL truecryptMode;
|
||||
BOOL write;
|
||||
BOOL preserveTimestamps;
|
||||
@@ -418,7 +419,7 @@ void CALLBACK OpenVolumeWaitThreadProc(void* pArg, HWND hwndDlg)
|
||||
OpenVolumeThreadParam* pThreadParam = (OpenVolumeThreadParam*) pArg;
|
||||
|
||||
*(pThreadParam)->nStatus = OpenVolume(pThreadParam->context, pThreadParam->volumePath, pThreadParam->password, pThreadParam->pkcs5_prf,
|
||||
pThreadParam->truecryptMode, pThreadParam->write, pThreadParam->preserveTimestamps, pThreadParam->useBackupHeader);
|
||||
pThreadParam->pin, pThreadParam->truecryptMode, pThreadParam->write, pThreadParam->preserveTimestamps, pThreadParam->useBackupHeader);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -444,7 +445,7 @@ void ExpandVolumeWizard (HWND hwndDlg, char *lpszVolume)
|
||||
int nStatus = ERR_OS_ERROR;
|
||||
wchar_t szTmp[4096];
|
||||
Password VolumePassword;
|
||||
int VolumePkcs5 = 0;
|
||||
int VolumePkcs5 = 0, VolumePin = -1;
|
||||
uint64 hostSize, volSize, hostSizeFree, maxSizeFS;
|
||||
BOOL bIsDevice, bIsLegacy;
|
||||
DWORD dwError;
|
||||
@@ -512,7 +513,7 @@ void ExpandVolumeWizard (HWND hwndDlg, char *lpszVolume)
|
||||
OpenVolumeContext expandVol;
|
||||
BOOL truecryptMode = FALSE;
|
||||
|
||||
if (!VeraCryptExpander::ExtcvAskVolumePassword (hwndDlg, &VolumePassword, &VolumePkcs5, &truecryptMode, "ENTER_NORMAL_VOL_PASSWORD", FALSE))
|
||||
if (!VeraCryptExpander::ExtcvAskVolumePassword (hwndDlg, &VolumePassword, &VolumePkcs5, &VolumePin, &truecryptMode, "ENTER_NORMAL_VOL_PASSWORD", FALSE))
|
||||
{
|
||||
goto ret;
|
||||
}
|
||||
@@ -530,6 +531,7 @@ void ExpandVolumeWizard (HWND hwndDlg, char *lpszVolume)
|
||||
threadParam.volumePath = lpszVolume;
|
||||
threadParam.password = &VolumePassword;
|
||||
threadParam.pkcs5_prf = VolumePkcs5;
|
||||
threadParam.pin = VolumePin;
|
||||
threadParam.truecryptMode = FALSE;
|
||||
threadParam.write = FALSE;
|
||||
threadParam.preserveTimestamps = bPreserveTimestamp;
|
||||
@@ -576,7 +578,7 @@ void ExpandVolumeWizard (HWND hwndDlg, char *lpszVolume)
|
||||
WaitCursor();
|
||||
|
||||
// auto mount the volume to check the file system type
|
||||
nStatus=MountVolTemp(hwndDlg, lpszVolume, &driveNo, &VolumePassword, VolumePkcs5);
|
||||
nStatus=MountVolTemp(hwndDlg, lpszVolume, &driveNo, &VolumePassword, VolumePkcs5, VolumePin);
|
||||
|
||||
if (nStatus != ERR_SUCCESS)
|
||||
goto error;
|
||||
@@ -651,6 +653,7 @@ void ExpandVolumeWizard (HWND hwndDlg, char *lpszVolume)
|
||||
VolExpandParam.FileSystem = volFSType;
|
||||
VolExpandParam.pVolumePassword = &VolumePassword;
|
||||
VolExpandParam.VolumePkcs5 = VolumePkcs5;
|
||||
VolExpandParam.VolumePin = VolumePin;
|
||||
VolExpandParam.bIsDevice = bIsDevice;
|
||||
VolExpandParam.bIsLegacy = bIsLegacy;
|
||||
VolExpandParam.oldSize = bIsDevice ? volSize : hostSize;
|
||||
|
||||
Reference in New Issue
Block a user