mirror of https://github.com/OpenVPN/openvpn-gui
add ability to save pin for smartcards
parent
3403732dee
commit
77deef95f0
50
openvpn.c
50
openvpn.c
|
@ -843,6 +843,7 @@ GenericPassDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
case WM_INITDIALOG:
|
||||
param = (auth_param_t *)lParam;
|
||||
TRY_SETPROP(hwndDlg, cfgProp, (HANDLE)param);
|
||||
BOOL lenableOKBtn = FALSE;
|
||||
|
||||
WCHAR *wstr = Widen(param->str);
|
||||
if (!wstr)
|
||||
|
@ -880,6 +881,7 @@ GenericPassDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
SetWindowPos(hwndDlg, NULL, 0, 0, rect.right, rect.bottom, SWP_NOMOVE);
|
||||
PrintDebug(L"Window resized to = %d %d", rect.right, rect.bottom);
|
||||
}
|
||||
ShowWindow(GetDlgItem(hwndDlg, ID_CHK_SAVE_PASS), SW_HIDE);
|
||||
}
|
||||
else if (param->flags & FLAG_PASS_TOKEN)
|
||||
{
|
||||
|
@ -887,11 +889,37 @@ GenericPassDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
SetDlgItemText(hwndDlg,
|
||||
ID_TXT_DESCRIPTION,
|
||||
LoadLocalizedString(IDS_NFO_TOKEN_PASSWORD_REQUEST, param->id));
|
||||
|
||||
if (RecallSmartCardPin(param->c->config_name, password))
|
||||
{
|
||||
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.
|
||||
*/
|
||||
SetFocus(GetDlgItem(hwndDlg, IDOK));
|
||||
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)
|
||||
{
|
||||
SendMessage(
|
||||
GetDlgItem(hwndDlg, ID_EDT_RESPONSE), EM_SETSEL, 0, MAKELONG(0, -1));
|
||||
}
|
||||
|
||||
SecureZeroMemory(password, sizeof(password));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteStatusLog(param->c, L"GUI> ", L"Unknown password request", false);
|
||||
SetDlgItemText(hwndDlg, ID_TXT_DESCRIPTION, wstr);
|
||||
ShowWindow(GetDlgItem(hwndDlg, ID_CHK_SAVE_PASS), SW_HIDE);
|
||||
}
|
||||
free(wstr);
|
||||
|
||||
|
@ -916,7 +944,7 @@ GenericPassDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
else
|
||||
{
|
||||
/* disable OK button until response is filled-in */
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDOK), FALSE);
|
||||
EnableWindow(GetDlgItem(hwndDlg, IDOK), lenableOKBtn);
|
||||
ResetPasswordReveal(GetDlgItem(hwndDlg, ID_EDT_RESPONSE),
|
||||
GetDlgItem(hwndDlg, ID_PASSWORD_REVEAL),
|
||||
0);
|
||||
|
@ -931,7 +959,7 @@ GenericPassDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
switch (LOWORD(wParam))
|
||||
{
|
||||
case ID_EDT_RESPONSE:
|
||||
if (!(param->flags & FLAG_CR_ECHO))
|
||||
if (!(param->flags & FLAG_CR_ECHO) && HIWORD(wParam) != EN_KILLFOCUS)
|
||||
{
|
||||
ResetPasswordReveal(GetDlgItem(hwndDlg, ID_EDT_RESPONSE),
|
||||
GetDlgItem(hwndDlg, ID_PASSWORD_REVEAL),
|
||||
|
@ -945,6 +973,19 @@ GenericPassDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
}
|
||||
break;
|
||||
|
||||
case ID_CHK_SAVE_PASS:
|
||||
param->c->flags ^= FLAG_SAVE_AUTH_PASS;
|
||||
if (param->c->flags & FLAG_SAVE_AUTH_PASS)
|
||||
{
|
||||
Button_SetCheck(GetDlgItem(hwndDlg, ID_CHK_SAVE_PASS), BST_CHECKED);
|
||||
}
|
||||
else
|
||||
{
|
||||
DeleteSavedSmartCardPin(param->c->config_name);
|
||||
Button_SetCheck(GetDlgItem(hwndDlg, ID_CHK_SAVE_PASS), BST_UNCHECKED);
|
||||
}
|
||||
break;
|
||||
|
||||
case IDOK:
|
||||
if (GetDlgItemTextW(hwndDlg, ID_EDT_RESPONSE, password, _countof(password))
|
||||
&& !validate_input(password, L"\n"))
|
||||
|
@ -1001,6 +1042,11 @@ GenericPassDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
PrintDebug(L"Send passwd to mgmt with format: '%hs'", fmt);
|
||||
ManagementCommandFromInput(param->c, fmt, hwndDlg, ID_EDT_RESPONSE);
|
||||
free(fmt);
|
||||
|
||||
if (param->flags & FLAG_PASS_TOKEN && param->c->flags & FLAG_SAVE_AUTH_PASS)
|
||||
{
|
||||
SaveSmartCardPin(param->c->config_name, password);
|
||||
}
|
||||
}
|
||||
else /* no memory? send stop signal */
|
||||
{
|
||||
|
|
19
plap/stub.c
19
plap/stub.c
|
@ -129,6 +129,13 @@ SaveAuthPass(UNUSED const WCHAR *config_name, UNUSED const WCHAR *password)
|
|||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int
|
||||
SaveSmartCardPin(UNUSED const WCHAR *config_name, UNUSED const WCHAR *username)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int
|
||||
SaveUsername(UNUSED const WCHAR *config_name, UNUSED const WCHAR *username)
|
||||
{
|
||||
|
@ -151,12 +158,24 @@ RecallUsername(UNUSED const WCHAR *config_name, UNUSED WCHAR *username)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
RecallSmartCardPin(UNUSED const WCHAR *config_name, UNUSED WCHAR *pin)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
DeleteSavedAuthPass(UNUSED const WCHAR *config_name)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
void
|
||||
DeleteSavedSmartCardPin(const WCHAR *config_name)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
void
|
||||
DeleteSavedKeyPass(UNUSED const WCHAR *config_name)
|
||||
{
|
||||
|
|
|
@ -78,7 +78,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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"
|
||||
|
@ -89,8 +89,9 @@ BEGIN
|
|||
LTEXT "Odpověď:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "Zrušit", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -78,7 +78,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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"
|
||||
|
@ -89,8 +89,9 @@ BEGIN
|
|||
LTEXT "&Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "&OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "&Abbrechen", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -79,7 +79,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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"
|
||||
|
@ -90,8 +90,9 @@ BEGIN
|
|||
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "Annuller", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -78,7 +78,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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"
|
||||
|
@ -89,8 +89,9 @@ BEGIN
|
|||
LTEXT "&Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "&OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "&Cancel", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -77,7 +77,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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"
|
||||
|
@ -88,8 +88,9 @@ BEGIN
|
|||
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "Cancelar", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -80,7 +80,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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 – پاسخ چالش"
|
||||
|
@ -91,8 +91,9 @@ BEGIN
|
|||
LTEXT "پاسخ :", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "بسیار خوب", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "لغو", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -78,7 +78,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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ä"
|
||||
|
@ -89,8 +89,9 @@ BEGIN
|
|||
LTEXT "Vastaus:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "Peruuta", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -77,7 +77,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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"
|
||||
|
@ -88,8 +88,9 @@ BEGIN
|
|||
LTEXT "Réponse:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "Annuler", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -77,7 +77,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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"
|
||||
|
@ -88,8 +88,9 @@ BEGIN
|
|||
LTEXT "&Risposta:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "&OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "&Annulla", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -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, 72
|
||||
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 - チャレンジ/レスポンス"
|
||||
|
@ -90,8 +90,9 @@ BEGIN
|
|||
LTEXT "レスポンス(&R):", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "OK(&O)", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "キャンセル(&C)", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -79,7 +79,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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 - 자격증명"
|
||||
|
@ -90,8 +90,9 @@ BEGIN
|
|||
LTEXT "요청값:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "확인", IDOK, 25, 58, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||
PUSHBUTTON "취소", IDCANCEL, 85, 58, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -77,7 +77,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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"
|
||||
|
@ -88,8 +88,9 @@ BEGIN
|
|||
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "Annuleren", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -78,7 +78,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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"
|
||||
|
@ -89,8 +89,9 @@ BEGIN
|
|||
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "Avbryt", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -79,7 +79,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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ź"
|
||||
|
@ -90,8 +90,9 @@ BEGIN
|
|||
LTEXT "Odpowiedź:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "Anuluj", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -77,7 +77,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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"
|
||||
|
@ -88,8 +88,9 @@ BEGIN
|
|||
LTEXT "Resposta:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "Cancelar", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -79,7 +79,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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"
|
||||
|
@ -90,8 +90,9 @@ BEGIN
|
|||
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "Отмена", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -77,7 +77,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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"
|
||||
|
@ -88,8 +88,9 @@ BEGIN
|
|||
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "Avbryt", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -79,7 +79,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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"
|
||||
|
@ -90,8 +90,9 @@ BEGIN
|
|||
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "Tamam", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "Çıkış", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -77,7 +77,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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"
|
||||
|
@ -88,8 +88,9 @@ BEGIN
|
|||
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "Скасувати", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -80,7 +80,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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 - 质询响应"
|
||||
|
@ -91,8 +91,9 @@ BEGIN
|
|||
LTEXT "响应:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "确定", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "取消", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
|
@ -80,7 +80,7 @@ BEGIN
|
|||
END
|
||||
|
||||
/* Challenge Response Dialog */
|
||||
ID_DLG_CHALLENGE_RESPONSE DIALOGEX 6, 18, 212, 72
|
||||
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 - 挑戰回應"
|
||||
|
@ -91,8 +91,9 @@ BEGIN
|
|||
LTEXT "回應:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
|
||||
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||
ICON ID_ICO_EYE, ID_PASSWORD_REVEAL, 156, 28, 14, 14, SS_ICON|SS_NOTIFY|SS_REALSIZEIMAGE
|
||||
PUSHBUTTON "確認", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP
|
||||
PUSHBUTTON "取消", IDCANCEL, 90, 51, 52, 14
|
||||
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
|
||||
END
|
||||
|
||||
/* Status Dialog */
|
||||
|
|
21
save_pass.c
21
save_pass.c
|
@ -35,6 +35,7 @@
|
|||
#define AUTH_PASS_DATA L"auth-data"
|
||||
#define ENTROPY_DATA L"entropy"
|
||||
#define AUTH_USER_DATA L"username"
|
||||
#define AUTH_SMARTCARD_DATA L"auth-smartcard-pin"
|
||||
#define ENTROPY_LEN 16
|
||||
|
||||
static DWORD
|
||||
|
@ -162,6 +163,12 @@ SaveAuthPass(const WCHAR *config_name, const WCHAR *password)
|
|||
return save_encrypted(config_name, password, AUTH_PASS_DATA);
|
||||
}
|
||||
|
||||
int
|
||||
SaveSmartCardPin(const WCHAR *config_name, const WCHAR *pin)
|
||||
{
|
||||
return save_encrypted(config_name, pin, AUTH_SMARTCARD_DATA);
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns 1 on success, 0 on failure. password should have space
|
||||
* for up to capacity wide chars incluing nul termination
|
||||
|
@ -230,6 +237,12 @@ RecallAuthPass(const WCHAR *config_name, WCHAR *password)
|
|||
return recall_encrypted(config_name, password, USER_PASS_LEN, AUTH_PASS_DATA);
|
||||
}
|
||||
|
||||
int
|
||||
RecallSmartCardPin(const WCHAR *config_name, WCHAR *pin)
|
||||
{
|
||||
return recall_encrypted(config_name, pin, USER_PASS_LEN, AUTH_SMARTCARD_DATA);
|
||||
}
|
||||
|
||||
int
|
||||
SaveUsername(const WCHAR *config_name, const WCHAR *username)
|
||||
{
|
||||
|
@ -237,6 +250,7 @@ SaveUsername(const WCHAR *config_name, const WCHAR *username)
|
|||
SetConfigRegistryValueBinary(config_name, AUTH_USER_DATA, (BYTE *)username, len);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* The buffer username should be have space for up to USER_PASS_LEN
|
||||
* WCHARs including nul.
|
||||
|
@ -268,6 +282,12 @@ DeleteSavedAuthPass(const WCHAR *config_name)
|
|||
DeleteConfigRegistryValue(config_name, AUTH_PASS_DATA);
|
||||
}
|
||||
|
||||
void
|
||||
DeleteSavedSmartCardPin(const WCHAR *config_name)
|
||||
{
|
||||
DeleteConfigRegistryValue(config_name, AUTH_SMARTCARD_DATA);
|
||||
}
|
||||
|
||||
/* delete saved config-specific auth password and private key passphrase */
|
||||
void
|
||||
DeleteSavedPasswords(const WCHAR *config_name)
|
||||
|
@ -275,6 +295,7 @@ DeleteSavedPasswords(const WCHAR *config_name)
|
|||
DeleteConfigRegistryValue(config_name, KEY_PASS_DATA);
|
||||
DeleteConfigRegistryValue(config_name, AUTH_PASS_DATA);
|
||||
DeleteConfigRegistryValue(config_name, ENTROPY_DATA);
|
||||
DeleteConfigRegistryValue(config_name, AUTH_SMARTCARD_DATA);
|
||||
}
|
||||
|
||||
/* check if auth password is saved */
|
||||
|
|
|
@ -31,16 +31,22 @@ int SaveKeyPass(const WCHAR *config_name, const WCHAR *password);
|
|||
|
||||
int SaveAuthPass(const WCHAR *config_name, const WCHAR *password);
|
||||
|
||||
int SaveSmartCardPin(const WCHAR *config_name, const WCHAR *pin);
|
||||
|
||||
int SaveUsername(const WCHAR *config_name, const WCHAR *username);
|
||||
|
||||
int RecallKeyPass(const WCHAR *config_name, WCHAR *password);
|
||||
|
||||
int RecallAuthPass(const WCHAR *config_name, WCHAR *password);
|
||||
|
||||
int RecallSmartCardPin(const WCHAR *config_name, WCHAR *pin);
|
||||
|
||||
int RecallUsername(const WCHAR *config_name, WCHAR *username);
|
||||
|
||||
void DeleteSavedAuthPass(const WCHAR *config_name);
|
||||
|
||||
void DeleteSavedSmartCardPin(const WCHAR *config_name);
|
||||
|
||||
void DeleteSavedKeyPass(const WCHAR *config_name);
|
||||
|
||||
void DeleteSavedPasswords(const WCHAR *config_name);
|
||||
|
|
Loading…
Reference in New Issue