Fix challenge dialog logic for pin, but dialog still it present when we recall Pin

pull/753/head
tantra35 2025-06-13 21:45:32 +03:00
parent de3ed28fd4
commit 98d4233fef
22 changed files with 52 additions and 27 deletions

View File

@ -856,6 +856,7 @@ 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)
@ -897,13 +898,13 @@ GenericPassDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
else
{
if (RecallSmartCardPin(param->c->config_name, password))
{
if (password[0] != L'\0' && param->c->failed_auth_attempts == 0)
{
SetDlgItemTextW(hwndDlg, ID_EDT_RESPONSE, password);
Button_SetCheck(GetDlgItem(hwndDlg, ID_CHK_SAVE_PASS), BST_CHECKED);
lenableOKBtn = TRUE;
if (password[0] != L'\0' && param->c->failed_auth_attempts == 0)
{
/* smart card pin available: skip dialog
* if silent_connection is on, else auto submit after a few seconds.
* User can interrupt.
@ -912,10 +913,13 @@ GenericPassDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
UINT timeout = o.silent_connection ? 0 : 6; /* in seconds */
AutoCloseSetup(hwndDlg, IDOK, timeout, ID_TXT_WARNING, IDS_NFO_AUTO_CONNECT);
}
else if (param->c->failed_auth_attempts)
else if (param->c->failed_auth_attempts > 0)
{
SendMessage(
GetDlgItem(hwndDlg, ID_EDT_RESPONSE), EM_SETSEL, 0, MAKELONG(0, -1));
SetDlgItemTextW(
hwndDlg, ID_TXT_WARNING, LoadLocalizedString(IDS_NFO_KEY_PASS_RETRY));
}
SecureZeroMemory(password, sizeof(password));

View File

@ -78,7 +78,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Odpověď na výzvu"
@ -92,6 +92,7 @@ BEGIN
CHECKBOX "Uložit heslo", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "Zrušit", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -78,7 +78,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN Challenge Response"
@ -92,6 +92,7 @@ BEGIN
CHECKBOX "Passwort &speichern", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "&OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "&Abbrechen", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -79,7 +79,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"
@ -93,6 +93,7 @@ BEGIN
CHECKBOX "Husk kodeord", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "Annuller", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -78,7 +78,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN Challenge Response"
@ -92,6 +92,7 @@ BEGIN
CHECKBOX "Save", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "&OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "&Cancel", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -77,7 +77,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"
@ -91,6 +91,7 @@ BEGIN
CHECKBOX "Save", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "Cancelar", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -80,7 +80,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
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 پاسخ چالش"
@ -94,6 +94,7 @@ BEGIN
CHECKBOX "نگه داشتن رمز عبور", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "بسیار خوب", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "لغو", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -78,7 +78,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Haastemenetelmä"
@ -92,6 +92,7 @@ BEGIN
CHECKBOX "Tallenna salasana", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "Peruuta", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -77,7 +77,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Réponse de défi"
@ -91,6 +91,7 @@ BEGIN
CHECKBOX "Enregistrer mot de passe", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "Annuler", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -77,7 +77,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"
@ -91,6 +91,7 @@ BEGIN
CHECKBOX "&Ricorda password", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "&OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "&Annulla", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

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, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - チャレンジ/レスポンス"
@ -93,6 +93,7 @@ BEGIN
CHECKBOX "パスワードを保存(&S)", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "OK(&O)", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "キャンセル(&C)", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -79,7 +79,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - 자격증명"
@ -93,6 +93,7 @@ BEGIN
CHECKBOX "암호 저장", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "확인", IDOK, 25, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
PUSHBUTTON "취소", IDCANCEL, 85, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -77,7 +77,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"
@ -91,6 +91,7 @@ BEGIN
CHECKBOX "Wachtwoord opslaan", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "Annuleren", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -78,7 +78,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"
@ -92,6 +92,7 @@ BEGIN
CHECKBOX "Husk passord", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "Avbryt", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -79,7 +79,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Odpowiedź"
@ -93,6 +93,7 @@ BEGIN
CHECKBOX "Zapisz hasło", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "Anuluj", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -77,7 +77,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Resposta do Desafio"
@ -91,6 +91,7 @@ BEGIN
CHECKBOX "Salvar senha", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "Cancelar", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -79,7 +79,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN Challenge Response"
@ -93,6 +93,7 @@ BEGIN
CHECKBOX "Запомнить", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "Отмена", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -77,7 +77,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"
@ -91,6 +91,7 @@ BEGIN
CHECKBOX "Save", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "Avbryt", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -79,7 +79,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"
@ -93,6 +93,7 @@ BEGIN
CHECKBOX "Save", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "Tamam", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "Çıkış", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -77,7 +77,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - Challenge Response"
@ -91,6 +91,7 @@ BEGIN
CHECKBOX "Запам'ятати", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "OK", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "Скасувати", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -80,7 +80,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - 质询响应"
@ -94,6 +94,7 @@ BEGIN
CHECKBOX "保存密码", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "确定", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "取消", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */

View File

@ -80,7 +80,7 @@ BEGIN
END
/* Challenge Response Dialog */
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 90
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 106
STYLE WS_SIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
EXSTYLE WS_EX_TOPMOST
CAPTION "OpenVPN - 挑戰回應"
@ -94,6 +94,7 @@ BEGIN
CHECKBOX "儲存密碼", ID_CHK_SAVE_PASS, 60, 45, 100, 10
PUSHBUTTON "確認", IDOK, 20, 65, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
PUSHBUTTON "取消", IDCANCEL, 90, 65, 52, 14
LTEXT "", ID_TXT_WARNING, 6, 86, 400, 10
END
/* Status Dialog */