fix pin chalange dialog:

1. If we recall pin just send pin without connect Timeout für &Connect-Skript:
2. If connect error we extend ID_DLG_CHALLENGE_RESPONSE dialog to place ID_TXT_WARNING
pull/753/head
tantra35 2025-06-13 22:52:11 +03:00
parent 98d4233fef
commit 408c9babb6
22 changed files with 53 additions and 30 deletions

View File

@ -856,7 +856,6 @@ GenericPassDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
if (param->flags & FLAG_CR_TYPE_CRV1 || param->flags & FLAG_CR_TYPE_CRTEXT)
{
SetDlgItemTextW(hwndDlg, ID_TXT_DESCRIPTION, wstr);
SetDlgItemTextW(hwndDlg, ID_TXT_WARNING, NULL);
/* Set password echo on if needed */
if (param->flags & FLAG_CR_ECHO)
@ -903,15 +902,27 @@ GenericPassDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
SetDlgItemTextW(hwndDlg, ID_EDT_RESPONSE, password);
Button_SetCheck(GetDlgItem(hwndDlg, ID_CHK_SAVE_PASS), BST_CHECKED);
lenableOKBtn = TRUE;
/* smart card pin available: skip dialog
* if silent_connection is on, else auto submit after a few seconds.
* User can interrupt.
*/
SetFocus(GetDlgItem(hwndDlg, IDOK));
UINT timeout = o.silent_connection ? 0 : 6; /* in seconds */
AutoCloseSetup(hwndDlg, IDOK, timeout, ID_TXT_WARNING, IDS_NFO_AUTO_CONNECT);
const char * template = "password \"%s\" \"%%s\"";
char* fmt = malloc(strlen(template) + strlen(param->id));
if (fmt)
{
sprintf(fmt, template, param->id);
PrintDebug(L"Send passwd to mgmt with format: '%hs'", fmt);
ManagementCommandFromInput(param->c, fmt, hwndDlg, ID_EDT_RESPONSE);
free(fmt);
EndDialog(hwndDlg, IDOK);
return TRUE;
}
else /* no memory? send stop signal */
{
WriteStatusLog(param->c,
L"GUI> ",
L"Out of memory in password dialog: sending stop signal",
false);
StopOpenVPN(param->c);
}
}
else if (param->c->failed_auth_attempts > 0)
{
@ -920,6 +931,18 @@ GenericPassDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
SetDlgItemTextW(
hwndDlg, ID_TXT_WARNING, LoadLocalizedString(IDS_NFO_KEY_PASS_RETRY));
// Extend window size for Warning
RECT rect = { 0 };
GetWindowRect(hwndDlg, &rect);
rect.right -= rect.left;
rect.bottom -= rect.top;
HWND warningText = GetDlgItem(hwndDlg, ID_TXT_WARNING);
RECT warningRect = { 0 };
GetWindowRect(warningText, &warningRect);
SetWindowPos(hwndDlg, NULL, 0, 0, rect.right, rect.bottom + warningRect.bottom - warningRect.top + DPI_SCALE(4), SWP_NOMOVE);
}
SecureZeroMemory(password, sizeof(password));

View File

@ -78,7 +78,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Odpověď na výzvu"

View File

@ -78,7 +78,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN Challenge Response"

View File

@ -79,7 +79,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"

View File

@ -78,7 +78,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN Challenge Response"

View File

@ -77,7 +77,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"

View File

@ -80,7 +80,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST | WS_EX_RTLREADING | WS_EX_LAYOUTRTL
CAPTION "OpenVPN پاسخ چالش"

View File

@ -78,7 +78,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Haastemenetelmä"

View File

@ -77,7 +77,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Réponse de défi"

View File

@ -77,7 +77,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"

View File

@ -79,7 +79,7 @@ BEGIN
LTEXT "", ID_TXT_WARNING, 6, 108, 150, 10
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - チャレンジ/レスポンス"

View File

@ -79,7 +79,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - 자격증명"

View File

@ -77,7 +77,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"

View File

@ -78,7 +78,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"

View File

@ -79,7 +79,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Odpowiedź"

View File

@ -77,7 +77,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Resposta do Desafio"

View File

@ -79,7 +79,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN Challenge Response"

View File

@ -77,7 +77,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"

View File

@ -79,7 +79,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"

View File

@ -77,7 +77,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"

View File

@ -80,7 +80,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - 质询响应"

View File

@ -80,7 +80,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - 挑戰回應"