mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2025-07-08 08:44:57 +03:00
Cedar: remove old commands and unused variables
This commit is contained in:
@ -10332,8 +10332,6 @@ void InOpenVpnSstpConfig(OPENVPN_SSTP_CONFIG *t, PACK *p)
|
||||
|
||||
t->EnableOpenVPN = PackGetBool(p, "EnableOpenVPN");
|
||||
t->EnableSSTP = PackGetBool(p, "EnableSSTP");
|
||||
t->OpenVPNObfuscation= PackGetBool(p, "OpenVPNObfuscation");
|
||||
PackGetStr(p, "OpenVPNObfuscationMask", t->OpenVPNObfuscationMask, sizeof(t->OpenVPNObfuscationMask));
|
||||
}
|
||||
void OutOpenVpnSstpConfig(PACK *p, OPENVPN_SSTP_CONFIG *t)
|
||||
{
|
||||
@ -10345,8 +10343,6 @@ void OutOpenVpnSstpConfig(PACK *p, OPENVPN_SSTP_CONFIG *t)
|
||||
|
||||
PackAddBool(p, "EnableOpenVPN", t->EnableOpenVPN);
|
||||
PackAddBool(p, "EnableSSTP", t->EnableSSTP);
|
||||
PackAddBool(p, "OpenVPNObfuscation", t->OpenVPNObfuscation);
|
||||
PackAddStr(p, "OpenVPNObfuscationMask", t->OpenVPNObfuscationMask);
|
||||
}
|
||||
|
||||
// DDNS_CLIENT_STATUS
|
||||
|
@ -1439,10 +1439,6 @@ CEDAR *NewCedar(X *server_x, K *server_k)
|
||||
|
||||
c->CurrentRegionLock = NewLock();
|
||||
|
||||
StrCpy(c->OpenVPNDefaultClientOption, sizeof(c->OpenVPNDefaultClientOption), OVPN_DEF_CLIENT_OPTION_STRING);
|
||||
|
||||
c->OpenVPNPushDummyIPv4AddressOnL2Mode = true; // Default true. Override by the config file.
|
||||
|
||||
#ifdef BETA_NUMBER
|
||||
c->Beta = BETA_NUMBER;
|
||||
#endif // BETA_NUMBER
|
||||
|
@ -981,10 +981,6 @@ typedef struct CEDAR
|
||||
UINT FifoBudget; // Fifo budget
|
||||
SSL_ACCEPT_SETTINGS SslAcceptSettings; // SSL Accept Settings
|
||||
UINT DhParamBits; // Bits of Diffie-Hellman parameters
|
||||
char OpenVPNDefaultClientOption[MAX_SIZE]; // OpenVPN: Default Client Option String
|
||||
bool OpenVPNObfuscation; // OpenVPN: Obfuscation mode
|
||||
char OpenVPNObfuscationMask[MAX_SIZE]; // OpenVPN: String (mask) for XOR obfuscation
|
||||
bool OpenVPNPushDummyIPv4AddressOnL2Mode; // OpenVPN: Push a dummy IPv4 address on L2 mode
|
||||
} CEDAR;
|
||||
|
||||
// Type of CEDAR
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -583,13 +583,7 @@ UINT PsIPsecGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
|
||||
UINT PsEtherIpClientAdd(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
|
||||
UINT PsEtherIpClientDelete(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
|
||||
UINT PsEtherIpClientList(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
|
||||
UINT PsOpenVpnEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
|
||||
UINT PsOpenVpnGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
|
||||
UINT PsOpenVpnMakeConfig(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
|
||||
UINT PsOpenVpnObfuscationEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
|
||||
UINT PsOpenVpnObfuscationGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
|
||||
UINT PsSstpEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
|
||||
UINT PsSstpGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
|
||||
UINT PsServerCertRegenerate(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
|
||||
UINT PsVpnOverIcmpDnsEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
|
||||
UINT PsVpnOverIcmpDnsGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
|
||||
|
@ -22,64 +22,6 @@ static volatile UINT global_server_flags[NUM_GLOBAL_SERVER_FLAGS] = {0};
|
||||
|
||||
UINT vpn_global_parameters[NUM_GLOBAL_PARAMS] = {0};
|
||||
|
||||
// Set the OpenVPN and SSTP setting
|
||||
void SiSetOpenVPNAndSSTPConfig(SERVER *s, OPENVPN_SSTP_CONFIG *c)
|
||||
{
|
||||
// Validate arguments
|
||||
if (s == NULL || c == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Lock(s->OpenVpnSstpConfigLock);
|
||||
{
|
||||
// Save the settings
|
||||
if (s->Cedar->Bridge || s->ServerType != SERVER_TYPE_STANDALONE)
|
||||
{
|
||||
s->DisableSSTPServer = true;
|
||||
s->DisableOpenVPNServer = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
s->DisableSSTPServer = !c->EnableSSTP;
|
||||
s->DisableOpenVPNServer = !c->EnableOpenVPN;
|
||||
}
|
||||
|
||||
s->Cedar->OpenVPNObfuscation = c->OpenVPNObfuscation;
|
||||
StrCpy(s->Cedar->OpenVPNObfuscationMask, sizeof(s->Cedar->OpenVPNObfuscationMask), c->OpenVPNObfuscationMask);
|
||||
}
|
||||
Unlock(s->OpenVpnSstpConfigLock);
|
||||
}
|
||||
|
||||
// Get the OpenVPN and SSTP setting
|
||||
void SiGetOpenVPNAndSSTPConfig(SERVER *s, OPENVPN_SSTP_CONFIG *c)
|
||||
{
|
||||
// Validate arguments
|
||||
if (s == NULL || c == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Zero(c, sizeof(OPENVPN_SSTP_CONFIG));
|
||||
|
||||
Lock(s->OpenVpnSstpConfigLock);
|
||||
{
|
||||
if (s->DisableOpenVPNServer == false)
|
||||
{
|
||||
c->EnableOpenVPN = true;
|
||||
}
|
||||
|
||||
if (s->DisableSSTPServer == false)
|
||||
{
|
||||
c->EnableSSTP = true;
|
||||
}
|
||||
|
||||
c->OpenVPNObfuscation = s->Cedar->OpenVPNObfuscation;
|
||||
StrCpy(c->OpenVPNObfuscationMask, sizeof(c->OpenVPNObfuscationMask), s->Cedar->OpenVPNObfuscationMask);
|
||||
}
|
||||
Unlock(s->OpenVpnSstpConfigLock);
|
||||
}
|
||||
|
||||
// Get whether the number of user objects that are registered in the VPN Server is too many
|
||||
bool SiTooManyUserObjectsInServer(SERVER *s, bool oneMore)
|
||||
{
|
||||
@ -2477,28 +2419,15 @@ void SiLoadInitialConfiguration(SERVER *s)
|
||||
|
||||
if (s->Cedar->Bridge)
|
||||
{
|
||||
// SSTP, OpenVPN, and NAT traversal function can not be used in the bridge environment
|
||||
// NAT traversal can not be used in the bridge environment
|
||||
s->DisableNatTraversal = true;
|
||||
s->DisableSSTPServer = true;
|
||||
s->DisableOpenVPNServer = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
OPENVPN_SSTP_CONFIG c;
|
||||
Zero(&c, sizeof(c));
|
||||
|
||||
// Enable SSTP and OpenVPN by default
|
||||
c.EnableSSTP = true;
|
||||
c.EnableOpenVPN = true;
|
||||
|
||||
c.OpenVPNObfuscation = false;
|
||||
|
||||
// Disable VPN-over-ICMP and VPN-over-DNS by default
|
||||
s->EnableVpnOverIcmp = false;
|
||||
s->EnableVpnOverDns = false;
|
||||
|
||||
SiSetOpenVPNAndSSTPConfig(s, &c);
|
||||
|
||||
{
|
||||
LIST *ports = s->PortsUDP;
|
||||
|
||||
@ -5674,7 +5603,6 @@ void SiLoadServerCfg(SERVER *s, FOLDER *f)
|
||||
c = s->Cedar;
|
||||
Lock(c->lock);
|
||||
{
|
||||
OPENVPN_SSTP_CONFIG config;
|
||||
FOLDER *ff;
|
||||
{
|
||||
UINT i;
|
||||
@ -5800,33 +5728,6 @@ void SiLoadServerCfg(SERVER *s, FOLDER *f)
|
||||
#endif // OS_WIN32
|
||||
}
|
||||
|
||||
// Disable the SSTP server function
|
||||
s->DisableSSTPServer = CfgGetBool(f, "DisableSSTPServer");
|
||||
|
||||
// Disable the OpenVPN server function
|
||||
s->DisableOpenVPNServer = CfgGetBool(f, "DisableOpenVPNServer");
|
||||
|
||||
// OpenVPN Default Option String
|
||||
if (CfgGetStr(f, "OpenVPNDefaultClientOption", tmp, sizeof(tmp)))
|
||||
{
|
||||
if (IsEmptyStr(tmp) == false)
|
||||
{
|
||||
StrCpy(c->OpenVPNDefaultClientOption,
|
||||
sizeof(c->OpenVPNDefaultClientOption), tmp);
|
||||
}
|
||||
}
|
||||
|
||||
// OpenVPN Push a dummy IPv4 address on L2 mode
|
||||
if (CfgIsItem(f, "OpenVPNPushDummyIPv4AddressOnL2Mode") == false)
|
||||
{
|
||||
// Default enable
|
||||
c->OpenVPNPushDummyIPv4AddressOnL2Mode = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
c->OpenVPNPushDummyIPv4AddressOnL2Mode = CfgGetBool(f, "OpenVPNPushDummyIPv4AddressOnL2Mode");
|
||||
}
|
||||
|
||||
// Disable the NAT-traversal feature
|
||||
s->DisableNatTraversal = CfgGetBool(f, "DisableNatTraversal");
|
||||
|
||||
@ -5951,18 +5852,14 @@ void SiLoadServerCfg(SERVER *s, FOLDER *f)
|
||||
|
||||
if (s->ServerType != SERVER_TYPE_STANDALONE)
|
||||
{
|
||||
// SSTP, OpenVPN, and NAT traversal can not be used in a cluster environment
|
||||
// NAT traversal can not be used in a cluster environment
|
||||
s->DisableNatTraversal = true;
|
||||
s->DisableSSTPServer = true;
|
||||
s->DisableOpenVPNServer = true;
|
||||
}
|
||||
|
||||
if (s->Cedar->Bridge)
|
||||
{
|
||||
// SSTP, OpenVPN, and NAT traversal function can not be used in the bridge environment
|
||||
// NAT traversal function can not be used in the bridge environment
|
||||
s->DisableNatTraversal = true;
|
||||
s->DisableSSTPServer = true;
|
||||
s->DisableOpenVPNServer = true;
|
||||
}
|
||||
|
||||
if (CfgGetStr(f, "PortsUDP", tmp, sizeof(tmp)))
|
||||
@ -5991,23 +5888,6 @@ void SiLoadServerCfg(SERVER *s, FOLDER *f)
|
||||
FreeToken(tokens);
|
||||
}
|
||||
|
||||
// Apply the configuration of SSTP and OpenVPN
|
||||
Zero(&config, sizeof(config));
|
||||
config.EnableOpenVPN = !s->DisableOpenVPNServer;
|
||||
config.EnableSSTP = !s->DisableSSTPServer;
|
||||
|
||||
config.OpenVPNObfuscation = CfgGetBool(f, "OpenVPNObfuscation");
|
||||
|
||||
if (CfgGetStr(f, "OpenVPNObfuscationMask", tmp, sizeof(tmp)))
|
||||
{
|
||||
if (IsEmptyStr(tmp) == false)
|
||||
{
|
||||
StrCpy(config.OpenVPNObfuscationMask, sizeof(config.OpenVPNObfuscationMask), tmp);
|
||||
}
|
||||
}
|
||||
|
||||
SiSetOpenVPNAndSSTPConfig(s, &config);
|
||||
|
||||
if (s->ServerType == SERVER_TYPE_FARM_MEMBER)
|
||||
{
|
||||
char tmp[6 * MAX_PUBLIC_PORT_NUM + 1];
|
||||
@ -6266,35 +6146,18 @@ void SiWriteServerCfg(FOLDER *f, SERVER *s)
|
||||
{
|
||||
// Disable the NAT-traversal feature
|
||||
CfgAddBool(f, "DisableNatTraversal", s->DisableNatTraversal);
|
||||
|
||||
// Disable the SSTP server function
|
||||
CfgAddBool(f, "DisableSSTPServer", s->DisableSSTPServer);
|
||||
|
||||
// Disable the OpenVPN server function
|
||||
CfgAddBool(f, "DisableOpenVPNServer", s->DisableOpenVPNServer);
|
||||
}
|
||||
}
|
||||
|
||||
CfgAddBool(f, "DisableIPsecAggressiveMode", s->DisableIPsecAggressiveMode);
|
||||
|
||||
CfgAddStr(f, "OpenVPNDefaultClientOption", c->OpenVPNDefaultClientOption);
|
||||
|
||||
CfgAddBool(f, "OpenVPNPushDummyIPv4AddressOnL2Mode", c->OpenVPNPushDummyIPv4AddressOnL2Mode);
|
||||
|
||||
if (c->Bridge == false)
|
||||
{
|
||||
OPENVPN_SSTP_CONFIG config;
|
||||
|
||||
// VPN over ICMP
|
||||
CfgAddBool(f, "EnableVpnOverIcmp", s->EnableVpnOverIcmp);
|
||||
|
||||
// VPN over DNS
|
||||
CfgAddBool(f, "EnableVpnOverDns", s->EnableVpnOverDns);
|
||||
|
||||
SiGetOpenVPNAndSSTPConfig(s, &config);
|
||||
|
||||
CfgAddBool(f, "OpenVPNObfuscation", config.OpenVPNObfuscation);
|
||||
CfgAddStr(f, "OpenVPNObfuscationMask", config.OpenVPNObfuscationMask);
|
||||
}
|
||||
|
||||
// WebTimePage
|
||||
|
@ -147,8 +147,6 @@ struct SYSLOG_SETTING
|
||||
struct OPENVPN_SSTP_CONFIG
|
||||
{
|
||||
bool EnableOpenVPN; // OpenVPN is enabled
|
||||
bool OpenVPNObfuscation; // OpenVPN: Obfuscation mode
|
||||
char OpenVPNObfuscationMask[MAX_SIZE]; // OpenVPN: String (mask) for XOR obfuscation
|
||||
bool EnableSSTP; // SSTP is enabled
|
||||
};
|
||||
|
||||
@ -185,8 +183,6 @@ struct SERVER
|
||||
bool NoLinuxArpFilter; // Not to set arp_filter in Linux
|
||||
bool NoHighPriorityProcess; // Not to raise the priority of the process
|
||||
bool NoDebugDump; // Not to output the debug dump
|
||||
bool DisableSSTPServer; // Disable the SSTP server function
|
||||
bool DisableOpenVPNServer; // Disable the OpenVPN server function
|
||||
bool DisableNatTraversal; // Disable the NAT-traversal feature
|
||||
bool EnableVpnOverIcmp; // VPN over ICMP is enabled
|
||||
bool EnableVpnOverDns; // VPN over DNS is enabled
|
||||
@ -622,9 +618,6 @@ bool SiIsHubRegistedOnCreateHistory(SERVER *s, char *name);
|
||||
|
||||
bool SiTooManyUserObjectsInServer(SERVER *s, bool oneMore);
|
||||
|
||||
void SiGetOpenVPNAndSSTPConfig(SERVER *s, OPENVPN_SSTP_CONFIG *c);
|
||||
void SiSetOpenVPNAndSSTPConfig(SERVER *s, OPENVPN_SSTP_CONFIG *c);
|
||||
|
||||
bool SiCanOpenVpnOverDnsPort();
|
||||
bool SiCanOpenVpnOverIcmpPort();
|
||||
void SiApplySpecialListenerStatus(SERVER *s);
|
||||
|
Reference in New Issue
Block a user