mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2025-11-11 11:08:02 -06:00
Windows: enable showing/hiding password for system encryption in Windows UI and in the bootloader (F5 key). This will be helpful to diagnose issues with non-US versions of Windows.
This commit is contained in:
@@ -60,6 +60,7 @@ static void PrintMainMenu ()
|
||||
return;
|
||||
|
||||
Print (" Keyboard Controls:\r\n");
|
||||
Print (" [F5] Hide/Show Password\r\n");
|
||||
Print (" [Esc] ");
|
||||
|
||||
#ifndef TC_WINDOWS_BOOT_RESCUE_DISK_MODE
|
||||
@@ -149,6 +150,7 @@ static byte AskPassword (Password &password)
|
||||
size_t pos = 0;
|
||||
byte scanCode;
|
||||
byte asciiCode;
|
||||
byte hidePassword = 1;
|
||||
|
||||
Print ("Enter password");
|
||||
Print (PreventNormalSystemBoot ? " for hidden system:\r\n" : ": ");
|
||||
@@ -178,6 +180,10 @@ static byte AskPassword (Password &password)
|
||||
}
|
||||
continue;
|
||||
|
||||
case TC_BIOS_KEY_F5:
|
||||
hidePassword ^= 0x01;
|
||||
continue;
|
||||
|
||||
default:
|
||||
if (scanCode == TC_BIOS_KEY_ESC || IsMenuKey (scanCode))
|
||||
{
|
||||
@@ -196,10 +202,11 @@ static byte AskPassword (Password &password)
|
||||
}
|
||||
|
||||
password.Text[pos++] = asciiCode;
|
||||
if (hidePassword) asciiCode = '*';
|
||||
if (pos < MAX_PASSWORD)
|
||||
PrintChar ('*');
|
||||
PrintChar (asciiCode);
|
||||
else
|
||||
PrintCharAtCursor ('*');
|
||||
PrintCharAtCursor (asciiCode);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -534,7 +534,6 @@ BOOL CALLBACK ExtcvPasswordDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARA
|
||||
}
|
||||
|
||||
SetCheckBox (hwndDlg, IDC_SHOW_PASSWORD, FALSE);
|
||||
EnableWindow (GetDlgItem (hwndDlg, IDC_SHOW_PASSWORD), FALSE);
|
||||
|
||||
SendMessage (GetDlgItem (hwndDlg, IDC_PASSWORD), EM_SETPASSWORDCHAR, '*', 0);
|
||||
InvalidateRect (GetDlgItem (hwndDlg, IDC_PASSWORD), NULL, TRUE);
|
||||
|
||||
@@ -3932,7 +3932,6 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
|
||||
bKeyboardLayoutChanged = TRUE;
|
||||
}
|
||||
|
||||
ShowWindow(GetDlgItem(hwndDlg, IDC_SHOW_PASSWORD), SW_HIDE);
|
||||
|
||||
if (SetTimer (MainDlg, TIMER_ID_KEYB_LAYOUT_GUARD, TIMER_INTERVAL_KEYB_LAYOUT_GUARD, NULL) == 0)
|
||||
{
|
||||
|
||||
@@ -1744,8 +1744,6 @@ BOOL CALLBACK PasswordChangeDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPAR
|
||||
bKeyboardLayoutChanged = TRUE;
|
||||
}
|
||||
|
||||
ShowWindow(GetDlgItem(hwndDlg, IDC_SHOW_PASSWORD_CHPWD_NEW), SW_HIDE);
|
||||
ShowWindow(GetDlgItem(hwndDlg, IDC_SHOW_PASSWORD_CHPWD_ORI), SW_HIDE);
|
||||
|
||||
/* for system encryption, we can't change the PRF */
|
||||
EnableWindow (GetDlgItem (hwndDlg, IDT_PKCS5_PRF), FALSE);
|
||||
@@ -2279,7 +2277,6 @@ BOOL CALLBACK PasswordDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPa
|
||||
}
|
||||
|
||||
SetCheckBox (hwndDlg, IDC_SHOW_PASSWORD, FALSE);
|
||||
EnableWindow (GetDlgItem (hwndDlg, IDC_SHOW_PASSWORD), FALSE);
|
||||
|
||||
SendMessage (GetDlgItem (hwndDlg, IDC_PASSWORD), EM_SETPASSWORDCHAR, '*', 0);
|
||||
InvalidateRect (GetDlgItem (hwndDlg, IDC_PASSWORD), NULL, TRUE);
|
||||
|
||||
Reference in New Issue
Block a user