diff options
Diffstat (limited to 'src/Mount/Mount.c')
-rw-r--r-- | src/Mount/Mount.c | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/src/Mount/Mount.c b/src/Mount/Mount.c index 7f8cbca2..ef116199 100644 --- a/src/Mount/Mount.c +++ b/src/Mount/Mount.c @@ -2389,16 +2389,9 @@ BOOL CALLBACK PasswordDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPa SendMessage (GetDlgItem (hwndDlg, IDC_PASSWORD), EM_LIMITTEXT, MAX_PASSWORD, 0);
SendMessage (GetDlgItem (hwndDlg, IDC_CACHE), BM_SETCHECK, bCacheInDriver ? BST_CHECKED:BST_UNCHECKED, 0);
SendMessage (GetDlgItem (hwndDlg, IDC_PIN), EM_LIMITTEXT, MAX_PIN, 0);
- if (*pin > 0)
- {
- /* display the given PIN */
- char szTmp[MAX_PIN + 1];
- StringCbPrintfA(szTmp, sizeof(szTmp), "%d", *pin);
-
- SetDlgItemText (hwndDlg, IDC_PIN, szTmp);
- }
+ SetPin (hwndDlg, IDC_PIN, *pin);
SetCheckBox (hwndDlg, IDC_KEYFILES_ENABLE, KeyFilesEnable);
mountOptions.PartitionInInactiveSysEncScope = bPrebootPasswordDlgMode;
@@ -2498,16 +2491,9 @@ BOOL CALLBACK PasswordDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPa SetCheckBox (hwndDlg, IDC_KEYFILES_ENABLE, FALSE);
EnableWindow (GetDlgItem (hwndDlg, IDC_KEYFILES_ENABLE), FALSE);
EnableWindow (GetDlgItem (hwndDlg, IDC_KEYFILES), FALSE);
- if (*pin >= 0)
- {
- /* display the given PIN */
- char szTmp[MAX_PIN + 1];
- StringCbPrintfA(szTmp, sizeof(szTmp), "%d", *pin);
-
- SetDlgItemText (hwndDlg, IDC_PIN, szTmp);
- }
+ SetPin (hwndDlg, IDC_PIN, *pin);
bPrebootPasswordDlgMode = TRUE;
}
return 1;
@@ -3025,15 +3011,21 @@ BOOL CALLBACK MountOptionsDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM EnableWindow (GetDlgItem (hwndDlg, IDC_KEYFILES_HIDVOL_PROT), protect);
EnableWindow (GetDlgItem (hwndDlg, IDC_KEYFILES_ENABLE_HIDVOL_PROT), protect);
EnableWindow (GetDlgItem (hwndDlg, IDT_PKCS5_PRF), protect);
EnableWindow (GetDlgItem (hwndDlg, IDC_PKCS5_PRF_ID), protect);
+ EnableWindow (GetDlgItem (hwndDlg, IDT_PIN), protect);
+ EnableWindow (GetDlgItem (hwndDlg, IDC_PIN), protect);
+ EnableWindow (GetDlgItem (hwndDlg, IDC_PIN_HELP), protect);
SetCheckBox (hwndDlg, IDC_KEYFILES_ENABLE_HIDVOL_PROT, hidVolProtKeyFilesParam.EnableKeyFiles);
SendDlgItemMessage (hwndDlg, IDC_PASSWORD_PROT_HIDVOL, EM_LIMITTEXT, MAX_PASSWORD, 0);
+ SendDlgItemMessage (hwndDlg, IDC_PIN, EM_LIMITTEXT, MAX_PIN, 0);
if (mountOptions->ProtectedHidVolPassword.Length > 0)
SetWindowText (GetDlgItem (hwndDlg, IDC_PASSWORD_PROT_HIDVOL), (LPSTR) mountOptions->ProtectedHidVolPassword.Text);
+
+ SetPin (hwndDlg, IDC_PIN, mountOptions->ProtectedHidVolPin);
ToHyperlink (hwndDlg, IDC_LINK_HIDVOL_PROTECTION_INFO);
}
@@ -3126,8 +3118,10 @@ BOOL CALLBACK MountOptionsDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM mountOptions->ProtectedHidVolPassword.Length = (unsigned __int32) strlen ((char *) mountOptions->ProtectedHidVolPassword.Text);
mountOptions->ProtectedHidVolPkcs5Prf = (int) SendMessage (GetDlgItem (hwndDlg, IDC_PKCS5_PRF_ID), CB_GETITEMDATA,
SendMessage (GetDlgItem (hwndDlg, IDC_PKCS5_PRF_ID), CB_GETCURSEL, 0, 0), 0);
+
+ mountOptions->ProtectedHidVolPin = GetPin (hwndDlg, IDC_PIN);
}
// Cleanup
memset (tmp, 'X', MAX_PASSWORD);
@@ -3164,8 +3158,11 @@ BOOL CALLBACK MountOptionsDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM EnableWindow (GetDlgItem (hwndDlg, IDC_KEYFILES_HIDVOL_PROT), protect);
EnableWindow (GetDlgItem (hwndDlg, IDC_KEYFILES_ENABLE_HIDVOL_PROT), protect);
EnableWindow (GetDlgItem (hwndDlg, IDT_PKCS5_PRF), protect);
EnableWindow (GetDlgItem (hwndDlg, IDC_PKCS5_PRF_ID), protect);
+ EnableWindow (GetDlgItem (hwndDlg, IDT_PIN), protect);
+ EnableWindow (GetDlgItem (hwndDlg, IDC_PIN), protect);
+ EnableWindow (GetDlgItem (hwndDlg, IDC_PIN_HELP), protect);
return 1;
}
|