mirror of https://github.com/OpenVPN/openvpn-gui
Adding static-challenge support
parent
c3e2584674
commit
fe5a1c9b71
|
@ -98,7 +98,8 @@ openvpn_gui_LDADD = \
|
||||||
-lws2_32 \
|
-lws2_32 \
|
||||||
-lcomctl32 \
|
-lcomctl32 \
|
||||||
-lwinhttp \
|
-lwinhttp \
|
||||||
-lwtsapi32
|
-lwtsapi32 \
|
||||||
|
-lcrypt32
|
||||||
|
|
||||||
openvpn-gui-res.o: $(openvpn_gui_RESOURCES) $(srcdir)/openvpn-gui-res.h
|
openvpn-gui-res.o: $(openvpn_gui_RESOURCES) $(srcdir)/openvpn-gui-res.h
|
||||||
$(RCCOMPILE) -i $< -o $@
|
$(RCCOMPILE) -i $< -o $@
|
||||||
|
|
107
misc.c
107
misc.c
|
@ -24,6 +24,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
#include <wincrypt.h>
|
||||||
#include <tchar.h>
|
#include <tchar.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
@ -33,6 +34,35 @@
|
||||||
#include "manage.h"
|
#include "manage.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Helper function to do base64 conversion through CryptoAPI
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
Base64Encode(const char *input, int input_len, char **output)
|
||||||
|
{
|
||||||
|
DWORD output_len;
|
||||||
|
if (!CryptBinaryToStringA((const BYTE *) input, (DWORD) input_len,
|
||||||
|
CRYPT_STRING_BASE64, NULL, &output_len) || output_len == 0)
|
||||||
|
{
|
||||||
|
*output = NULL;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
*output = (char *)malloc(output_len);
|
||||||
|
if (!CryptBinaryToStringA((const BYTE *) input, (DWORD) input_len,
|
||||||
|
CRYPT_STRING_BASE64, *output, &output_len))
|
||||||
|
{
|
||||||
|
free(*output);
|
||||||
|
*output = NULL;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
/* Trim trailing "\r\n" manually.
|
||||||
|
Actually they can be stripped by adding CRYPT_STRING_NOCRLF to dwFlags,
|
||||||
|
but Windows XP/2003 does not support this flag. */
|
||||||
|
if(output_len > 1 && (*output)[output_len - 1] == '\x0A'
|
||||||
|
&& (*output)[output_len - 2] == '\x0D')
|
||||||
|
(*output)[output_len - 2] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Helper function to convert UCS-2 text from a dialog item to UTF-8.
|
* Helper function to convert UCS-2 text from a dialog item to UTF-8.
|
||||||
* Caller must free *str if *len != 0.
|
* Caller must free *str if *len != 0.
|
||||||
|
@ -125,6 +155,83 @@ out:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Generate a management command from double user inputs and send it
|
||||||
|
*/
|
||||||
|
BOOL
|
||||||
|
ManagementCommandFromInputBase64(connection_t *c, LPCSTR fmt, HWND hDlg,int id, int id2)
|
||||||
|
{
|
||||||
|
BOOL retval = FALSE;
|
||||||
|
LPSTR input, input2, input_b64, input2_b64, cmd;
|
||||||
|
int input_len, input2_len, cmd_len, pos;
|
||||||
|
|
||||||
|
GetDlgItemTextUtf8(hDlg, id, &input, &input_len);
|
||||||
|
GetDlgItemTextUtf8(hDlg, id2, &input2, &input2_len);
|
||||||
|
|
||||||
|
/* Escape input if needed */
|
||||||
|
for (pos = 0; pos < input_len; ++pos)
|
||||||
|
{
|
||||||
|
if (input[pos] == '\\' || input[pos] == '"')
|
||||||
|
{
|
||||||
|
LPSTR buf = realloc(input, ++input_len + 1);
|
||||||
|
if (buf == NULL)
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
input = buf;
|
||||||
|
memmove(input + pos + 1, input + pos, input_len - pos + 1);
|
||||||
|
input[pos] = '\\';
|
||||||
|
pos += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (pos = 0; pos < input2_len; ++pos)
|
||||||
|
{
|
||||||
|
if (input2[pos] == '\\' || input2[pos] == '"')
|
||||||
|
{
|
||||||
|
LPSTR buf = realloc(input2, ++input2_len + 1);
|
||||||
|
if (buf == NULL)
|
||||||
|
goto out;
|
||||||
|
|
||||||
|
input2 = buf;
|
||||||
|
memmove(input2 + pos + 1, input2 + pos, input2_len - pos + 1);
|
||||||
|
input2[pos] = '\\';
|
||||||
|
pos += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Base64Encode(input, input_len, &input_b64);
|
||||||
|
Base64Encode(input2, input2_len, &input2_b64);
|
||||||
|
|
||||||
|
cmd_len = input_len * 2 + input2_len * 2 + strlen(fmt);
|
||||||
|
cmd = malloc(cmd_len);
|
||||||
|
if (cmd)
|
||||||
|
{
|
||||||
|
snprintf(cmd, cmd_len, fmt, input_b64, input2_b64);
|
||||||
|
retval = ManagementCommand(c, cmd, NULL, regular);
|
||||||
|
free(cmd);
|
||||||
|
}
|
||||||
|
free(input_b64);
|
||||||
|
free(input2_b64);
|
||||||
|
|
||||||
|
out:
|
||||||
|
/* Clear buffers with potentially secret content */
|
||||||
|
if (input_len)
|
||||||
|
{
|
||||||
|
memset(input, 'x', input_len);
|
||||||
|
SetDlgItemTextA(hDlg, id, input);
|
||||||
|
free(input);
|
||||||
|
}
|
||||||
|
if (input2_len)
|
||||||
|
{
|
||||||
|
memset(input2, 'x', input2_len);
|
||||||
|
SetDlgItemTextA(hDlg, id2, input2);
|
||||||
|
free(input2);
|
||||||
|
}
|
||||||
|
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Ensures the given directory exists, by checking for and
|
* Ensures the given directory exists, by checking for and
|
||||||
* creating missing parts of the path.
|
* creating missing parts of the path.
|
||||||
|
|
1
misc.h
1
misc.h
|
@ -23,6 +23,7 @@
|
||||||
#define MISC_H
|
#define MISC_H
|
||||||
|
|
||||||
BOOL ManagementCommandFromInput(connection_t *, LPCSTR, HWND, int);
|
BOOL ManagementCommandFromInput(connection_t *, LPCSTR, HWND, int);
|
||||||
|
BOOL ManagementCommandFromInputBase64(connection_t *, LPCSTR, HWND, int, int);
|
||||||
|
|
||||||
BOOL EnsureDirExists(LPTSTR);
|
BOOL EnsureDirExists(LPTSTR);
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,11 @@
|
||||||
#define ID_EDT_AUTH_USER 181
|
#define ID_EDT_AUTH_USER 181
|
||||||
#define ID_EDT_AUTH_PASS 182
|
#define ID_EDT_AUTH_PASS 182
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
#define ID_DLG_AUTH_CHALLENGE 183
|
||||||
|
#define ID_TXT_AUTH_CHALLENGE 184
|
||||||
|
#define ID_EDT_AUTH_CHALLENGE 185
|
||||||
|
|
||||||
/* Proxy Settings Dialog */
|
/* Proxy Settings Dialog */
|
||||||
#define ID_DLG_PROXY 200
|
#define ID_DLG_PROXY 200
|
||||||
#define ID_RB_PROXY_OPENVPN 210
|
#define ID_RB_PROXY_OPENVPN 210
|
||||||
|
|
60
openvpn.c
60
openvpn.c
|
@ -52,6 +52,12 @@ extern options_t o;
|
||||||
|
|
||||||
const TCHAR *cfgProp = _T("conn");
|
const TCHAR *cfgProp = _T("conn");
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
connection_t *c;
|
||||||
|
int challenge_echo;
|
||||||
|
char *challenge_str;
|
||||||
|
} auth_param_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Receive banner on connection to management interface
|
* Receive banner on connection to management interface
|
||||||
* Format: <BANNER>
|
* Format: <BANNER>
|
||||||
|
@ -202,27 +208,41 @@ OnStateChange(connection_t *c, char *data)
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* DialogProc for OpenVPN username/password auth dialog windows
|
* DialogProc for OpenVPN username/password/challenge auth dialog windows
|
||||||
*/
|
*/
|
||||||
INT_PTR CALLBACK
|
INT_PTR CALLBACK
|
||||||
UserAuthDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
UserAuthDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
connection_t *c;
|
auth_param_t *param;
|
||||||
|
|
||||||
switch (msg)
|
switch (msg)
|
||||||
{
|
{
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
/* Set connection for this dialog and show it */
|
/* Set connection for this dialog and show it */
|
||||||
c = (connection_t *) lParam;
|
param = (auth_param_t *) lParam;
|
||||||
SetProp(hwndDlg, cfgProp, (HANDLE) c);
|
SetProp(hwndDlg, cfgProp, (HANDLE) param);
|
||||||
if (c->state == resuming)
|
if (param->challenge_str)
|
||||||
|
{
|
||||||
|
int wchars_num = MultiByteToWideChar(CP_UTF8, 0, param->challenge_str, -1, NULL, 0);
|
||||||
|
LPWSTR wstr = (LPWSTR)malloc(sizeof(WCHAR) * wchars_num);
|
||||||
|
HWND wnd_challenge = GetDlgItem(hwndDlg, ID_EDT_AUTH_CHALLENGE);
|
||||||
|
|
||||||
|
MultiByteToWideChar(CP_UTF8, 0, param->challenge_str, -1, wstr, wchars_num);
|
||||||
|
SetDlgItemTextW(hwndDlg, ID_TXT_AUTH_CHALLENGE, wstr);
|
||||||
|
free(wstr);
|
||||||
|
/* Set/Remove style ES_PASSWORD by SetWindowLong(GWL_STYLE) does nothing,
|
||||||
|
send EM_SETPASSWORDCHAR just works. */
|
||||||
|
if(param->challenge_echo)
|
||||||
|
SendMessage(wnd_challenge, EM_SETPASSWORDCHAR, 0, 0);
|
||||||
|
}
|
||||||
|
if (param->c->state == resuming)
|
||||||
ForceForegroundWindow(hwndDlg);
|
ForceForegroundWindow(hwndDlg);
|
||||||
else
|
else
|
||||||
SetForegroundWindow(hwndDlg);
|
SetForegroundWindow(hwndDlg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_COMMAND:
|
case WM_COMMAND:
|
||||||
c = (connection_t *) GetProp(hwndDlg, cfgProp);
|
param = (auth_param_t *) GetProp(hwndDlg, cfgProp);
|
||||||
switch (LOWORD(wParam))
|
switch (LOWORD(wParam))
|
||||||
{
|
{
|
||||||
case ID_EDT_AUTH_USER:
|
case ID_EDT_AUTH_USER:
|
||||||
|
@ -234,14 +254,17 @@ UserAuthDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IDOK:
|
case IDOK:
|
||||||
ManagementCommandFromInput(c, "username \"Auth\" \"%s\"", hwndDlg, ID_EDT_AUTH_USER);
|
ManagementCommandFromInput(param->c, "username \"Auth\" \"%s\"", hwndDlg, ID_EDT_AUTH_USER);
|
||||||
ManagementCommandFromInput(c, "password \"Auth\" \"%s\"", hwndDlg, ID_EDT_AUTH_PASS);
|
if (param->challenge_str)
|
||||||
|
ManagementCommandFromInputBase64(param->c, "password \"Auth\" \"SCRV1:%s:%s\"", hwndDlg, ID_EDT_AUTH_PASS, ID_EDT_AUTH_CHALLENGE);
|
||||||
|
else
|
||||||
|
ManagementCommandFromInput(param->c, "password \"Auth\" \"%s\"", hwndDlg, ID_EDT_AUTH_PASS);
|
||||||
EndDialog(hwndDlg, LOWORD(wParam));
|
EndDialog(hwndDlg, LOWORD(wParam));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
case IDCANCEL:
|
case IDCANCEL:
|
||||||
EndDialog(hwndDlg, LOWORD(wParam));
|
EndDialog(hwndDlg, LOWORD(wParam));
|
||||||
StopOpenVPN(c);
|
StopOpenVPN(param->c);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -251,6 +274,9 @@ UserAuthDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
case WM_NCDESTROY:
|
case WM_NCDESTROY:
|
||||||
|
param = (auth_param_t *) GetProp(hwndDlg, cfgProp);
|
||||||
|
if (param->challenge_str) free(param->challenge_str);
|
||||||
|
free(param);
|
||||||
RemoveProp(hwndDlg, cfgProp);
|
RemoveProp(hwndDlg, cfgProp);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -317,7 +343,21 @@ OnPassword(connection_t *c, char *msg)
|
||||||
|
|
||||||
if (strstr(msg, "'Auth'"))
|
if (strstr(msg, "'Auth'"))
|
||||||
{
|
{
|
||||||
LocalizedDialogBoxParam(ID_DLG_AUTH, UserAuthDialogFunc, (LPARAM) c);
|
char* chstr = strstr(msg, "SC:");
|
||||||
|
auth_param_t *param = (auth_param_t *) malloc(sizeof(auth_param_t));
|
||||||
|
param->c = c;
|
||||||
|
if (chstr)
|
||||||
|
{
|
||||||
|
param->challenge_echo = *(chstr + 3) != '0';
|
||||||
|
param->challenge_str = strdup(chstr + 5);
|
||||||
|
LocalizedDialogBoxParam(ID_DLG_AUTH_CHALLENGE, UserAuthDialogFunc, (LPARAM) param);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
param->challenge_echo = 0;
|
||||||
|
param->challenge_str = NULL;
|
||||||
|
LocalizedDialogBoxParam(ID_DLG_AUTH, UserAuthDialogFunc, (LPARAM) param);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (strstr(msg, "'Private Key'"))
|
else if (strstr(msg, "'Private Key'"))
|
||||||
{
|
{
|
||||||
|
|
|
@ -49,6 +49,24 @@ BEGIN
|
||||||
PUSHBUTTON "Abbrechen", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "Abbrechen", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Benutzer:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Passwort:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "Ok", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Abbrechen", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -50,6 +50,24 @@ BEGIN
|
||||||
PUSHBUTTON "Annuller", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "Annuller", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_DANISH, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Brugernavn:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Password:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "OK", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Annuller", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -49,6 +49,24 @@ BEGIN
|
||||||
PUSHBUTTON "Cancel", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "Cancel", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Username:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Password:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "OK", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Cancel", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -48,6 +48,24 @@ BEGIN
|
||||||
PUSHBUTTON "Cancelar", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "Cancelar", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_SPANISH, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Usuario:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Password:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "OK", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Cancelar", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -50,6 +50,24 @@ BEGIN
|
||||||
PUSHBUTTON "Peruuta", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "Peruuta", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Käyttäjänimi:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Salasana:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "OK", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Peruuta", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -48,6 +48,24 @@ BEGIN
|
||||||
PUSHBUTTON "Annuler", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "Annuler", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Utilisateur:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Mot de passe:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "OK", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Annuler", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -48,6 +48,24 @@ BEGIN
|
||||||
PUSHBUTTON "Annulla", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "Annulla", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Nome utente:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Password:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "OK", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Annulla", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -51,6 +51,24 @@ BEGIN
|
||||||
PUSHBUTTON "キャンセル", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "キャンセル", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "ユーザー名:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "パスワード:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "OK", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "キャンセル", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -48,6 +48,24 @@ BEGIN
|
||||||
PUSHBUTTON "Annuleren", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "Annuleren", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_DUTCH, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Gebruikersnaam:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Wachtwoord:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "OK", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Annuleren", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -49,6 +49,24 @@ BEGIN
|
||||||
PUSHBUTTON "Avbryt", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "Avbryt", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_NORWEGIAN, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Brukernavn:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Passord:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "OK", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Avbryt", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -50,6 +50,24 @@ BEGIN
|
||||||
PUSHBUTTON "Anuluj", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "Anuluj", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Użytkownik:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Hasło:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "OK", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Anuluj", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -48,6 +48,24 @@ BEGIN
|
||||||
PUSHBUTTON "Cancelar", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "Cancelar", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Usuário:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Senha:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "OK", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Cancelar", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -50,6 +50,24 @@ BEGIN
|
||||||
PUSHBUTTON "Отмена", IDCANCEL, 100, 42, 52, 14
|
PUSHBUTTON "Отмена", IDCANCEL, 100, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Имя пользователя:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Пароль:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "OK", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Отмена", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -48,6 +48,24 @@ BEGIN
|
||||||
PUSHBUTTON "Avbryt", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "Avbryt", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Användarnamn:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Lösenord:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "OK", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Avbryt", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -50,6 +50,24 @@ BEGIN
|
||||||
PUSHBUTTON "Çıkış", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "Çıkış", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Kullanıcı Adı:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Şifre:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "Tamam", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Çıkış", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -48,6 +48,24 @@ BEGIN
|
||||||
PUSHBUTTON "Скасувати", IDCANCEL, 100, 42, 52, 14
|
PUSHBUTTON "Скасувати", IDCANCEL, 100, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||||
|
BEGIN
|
||||||
|
LTEXT "Ім'я користувача:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "Пароль:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "OK", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "Скасувати", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
|
@ -50,6 +50,24 @@ BEGIN
|
||||||
PUSHBUTTON "取消", IDCANCEL, 90, 42, 52, 14
|
PUSHBUTTON "取消", IDCANCEL, 90, 42, 52, 14
|
||||||
END
|
END
|
||||||
|
|
||||||
|
/* Auth Username/Password/Challenge Dialog */
|
||||||
|
ID_DLG_AUTH_CHALLENGE DIALOG 6, 18, 160, 96
|
||||||
|
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | DS_CENTER | DS_SETFOREGROUND
|
||||||
|
CAPTION "OpenVPN - User Authentication"
|
||||||
|
FONT 8, "Microsoft Sans Serif"
|
||||||
|
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
|
||||||
|
BEGIN
|
||||||
|
LTEXT "使用者名稱:", 0, 6, 9, 50, 10
|
||||||
|
LTEXT "密碼:", 0, 6, 26, 50, 10
|
||||||
|
LTEXT "Response:", 0, 6, 60, 50, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_USER, 60, 6, 94, 12, ES_AUTOHSCROLL
|
||||||
|
EDITTEXT ID_EDT_AUTH_PASS, 60, 23, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
LTEXT "", ID_TXT_AUTH_CHALLENGE, 6, 43, 148, 10
|
||||||
|
EDITTEXT ID_EDT_AUTH_CHALLENGE, 60, 57, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
|
||||||
|
PUSHBUTTON "確認", IDOK, 20, 76, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED
|
||||||
|
PUSHBUTTON "取消", IDCANCEL, 90, 76, 52, 14
|
||||||
|
END
|
||||||
|
|
||||||
/* Status Dialog */
|
/* Status Dialog */
|
||||||
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
ID_DLG_STATUS DIALOG 6, 18, 380, 210
|
||||||
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
STYLE WS_SIZEBOX | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | DS_CENTER
|
||||||
|
|
Loading…
Reference in New Issue