|
|
@@ -7539,13 +7539,7 @@ void PsMain(PS *ps)
|
|
|
{"EtherIpClientAdd", PsEtherIpClientAdd},
|
|
|
{"EtherIpClientDelete", PsEtherIpClientDelete},
|
|
|
{"EtherIpClientList", PsEtherIpClientList},
|
|
|
- {"OpenVpnEnable", PsOpenVpnEnable},
|
|
|
- {"OpenVpnGet", PsOpenVpnGet},
|
|
|
{"OpenVpnMakeConfig", PsOpenVpnMakeConfig},
|
|
|
- {"OpenVpnObfuscationEnable", PsOpenVpnObfuscationEnable},
|
|
|
- {"OpenVpnObfuscationGet", PsOpenVpnObfuscationGet},
|
|
|
- {"SstpEnable", PsSstpEnable},
|
|
|
- {"SstpGet", PsSstpGet},
|
|
|
{"ServerCertRegenerate", PsServerCertRegenerate},
|
|
|
{"VpnOverIcmpDnsEnable", PsVpnOverIcmpDnsEnable},
|
|
|
{"VpnOverIcmpDnsGet", PsVpnOverIcmpDnsGet},
|
|
|
@@ -21468,97 +21462,6 @@ UINT PsEtherIpClientList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-// Enable / disable the OpenVPN compatible server function
|
|
|
-UINT PsOpenVpnEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param)
|
|
|
-{
|
|
|
- LIST *o;
|
|
|
- PS *ps = (PS *)param;
|
|
|
- UINT ret = 0;
|
|
|
- OPENVPN_SSTP_CONFIG t;
|
|
|
- // Parameter list that can be specified
|
|
|
- PARAM args[] =
|
|
|
- {
|
|
|
- // "name", prompt_proc, prompt_param, eval_proc, eval_param
|
|
|
- {"[yes|no]", CmdPrompt, _UU("CMD_OpenVpnEnable_Prompt_[yes|no]"), CmdEvalNotEmpty, NULL},
|
|
|
- };
|
|
|
-
|
|
|
- o = ParseCommandList(c, cmd_name, str, args, sizeof(args) / sizeof(args[0]));
|
|
|
- if (o == NULL)
|
|
|
- {
|
|
|
- return ERR_INVALID_PARAMETER;
|
|
|
- }
|
|
|
-
|
|
|
- Zero(&t, sizeof(t));
|
|
|
-
|
|
|
- // RPC call
|
|
|
- ret = ScGetOpenVpnSstpConfig(ps->Rpc, &t);
|
|
|
-
|
|
|
- if (ret != ERR_NO_ERROR)
|
|
|
- {
|
|
|
- // An error has occured
|
|
|
- CmdPrintError(c, ret);
|
|
|
- FreeParamValueList(o);
|
|
|
- return ret;
|
|
|
- }
|
|
|
-
|
|
|
- t.EnableOpenVPN = GetParamYes(o, "[yes|no]");
|
|
|
-
|
|
|
- // RPC call
|
|
|
- ret = ScSetOpenVpnSstpConfig(ps->Rpc, &t);
|
|
|
-
|
|
|
- if (ret != ERR_NO_ERROR)
|
|
|
- {
|
|
|
- // An error has occured
|
|
|
- CmdPrintError(c, ret);
|
|
|
- FreeParamValueList(o);
|
|
|
- return ret;
|
|
|
- }
|
|
|
-
|
|
|
- FreeParamValueList(o);
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
-// Get the current settings for the OpenVPN compatible server function
|
|
|
-UINT PsOpenVpnGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param)
|
|
|
-{
|
|
|
- LIST *o;
|
|
|
- PS *ps = (PS *)param;
|
|
|
- UINT ret = 0;
|
|
|
- OPENVPN_SSTP_CONFIG t;
|
|
|
-
|
|
|
- o = ParseCommandList(c, cmd_name, str, NULL, 0);
|
|
|
- if (o == NULL)
|
|
|
- {
|
|
|
- return ERR_INVALID_PARAMETER;
|
|
|
- }
|
|
|
-
|
|
|
- Zero(&t, sizeof(t));
|
|
|
-
|
|
|
- // RPC call
|
|
|
- ret = ScGetOpenVpnSstpConfig(ps->Rpc, &t);
|
|
|
-
|
|
|
- if (ret != ERR_NO_ERROR)
|
|
|
- {
|
|
|
- // An error has occured
|
|
|
- CmdPrintError(c, ret);
|
|
|
- FreeParamValueList(o);
|
|
|
- return ret;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- CT *ct = CtNewStandard();
|
|
|
-
|
|
|
- CtInsert(ct, _UU("CMD_OpenVpnGet_PRINT_Enabled"), _UU(t.EnableOpenVPN ? "SEC_YES" : "SEC_NO"));
|
|
|
-
|
|
|
- CtFree(ct, c);
|
|
|
- }
|
|
|
-
|
|
|
- FreeParamValueList(o);
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
// Generate a OpenVPN sample configuration file that can connect to the OpenVPN compatible server function
|
|
|
UINT PsOpenVpnMakeConfig(CONSOLE *c, char *cmd_name, wchar_t *str, void *param)
|
|
|
{
|
|
|
@@ -21625,194 +21528,6 @@ UINT PsOpenVpnMakeConfig(CONSOLE *c, char *cmd_name, wchar_t *str, void *param)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-// Enable / disable the OpenVPN compatible server function's obfuscation mode
|
|
|
-UINT PsOpenVpnObfuscationEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param)
|
|
|
-{
|
|
|
- LIST *o;
|
|
|
- PS *ps = (PS *)param;
|
|
|
- UINT ret = 0;
|
|
|
- OPENVPN_SSTP_CONFIG t;
|
|
|
- // Parameter list that can be specified
|
|
|
- PARAM args[] =
|
|
|
- {
|
|
|
- // "name", prompt_proc, prompt_param, eval_proc, eval_param
|
|
|
- {"[yes|no]", CmdPrompt, _UU("CMD_OpenVpnObfuscationEnable_Prompt_[yes|no]"), CmdEvalNotEmpty, NULL},
|
|
|
- {"MASK", CmdPrompt, _UU("CMD_OpenVpnObfuscationEnable_Prompt_MASK"), NULL, NULL},
|
|
|
- };
|
|
|
-
|
|
|
- o = ParseCommandList(c, cmd_name, str, args, sizeof(args) / sizeof(args[0]));
|
|
|
- if (o == NULL)
|
|
|
- {
|
|
|
- return ERR_INVALID_PARAMETER;
|
|
|
- }
|
|
|
-
|
|
|
- Zero(&t, sizeof(t));
|
|
|
-
|
|
|
- // RPC call
|
|
|
- ret = ScGetOpenVpnSstpConfig(ps->Rpc, &t);
|
|
|
-
|
|
|
- if (ret != ERR_NO_ERROR)
|
|
|
- {
|
|
|
- // An error has occured
|
|
|
- CmdPrintError(c, ret);
|
|
|
- FreeParamValueList(o);
|
|
|
- return ret;
|
|
|
- }
|
|
|
-
|
|
|
- t.OpenVPNObfuscation = GetParamYes(o, "[yes|no]");
|
|
|
- StrCpy(t.OpenVPNObfuscationMask, sizeof(t.OpenVPNObfuscationMask), GetParamStr(o, "MASK"));
|
|
|
-
|
|
|
- // RPC call
|
|
|
- ret = ScSetOpenVpnSstpConfig(ps->Rpc, &t);
|
|
|
-
|
|
|
- if (ret != ERR_NO_ERROR)
|
|
|
- {
|
|
|
- // An error has occured
|
|
|
- CmdPrintError(c, ret);
|
|
|
- FreeParamValueList(o);
|
|
|
- return ret;
|
|
|
- }
|
|
|
-
|
|
|
- FreeParamValueList(o);
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
-// Get the current settings for the OpenVPN compatible server function's obfuscation mode
|
|
|
-UINT PsOpenVpnObfuscationGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param)
|
|
|
-{
|
|
|
- LIST *o;
|
|
|
- PS *ps = (PS *)param;
|
|
|
- UINT ret = 0;
|
|
|
- OPENVPN_SSTP_CONFIG t;
|
|
|
-
|
|
|
- o = ParseCommandList(c, cmd_name, str, NULL, 0);
|
|
|
- if (o == NULL)
|
|
|
- {
|
|
|
- return ERR_INVALID_PARAMETER;
|
|
|
- }
|
|
|
-
|
|
|
- Zero(&t, sizeof(t));
|
|
|
-
|
|
|
- // RPC call
|
|
|
- ret = ScGetOpenVpnSstpConfig(ps->Rpc, &t);
|
|
|
-
|
|
|
- if (ret != ERR_NO_ERROR)
|
|
|
- {
|
|
|
- // An error has occured
|
|
|
- CmdPrintError(c, ret);
|
|
|
- FreeParamValueList(o);
|
|
|
- return ret;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- wchar_t tmp[MAX_PATH];
|
|
|
- CT *ct = CtNewStandard();
|
|
|
-
|
|
|
- CtInsert(ct, _UU("CMD_OpenVpnObfuscationGet_PRINT_Enabled"), _UU(t.OpenVPNObfuscation ? "SEC_YES" : "SEC_NO"));
|
|
|
-
|
|
|
- StrToUni(tmp, sizeof(tmp), t.OpenVPNObfuscationMask);
|
|
|
- CtInsert(ct, _UU("CMD_OpenVpnObfuscationGet_PRINT_Mask"), tmp);
|
|
|
-
|
|
|
- CtFree(ct, c);
|
|
|
- }
|
|
|
-
|
|
|
- FreeParamValueList(o);
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
-// Enable / disable the Microsoft SSTP VPN compatible server function
|
|
|
-UINT PsSstpEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param)
|
|
|
-{
|
|
|
- LIST *o;
|
|
|
- PS *ps = (PS *)param;
|
|
|
- UINT ret = 0;
|
|
|
- OPENVPN_SSTP_CONFIG t;
|
|
|
- // Parameter list that can be specified
|
|
|
- PARAM args[] =
|
|
|
- {
|
|
|
- // "name", prompt_proc, prompt_param, eval_proc, eval_param
|
|
|
- {"[yes|no]", CmdPrompt, _UU("CMD_SstpEnable_Prompt_[yes|no]"), CmdEvalNotEmpty, NULL},
|
|
|
- };
|
|
|
-
|
|
|
- o = ParseCommandList(c, cmd_name, str, args, sizeof(args) / sizeof(args[0]));
|
|
|
- if (o == NULL)
|
|
|
- {
|
|
|
- return ERR_INVALID_PARAMETER;
|
|
|
- }
|
|
|
-
|
|
|
- Zero(&t, sizeof(t));
|
|
|
-
|
|
|
- // RPC call
|
|
|
- ret = ScGetOpenVpnSstpConfig(ps->Rpc, &t);
|
|
|
-
|
|
|
- if (ret != ERR_NO_ERROR)
|
|
|
- {
|
|
|
- // An error has occured
|
|
|
- CmdPrintError(c, ret);
|
|
|
- FreeParamValueList(o);
|
|
|
- return ret;
|
|
|
- }
|
|
|
-
|
|
|
- t.EnableSSTP = GetParamYes(o, "[yes|no]");
|
|
|
-
|
|
|
- // RPC call
|
|
|
- ret = ScSetOpenVpnSstpConfig(ps->Rpc, &t);
|
|
|
-
|
|
|
- if (ret != ERR_NO_ERROR)
|
|
|
- {
|
|
|
- // An error has occured
|
|
|
- CmdPrintError(c, ret);
|
|
|
- FreeParamValueList(o);
|
|
|
- return ret;
|
|
|
- }
|
|
|
-
|
|
|
- FreeParamValueList(o);
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
-// Get the current settings for the Microsoft SSTP VPN compatible server function
|
|
|
-UINT PsSstpGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param)
|
|
|
-{
|
|
|
- LIST *o;
|
|
|
- PS *ps = (PS *)param;
|
|
|
- UINT ret = 0;
|
|
|
- OPENVPN_SSTP_CONFIG t;
|
|
|
-
|
|
|
- o = ParseCommandList(c, cmd_name, str, NULL, 0);
|
|
|
- if (o == NULL)
|
|
|
- {
|
|
|
- return ERR_INVALID_PARAMETER;
|
|
|
- }
|
|
|
-
|
|
|
- Zero(&t, sizeof(t));
|
|
|
-
|
|
|
- // RPC call
|
|
|
- ret = ScGetOpenVpnSstpConfig(ps->Rpc, &t);
|
|
|
-
|
|
|
- if (ret != ERR_NO_ERROR)
|
|
|
- {
|
|
|
- // An error has occured
|
|
|
- CmdPrintError(c, ret);
|
|
|
- FreeParamValueList(o);
|
|
|
- return ret;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- CT *ct = CtNewStandard();
|
|
|
-
|
|
|
- CtInsert(ct, _UU("CMD_SstpEnable_PRINT_Enabled"), _UU(t.EnableSSTP ? "SEC_YES" : "SEC_NO"));
|
|
|
-
|
|
|
- CtFree(ct, c);
|
|
|
- }
|
|
|
-
|
|
|
- FreeParamValueList(o);
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
// Register to the VPN Server by creating a new self-signed certificate with the specified CN (Common Name)
|
|
|
UINT PsServerCertRegenerate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param)
|
|
|
{
|