VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Common/Dlgcode.c
diff options
context:
space:
mode:
authorFelix Reichmann <54814163+Van-Fouran@users.noreply.github.com>2022-08-25 09:46:58 +0200
committerGitHub <noreply@github.com>2022-08-25 09:46:58 +0200
commitc0ff7a7c521b1d658316d9a177383ab0c403007a (patch)
treea24b464fba3425b245222f84fd428848900831ef /src/Common/Dlgcode.c
parent99c3cda01a4bb4d1f08b93753ff3b79bcbc3e63e (diff)
downloadVeraCrypt-c0ff7a7c521b1d658316d9a177383ab0c403007a.tar.gz
VeraCrypt-c0ff7a7c521b1d658316d9a177383ab0c403007a.zip
New sys enc wizard (#957)SysEncWizardPR957
* New VeraCrypt interface (for system encryption) with improved usability * System Encryption: translate password to US keyboard layout + improved new interface * Windows: Fix build error following merge * Windows: Remove unused variable * Windows: Add missing string in Language.xml * Windows: fix buffer overrun caused by wrong use of wmemset * Do not delete password file Since the file is only available in \Release\Setup Files\ it would be fully deleted after running this script the first time. * Correct return code Originally the function would have always returned the return-code 1 resulting that the user is not able to change the location for the rescue zip. * Added hint for sysenc Added a hint why the field for repeating the password is initially greyed out within the system encryption. * Corrected spelling mistake Corrected spelling mistake * Removed not working copy job The file to be copied was stored at the source location. Therefore the copyjob will not work. Instead the file is already in the target folder. * Removed RIPEMD-160 from Product64.wxs See commit from 21.03.2022 * Added german translation for new interface * Fixed PIM bug * Corrected translation file based on the guidelines within the pull request * Fixing merge conflicts * Fixed Compiling issues. Reverted keyboard translation * Removed artifacts of password translation * Corrected language.xml * Fixed order within german language file * Corrected positions Co-authored-by: Bruna2803 <bruna.radeljak@hotmail.com> Co-authored-by: felixreichmann <30237956+felixreichmann@users.noreply.github.com> Co-authored-by: Mounir IDRASSI <mounir.idrassi@idrix.fr>
Diffstat (limited to 'src/Common/Dlgcode.c')
-rw-r--r--src/Common/Dlgcode.c71
1 files changed, 61 insertions, 10 deletions
diff --git a/src/Common/Dlgcode.c b/src/Common/Dlgcode.c
index 2c707f5d..c3430525 100644
--- a/src/Common/Dlgcode.c
+++ b/src/Common/Dlgcode.c
@@ -2070,3 +2070,4 @@ void HandlePasswordEditWmChar (HWND hwnd, WPARAM wParam)
-// Protects an input field from having its content updated by a Paste action (call ToBootPwdField() to use this).
+
+/* Protects an input field from having its content updated by a paste action */
static LRESULT CALLBACK BootPwdFieldProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
@@ -2074,3 +2075,3 @@ static LRESULT CALLBACK BootPwdFieldProc (HWND hwnd, UINT message, WPARAM wParam
WNDPROC wp = (WNDPROC) GetWindowLongPtrW (hwnd, GWLP_USERDATA);
-
+
switch (message)
@@ -2078,3 +2079,5 @@ static LRESULT CALLBACK BootPwdFieldProc (HWND hwnd, UINT message, WPARAM wParam
case WM_PASTE:
+ Error ("ERROR_PASTE_ACTION", GetParent(hwnd));
return 1;
+
case WM_CHAR:
@@ -2083,3 +2086,2 @@ static LRESULT CALLBACK BootPwdFieldProc (HWND hwnd, UINT message, WPARAM wParam
}
-
return CallWindowProcW (wp, hwnd, message, wParam, lParam);
@@ -2087,3 +2089,2 @@ static LRESULT CALLBACK BootPwdFieldProc (HWND hwnd, UINT message, WPARAM wParam
-
// Protects an input field from having its content updated by a Paste action. Used for pre-boot password
@@ -2106,2 +2107,8 @@ void ToBootPwdField (HWND hwndDlg, UINT ctrlId)
+BOOL CheckIsIMESupported ()
+{
+ if (himm32dll == NULL)
+ return FALSE;
+ return TRUE;
+}
// Ensures that a warning is displayed when user is pasting a password longer than the maximum
@@ -2936,3 +2943,3 @@ SelectAlgo (HWND hComboBox, int *algo_id)
back to a default */
-
+
*algo_id = (int) SendMessage (hComboBox, CB_GETITEMDATA, 0, 0);
@@ -5463,2 +5470,49 @@ BOOL BrowseFiles (HWND hwndDlg, char *stringId, wchar_t *lpszFileName, BOOL keep
+BOOL BrowseFile (HWND hwndDlg, char *stringId, wchar_t *initialDir)
+{
+ OPENFILENAMEW ofn;
+ wchar_t file[TC_MAX_PATH] = { 0 };
+ wchar_t filter[1024];
+ BOOL status = FALSE;
+
+ CoInitialize (NULL);
+
+ ZeroMemory (&ofn, sizeof (ofn));
+
+ if (initialDir)
+ {
+ ofn.lpstrInitialDir = initialDir;
+ }
+
+ ofn.lStructSize = sizeof (ofn);
+ ofn.hwndOwner = hwndDlg;
+ StringCbPrintfW (filter, sizeof(filter), L"%ls (*.*)%c*.*%c",
+ GetString ("ALL_FILES"), 0, 0);
+ ofn.lpstrFilter = filter;
+ ofn.nFilterIndex = 1;
+ ofn.lpstrFile = NULL;
+ ofn.nMaxFile = sizeof (file) / sizeof (file[0]);
+ ofn.lpstrTitle = GetString (stringId);
+ ofn.lpstrDefExt = NULL;
+ ofn.Flags = OFN_HIDEREADONLY
+ | OFN_PATHMUSTEXIST
+ | OFN_DONTADDTORECENT;
+
+ SystemFileSelectorCallerThreadId = GetCurrentThreadId();
+ SystemFileSelectorCallPending = TRUE;
+
+ if (!GetOpenFileNameW (&ofn))
+ goto ret;
+
+ SystemFileSelectorCallPending = FALSE;
+
+ status = TRUE;
+
+ret:
+ SystemFileSelectorCallPending = FALSE;
+ ResetCurrentDirectory();
+ CoUninitialize();
+
+ return status;
+}
@@ -9984,4 +10038,2 @@ BOOL PrintHardCopyTextUTF16 (wchar_t *text, wchar_t *title, size_t textByteLen)
}
-
-
BOOL IsNonInstallMode ()
@@ -10084,3 +10136,2 @@ BOOL IsNonInstallMode ()
-
LRESULT SetCheckBox (HWND hwndDlg, int dlgItem, BOOL state)
@@ -11625,3 +11676,3 @@ BYTE *MapResource (wchar_t *resourceType, int resourceId, PDWORD size)
HRSRC hRes;
- HINSTANCE hResInst = NULL;
+ HINSTANCE hResInst = NULL;
@@ -11637,3 +11688,3 @@ BYTE *MapResource (wchar_t *resourceType, int resourceId, PDWORD size)
hResL = LoadResource (hResInst, hRes);
-
+
if (size != NULL)