From 235bd07e679479130732f0c37c1a21b2b5f2af27 Mon Sep 17 00:00:00 2001 From: Davide Beatrici Date: Sat, 27 Jun 2020 22:47:04 +0200 Subject: [PATCH] Cedar: remove "NicDownOnDisconnect" option SoftEther VPN originally created the NIC in the UP state and never changed it, even when the the client was not connected. The behavior was changed in 59e1483dbf707b1adcec04f5f450c0b3445ab5f2, which also added the NicDownOnDisconnect option The option was disabled by default for backwards compatibility with scripts that don't check whether the NIC is down, but it's not ideal. This commit forces the correct behavior and removes the commands "TUNDownOnDisconnectEnable", "TUNDownOnDisconnectDisable" and "TUNDownOnDisconnectGet". --- src/Cedar/Client.c | 23 ++--- src/Cedar/Client.h | 1 - src/Cedar/Command.c | 132 ----------------------------- src/Cedar/Command.h | 3 - src/Cedar/Link.c | 2 +- src/Cedar/Protocol.c | 8 +- src/Cedar/Session.c | 22 ++--- src/Cedar/Session.h | 6 +- src/bin/hamcore/strtable_cn.stb | 16 ---- src/bin/hamcore/strtable_en.stb | 16 ---- src/bin/hamcore/strtable_ja.stb | 16 ---- src/bin/hamcore/strtable_ko.stb | 16 ---- src/bin/hamcore/strtable_pt_br.stb | 19 ----- src/bin/hamcore/strtable_ru.stb | 10 --- src/bin/hamcore/strtable_tw.stb | 15 ---- 15 files changed, 16 insertions(+), 289 deletions(-) diff --git a/src/Cedar/Client.c b/src/Cedar/Client.c index 007b4ad1..26dbfc6e 100644 --- a/src/Cedar/Client.c +++ b/src/Cedar/Client.c @@ -3660,7 +3660,6 @@ void InRpcClientConfig(CLIENT_CONFIG *c, PACK *p) c->KeepConnectProtocol = PackGetInt(p, "KeepConnectProtocol"); c->KeepConnectInterval = PackGetInt(p, "KeepConnectInterval"); c->AllowRemoteConfig = PackGetInt(p, "AllowRemoteConfig") == 0 ? false : true; - c->NicDownOnDisconnect = PackGetBool(p, "NicDownOnDisconnect"); PackGetStr(p, "KeepConnectHost", c->KeepConnectHost, sizeof(c->KeepConnectHost)); } void OutRpcClientConfig(PACK *p, CLIENT_CONFIG *c) @@ -3676,7 +3675,6 @@ void OutRpcClientConfig(PACK *p, CLIENT_CONFIG *c) PackAddInt(p, "KeepConnectProtocol", c->KeepConnectProtocol); PackAddInt(p, "KeepConnectInterval", c->KeepConnectInterval); PackAddInt(p, "AllowRemoteConfig", c->AllowRemoteConfig); - PackAddBool(p, "NicDownOnDisconnect", c->NicDownOnDisconnect); PackAddStr(p, "KeepConnectHost", c->KeepConnectHost); } @@ -6445,7 +6443,7 @@ bool CtConnect(CLIENT *c, RPC_CLIENT_CONNECT *connect) CLog(c, "LC_CONNECT", connect->AccountName); - r->ClientSession = NewClientSessionEx(c->Cedar, r->ClientOption, r->ClientAuth, pa, r, &c->Config.NicDownOnDisconnect); + r->ClientSession = NewClientSessionEx(c->Cedar, r->ClientOption, r->ClientAuth, pa, r); Notify(r->ClientSession, CLIENT_NOTIFY_ACCOUNT_CHANGED); ret = true; @@ -6762,14 +6760,9 @@ bool CtSetClientConfig(CLIENT *c, CLIENT_CONFIG *o) // Apply TAP state LockList(c->AccountList); LockList(c->UnixVLanList); - if (o->NicDownOnDisconnect) - { - CtVLansDown(c); - } - else - { - CtVLansUp(c); - } + + CtVLansDown(c); + UnlockList(c->UnixVLanList); UnlockList(c->AccountList); @@ -8183,7 +8176,7 @@ bool CtCreateVLan(CLIENT *c, RPC_CLIENT_CREATE_VLAN *create) StrCpy(r->Name, sizeof(r->Name), create->DeviceName); // Create a TUN - if (UnixVLanCreate(r->Name, r->MacAddress, !c->Config.NicDownOnDisconnect) == false) + if (UnixVLanCreate(r->Name, r->MacAddress, false) == false) { // Failure Free(r); @@ -9236,7 +9229,6 @@ void CiLoadClientConfig(CLIENT_CONFIG *c, FOLDER *f) c->AllowRemoteConfig = CfgGetBool(f, "AllowRemoteConfig"); c->KeepConnectInterval = MAKESURE(CfgGetInt(f, "KeepConnectInterval"), KEEP_INTERVAL_MIN, KEEP_INTERVAL_MAX); c->NoChangeWcmNetworkSettingOnWindows8 = CfgGetBool(f, "NoChangeWcmNetworkSettingOnWindows8"); - c->NicDownOnDisconnect = CfgGetBool(f, "NicDownOnDisconnect"); } // Read the client authentication data @@ -9566,7 +9558,7 @@ void CiLoadVLan(CLIENT *c, FOLDER *f) Add(c->UnixVLanList, v); #ifdef OS_UNIX - UnixVLanCreate(v->Name, v->MacAddress, !c->Config.NicDownOnDisconnect); + UnixVLanCreate(v->Name, v->MacAddress, false); #endif // OS_UNIX } @@ -9682,7 +9674,7 @@ bool CiReadSettingFromCfg(CLIENT *c, FOLDER *root) UNIX_VLAN *uv; // Create a Tap for MacOS X - if (UnixVLanCreate(CLIENT_MACOS_TAP_NAME, NULL, !c->Config.NicDownOnDisconnect) == false) + if (UnixVLanCreate(CLIENT_MACOS_TAP_NAME, NULL, false) == false) { // Fail (abort) CLog(c, "LC_TAP_NOT_FOUND"); @@ -9792,7 +9784,6 @@ void CiWriteClientConfig(FOLDER *cc, CLIENT_CONFIG *config) CfgAddBool(cc, "AllowRemoteConfig", config->AllowRemoteConfig); CfgAddInt(cc, "KeepConnectInterval", config->KeepConnectInterval); CfgAddBool(cc, "NoChangeWcmNetworkSettingOnWindows8", config->NoChangeWcmNetworkSettingOnWindows8); - CfgAddBool(cc, "NicDownOnDisconnect", config->NicDownOnDisconnect); } // Write the client authentication data diff --git a/src/Cedar/Client.h b/src/Cedar/Client.h index 0ddfbf7c..14b1de96 100644 --- a/src/Cedar/Client.h +++ b/src/Cedar/Client.h @@ -90,7 +90,6 @@ struct CLIENT_CONFIG UINT KeepConnectProtocol; // Protocol UINT KeepConnectInterval; // Interval bool NoChangeWcmNetworkSettingOnWindows8; // Don't change the WCM network settings on Windows 8 - bool NicDownOnDisconnect; // Put NIC down on disconnect/connection loss and put it up again after connecting to VPN server }; // Version acquisition diff --git a/src/Cedar/Command.c b/src/Cedar/Command.c index 490a1d5d..f51f3e4f 100644 --- a/src/Cedar/Command.c +++ b/src/Cedar/Command.c @@ -2978,9 +2978,6 @@ void PcMain(PC *pc) {"AccountImport", PcAccountImport}, {"RemoteEnable", PcRemoteEnable}, {"RemoteDisable", PcRemoteDisable}, - {"TUNDownOnDisconnectEnable", PcTunDownOnDisconnectEnable}, - {"TUNDownOnDisconnectDisable", PcTunDownOnDisconnectDisable}, - {"TUNDownOnDisconnectGet", PcTunDownOnDisconnectGet}, {"KeepEnable", PcKeepEnable}, {"KeepDisable", PcKeepDisable}, {"KeepSet", PcKeepSet}, @@ -6947,135 +6944,6 @@ UINT PcRemoteDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param) return ret; } -// Enable turning TUN interface up/down on client connect/disconnect -UINT PcTunDownOnDisconnectEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param) -{ - LIST *o; - PC *pc = (PC *)param; - UINT ret = ERR_NO_ERROR; - CLIENT_CONFIG t; - - // Get the parameter list - o = ParseCommandList(c, cmd_name, str, NULL, 0); - if (o == NULL) - { - return ERR_INVALID_PARAMETER; - } - - // RPC call - Zero(&t, sizeof(t)); - - ret = CcGetClientConfig(pc->RemoteClient, &t); - - if (ret == ERR_NO_ERROR) - { - // Change the settings - t.NicDownOnDisconnect = true; - ret = CcSetClientConfig(pc->RemoteClient, &t); - } - - if (ret == ERR_NO_ERROR) - { - // Success - } - - if (ret != ERR_NO_ERROR) - { - // Error has occurred - CmdPrintError(c, ret); - } - - // Release of the parameter list - FreeParamValueList(o); - - return ret; -} - -// Disable turning TUN interface up/down on client connect/disconnect -UINT PcTunDownOnDisconnectDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param) -{ - LIST *o; - PC *pc = (PC *)param; - UINT ret = ERR_NO_ERROR; - CLIENT_CONFIG t; - - // Get the parameter list - o = ParseCommandList(c, cmd_name, str, NULL, 0); - if (o == NULL) - { - return ERR_INVALID_PARAMETER; - } - - // RPC call - Zero(&t, sizeof(t)); - - ret = CcGetClientConfig(pc->RemoteClient, &t); - - if (ret == ERR_NO_ERROR) - { - // Change the settings - t.NicDownOnDisconnect = false; - ret = CcSetClientConfig(pc->RemoteClient, &t); - } - - if (ret == ERR_NO_ERROR) - { - // Success - } - - if (ret != ERR_NO_ERROR) - { - // Error has occurred - CmdPrintError(c, ret); - } - - // Release of the parameter list - FreeParamValueList(o); - - return ret; -} - -// Get status of turning TUN interface up/down on client connect/disconnect -UINT PcTunDownOnDisconnectGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param) -{ - LIST *o; - PC *pc = (PC *)param; - UINT ret = ERR_NO_ERROR; - CLIENT_CONFIG t; - - o = ParseCommandList(c, cmd_name, str, NULL, 0); - if (o == NULL) - { - return ERR_INVALID_PARAMETER; - } - - // RPC call - Zero(&t, sizeof(t)); - - ret = CcGetClientConfig(pc->RemoteClient, &t); - - if (ret == ERR_NO_ERROR) - { - CT *ct = CtNewStandard(); - - CtInsert(ct, _UU("CMD_TUNDownOnDisconnectGet_COLUMN1"), - t.NicDownOnDisconnect ? _UU("SM_ACCESS_ENABLE") : _UU("SM_ACCESS_DISABLE")); - - CtFree(ct, c); - } - - if (ret != ERR_NO_ERROR) - { - // Error has occurred - CmdPrintError(c, ret); - } - - // Release of the parameter list - FreeParamValueList(o); - - return ret; -} - // Enable the maintenance function of the Internet connection UINT PcKeepEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param) { diff --git a/src/Cedar/Command.h b/src/Cedar/Command.h index a0deaebc..5323be25 100644 --- a/src/Cedar/Command.h +++ b/src/Cedar/Command.h @@ -377,9 +377,6 @@ UINT PcAccountExport(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); UINT PcAccountImport(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); UINT PcRemoteEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); UINT PcRemoteDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); -UINT PcTunDownOnDisconnectEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); -UINT PcTunDownOnDisconnectDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); -UINT PcTunDownOnDisconnectGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); UINT PcKeepEnable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); UINT PcKeepDisable(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); UINT PcKeepSet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param); diff --git a/src/Cedar/Link.c b/src/Cedar/Link.c index 5ddfe6d1..52d4b9ef 100644 --- a/src/Cedar/Link.c +++ b/src/Cedar/Link.c @@ -506,7 +506,7 @@ void StartLink(LINK *k) pa->Param = (void *)k; LockLink(k); { - k->ClientSession = NewClientSession(k->Cedar, k->Option, k->Auth, pa, NULL); + k->ClientSession = NewClientSession(k->Cedar, k->Option, k->Auth, pa); } UnlockLink(k); } diff --git a/src/Cedar/Protocol.c b/src/Cedar/Protocol.c index 5d999d13..4dd2bd62 100644 --- a/src/Cedar/Protocol.c +++ b/src/Cedar/Protocol.c @@ -5008,15 +5008,9 @@ REDIRECTED: } PrintStatus(sess, _UU("STATUS_9")); - #ifdef OS_UNIX - // Set TUN up if session has NicDownOnDisconnect set - if (c->Session->NicDownOnDisconnect != NULL) - { - UnixVLanSetState(c->Session->ClientOption->DeviceName, true); - } + UnixVLanSetState(c->Session->ClientOption->DeviceName, true); #endif - // Shift the connection to the tunneling mode StartTunnelingMode(c); s = NULL; diff --git a/src/Cedar/Session.c b/src/Cedar/Session.c index e9d11125..e4a1b9da 100644 --- a/src/Cedar/Session.c +++ b/src/Cedar/Session.c @@ -1266,14 +1266,9 @@ void CleanupSession(SESSION *s) { FreePacketAdapter(s->PacketAdapter); } - #ifdef OS_UNIX - if (s->NicDownOnDisconnect != NULL && *s->NicDownOnDisconnect) - { - UnixVLanSetState(s->ClientOption->DeviceName, false); - } + UnixVLanSetState(s->ClientOption->DeviceName, false); #endif - if (s->OldTraffic != NULL) { FreeTraffic(s->OldTraffic); @@ -1423,14 +1418,9 @@ void ClientThread(THREAD *t, void *param) CLog(s->Cedar->Client, "LC_CONNECT_ERROR", s->ClientOption->AccountName, GetUniErrorStr(s->Err), s->Err); - #ifdef OS_UNIX - if (s->NicDownOnDisconnect != NULL && *s->NicDownOnDisconnect) - { - UnixVLanSetState(s->ClientOption->DeviceName, false); - } + UnixVLanSetState(s->ClientOption->DeviceName, false); #endif - if (s->LinkModeClient && s->Link != NULL) { HLog(s->Link->Hub, "LH_CONNECT_ERROR", s->ClientOption->AccountName, @@ -1838,7 +1828,7 @@ SESSION *NewRpcSessionEx2(CEDAR *cedar, CLIENT_OPTION *option, UINT *err, char * } // Create a client session -SESSION *NewClientSessionEx(CEDAR *cedar, CLIENT_OPTION *option, CLIENT_AUTH *auth, PACKET_ADAPTER *pa, ACCOUNT *account, bool *NicDownOnDisconnect) +SESSION *NewClientSessionEx(CEDAR *cedar, CLIENT_OPTION *option, CLIENT_AUTH *auth, PACKET_ADAPTER *pa, ACCOUNT *account) { SESSION *s; THREAD *t; @@ -1966,8 +1956,6 @@ SESSION *NewClientSessionEx(CEDAR *cedar, CLIENT_OPTION *option, CLIENT_AUTH *au s->ClientOption->NumRetry = 0; } - s->NicDownOnDisconnect = NicDownOnDisconnect; - // Create a client thread t = NewThread(ClientThread, (void *)s); WaitThreadInit(t); @@ -1975,9 +1963,9 @@ SESSION *NewClientSessionEx(CEDAR *cedar, CLIENT_OPTION *option, CLIENT_AUTH *au return s; } -SESSION *NewClientSession(CEDAR *cedar, CLIENT_OPTION *option, CLIENT_AUTH *auth, PACKET_ADAPTER *pa, bool *NicDownOnDisconnect) +SESSION *NewClientSession(CEDAR *cedar, CLIENT_OPTION *option, CLIENT_AUTH *auth, PACKET_ADAPTER *pa) { - return NewClientSessionEx(cedar, option, auth, pa, NULL, NicDownOnDisconnect); + return NewClientSessionEx(cedar, option, auth, pa, NULL); } // Get the session from the session key diff --git a/src/Cedar/Session.h b/src/Cedar/Session.h index 3ae3b01b..1b687c3f 100644 --- a/src/Cedar/Session.h +++ b/src/Cedar/Session.h @@ -226,8 +226,6 @@ struct SESSION UINT64 LastDLinkSTPPacketSendTick; // Last D-Link STP packet transmission time UCHAR LastDLinkSTPPacketDataHash[MD5_SIZE]; // Last D-Link STP packet hash - bool *NicDownOnDisconnect; // Pointer to client configuration parameter. NULL for non-clients. - SHARED_BUFFER *IpcSessionSharedBuffer; // A shared buffer between IPC and Session IPC_SESSION_SHARED_BUFFER_DATA *IpcSessionShared; // Shared data between IPC and Session }; @@ -305,8 +303,8 @@ struct UI_CHECKCERT // Function prototype -SESSION *NewClientSessionEx(CEDAR *cedar, CLIENT_OPTION *option, CLIENT_AUTH *auth, PACKET_ADAPTER *pa, struct ACCOUNT *account, bool *NicDownOnDisconnect); -SESSION *NewClientSession(CEDAR *cedar, CLIENT_OPTION *option, CLIENT_AUTH *auth, PACKET_ADAPTER *pa, bool *NicDownOnDisconnect); +SESSION *NewClientSessionEx(CEDAR *cedar, CLIENT_OPTION *option, CLIENT_AUTH *auth, PACKET_ADAPTER *pa, struct ACCOUNT *account); +SESSION *NewClientSession(CEDAR *cedar, CLIENT_OPTION *option, CLIENT_AUTH *auth, PACKET_ADAPTER *pa); SESSION *NewRpcSession(CEDAR *cedar, CLIENT_OPTION *option); SESSION *NewRpcSessionEx(CEDAR *cedar, CLIENT_OPTION *option, UINT *err, char *client_str); SESSION *NewRpcSessionEx2(CEDAR *cedar, CLIENT_OPTION *option, UINT *err, char *client_str, void *hWnd); diff --git a/src/bin/hamcore/strtable_cn.stb b/src/bin/hamcore/strtable_cn.stb index e6eb71da..3a00ce62 100644 --- a/src/bin/hamcore/strtable_cn.stb +++ b/src/bin/hamcore/strtable_cn.stb @@ -4721,22 +4721,6 @@ CMD_ServerCipherSet_Args ServerCipherSet [name] CMD_ServerCipherSet_[name] 指定设置加密和数字签名的程序。可以使用的程序一览,可以从 ServerCipherGet 指令中获取。 CMD_ServerCipherSet_PROMPT_NAME 指定的加密程序的名称: -# TUNDownOnDisconnectEnable command -CMD_TUNDownOnDisconnectEnable Enable the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectEnable_Help This allows you to enable Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectEnable_Args TUNDownOnDisconnectEnable - -# TUNDownOnDisconnectDisable command -CMD_TUNDownOnDisconnectDisable Disable the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectDisable_Help This allows you to disable Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectDisable_Args TUNDownOnDisconnectDisable - -# TUNDownOnDisconnectGet command -CMD_TUNDownOnDisconnectGet Get status of the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectGet_Help This allows you to get status of the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectGet_Args TUNDownOnDisconnectGet -CMD_TUNDownOnDisconnectGet_COLUMN1 Put TUN down on disconnect - # KeepEnable 命令 CMD_KeepEnable 启动 Internet 保持连接功能 CMD_KeepEnable_Help 启动 [互联网保持连接功能]。启动此功能后,如果一段时间没有通信数据,导致连接将被断开时,会自动发送数据包到任何服务器,互联网服务器一定的间隔,从而可以保持连接。\n目标主机名等,可以通过 KeepSet 指令来设置。\nVPN Server 或 VPN Bridge 运行此命令时,您必须具有管理员的权限。 diff --git a/src/bin/hamcore/strtable_en.stb b/src/bin/hamcore/strtable_en.stb index 3a6d06d6..326b8e89 100644 --- a/src/bin/hamcore/strtable_en.stb +++ b/src/bin/hamcore/strtable_en.stb @@ -4704,22 +4704,6 @@ CMD_ServerCipherSet_Args ServerCipherSet [name] CMD_ServerCipherSet_[name] This specifies the encrypted and electronic signature algorithm to set. You can obtain the list of usable algorithms by using the ServerCipherGet command. CMD_ServerCipherSet_PROMPT_NAME Encrypted Algorithm Name to Specify: -# TUNDownOnDisconnectEnable command -CMD_TUNDownOnDisconnectEnable Enable the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectEnable_Help This allows you to enable Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectEnable_Args TUNDownOnDisconnectEnable - -# TUNDownOnDisconnectDisable command -CMD_TUNDownOnDisconnectDisable Disable the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectDisable_Help This allows you to disable Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectDisable_Args TUNDownOnDisconnectDisable - -# TUNDownOnDisconnectGet command -CMD_TUNDownOnDisconnectGet Get status of the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectGet_Help This allows you to get status of the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectGet_Args TUNDownOnDisconnectGet -CMD_TUNDownOnDisconnectGet_COLUMN1 Put TUN down on disconnect - # KeepEnable command CMD_KeepEnable Enable the Keep Alive Internet Connection Function CMD_KeepEnable_Help This allows you to enable the Keep Alive Internet Connection Function. By using the Keep Alive Internet Connection Function for network connection environments where connections will automatically be disconnected when there are periods of no communication that are longer than a set period, it is possible to keep alive the Internet connection by sending packets to a nominated server on the Internet at set intervals. \nYou can set a destination host name etc, by using the KeepSet command. \nTo execute this command on a VPN Server or VPN Bridge, you must have administrator privileges. diff --git a/src/bin/hamcore/strtable_ja.stb b/src/bin/hamcore/strtable_ja.stb index a15a897c..7e7d6fa3 100644 --- a/src/bin/hamcore/strtable_ja.stb +++ b/src/bin/hamcore/strtable_ja.stb @@ -4706,22 +4706,6 @@ CMD_ServerCipherSet_Args ServerCipherSet [name] CMD_ServerCipherSet_[name] 設定するる暗号化および電子署名アルゴリズムを指定します。使用可能なアルゴリズムの一覧は、ServerCipherGet コマンドで取得することができます。 CMD_ServerCipherSet_PROMPT_NAME 指定する暗号化アルゴリズム名: -# TUNDownOnDisconnectEnable command -CMD_TUNDownOnDisconnectEnable Enable the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectEnable_Help This allows you to enable Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectEnable_Args TUNDownOnDisconnectEnable - -# TUNDownOnDisconnectDisable command -CMD_TUNDownOnDisconnectDisable Disable the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectDisable_Help This allows you to disable Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectDisable_Args TUNDownOnDisconnectDisable - -# TUNDownOnDisconnectGet command -CMD_TUNDownOnDisconnectGet Get status of the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectGet_Help This allows you to get status of the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectGet_Args TUNDownOnDisconnectGet -CMD_TUNDownOnDisconnectGet_COLUMN1 Put TUN down on disconnect - # KeepEnable コマンド CMD_KeepEnable インターネット接続の維持機能の有効化 CMD_KeepEnable_Help [インターネット接続の維持機能] を有効にします。[インターネット接続の維持機能] を使用すると、一定期間無通信状態が続くと、自動的に接続が切断されるようなネットワーク接続環境の場合、インターネット上の任意のサーバーに対して一定間隔ごとにパケットを送信することにより、インターネット接続を維持することができます。\n接続先のホスト名などについては、KeepSet コマンドで設定することができます。\nVPN Server または VPN Bridge で、このコマンドを実行するには、管理者権限が必要です。 diff --git a/src/bin/hamcore/strtable_ko.stb b/src/bin/hamcore/strtable_ko.stb index 348e4db6..864d8a0b 100644 --- a/src/bin/hamcore/strtable_ko.stb +++ b/src/bin/hamcore/strtable_ko.stb @@ -4684,22 +4684,6 @@ CMD_ServerCipherSet_Args ServerCipherSet [name] CMD_ServerCipherSet_[name] 설정해야 루루 암호화 및 전자 서명 알고리즘을 지정합니다. 사용 가능한 알고리즘 목록은 ServerCipherGet 명령에서 얻을 수 있습니다. CMD_ServerCipherSet_PROMPT_NAME 지정하는 암호화 알고리즘 명: -# TUNDownOnDisconnectEnable command -CMD_TUNDownOnDisconnectEnable Enable the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectEnable_Help This allows you to enable Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectEnable_Args TUNDownOnDisconnectEnable - -# TUNDownOnDisconnectDisable command -CMD_TUNDownOnDisconnectDisable Disable the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectDisable_Help This allows you to disable Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectDisable_Args TUNDownOnDisconnectDisable - -# TUNDownOnDisconnectGet command -CMD_TUNDownOnDisconnectGet Get status of the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectGet_Help This allows you to get status of the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectGet_Args TUNDownOnDisconnectGet -CMD_TUNDownOnDisconnectGet_COLUMN1 Put TUN down on disconnect - # KeepEnable 명령 CMD_KeepEnable 인터넷 연결 유지 기능 활성화 CMD_KeepEnable_Help 인터넷 연결 유지 기능을 활성화합니다. 인터넷 연결 유지 기능을 사용하면 일정 기간 비활성 상태가 계속되면 자동으로 연결이 끊길와 같은 네트워크 환경의 경우 인터넷에있는 서버에 일정 간격으로 패킷 를 전송하여 인터넷 연결을 유지할 수 있습니다. \n 연결할 호스트 이름과 같은 내용은 KeepSet 명령으로 설정할 수 있습니다. \nVPN Server 또는 VPN Bridge에서이 명령을 실행하려면 관리자 권한이 필요합니다. diff --git a/src/bin/hamcore/strtable_pt_br.stb b/src/bin/hamcore/strtable_pt_br.stb index b6775309..c5c6ea90 100644 --- a/src/bin/hamcore/strtable_pt_br.stb +++ b/src/bin/hamcore/strtable_pt_br.stb @@ -4429,25 +4429,6 @@ CMD_ServerCipherSet_[name] This specifies the encrypted and electronic signature CMD_ServerCipherSet_PROMPT_NAME Encrypted Algorithm Name to Specify: -# TUNDownOnDisconnectEnable command -CMD_TUNDownOnDisconnectEnable Enable the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectEnable_Help This allows you to enable Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectEnable_Args TUNDownOnDisconnectEnable - - -# TUNDownOnDisconnectDisable command -CMD_TUNDownOnDisconnectDisable Disable the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectDisable_Help This allows you to disable Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectDisable_Args TUNDownOnDisconnectDisable - - -# TUNDownOnDisconnectGet command -CMD_TUNDownOnDisconnectGet Get status of the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectGet_Help This allows you to get status of the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectGet_Args TUNDownOnDisconnectGet -CMD_TUNDownOnDisconnectGet_COLUMN1 Put TUN down on disconnect - - # KeepEnable command CMD_KeepEnable Enable the Keep Alive Internet Connection Function CMD_KeepEnable_Help This allows you to enable the Keep Alive Internet Connection Function. By using the Keep Alive Internet Connection Function for network connection environments where connections will automatically be disconnected when there are periods of no communication that are longer than a set period, it is possible to keep alive the Internet connection by sending packets to a nominated server on the Internet at set intervals. \nYou can set a destination host name etc, by using the KeepSet command. \nTo execute this command on a VPN Server or VPN Bridge, you must have administrator privileges. diff --git a/src/bin/hamcore/strtable_ru.stb b/src/bin/hamcore/strtable_ru.stb index 510de4b7..55e4a734 100644 --- a/src/bin/hamcore/strtable_ru.stb +++ b/src/bin/hamcore/strtable_ru.stb @@ -7301,16 +7301,6 @@ SW_LINK_NAME_DEBUG Debugging Information Collecting Tool SW_LINK_NAME_DEBUG_COMMENT Collects debugging information of SoftEther VPN. Use this tool only if your support staff asks you to do so. CMD_ACCOUNT_COLUMN_RETRY_ON_SERVER_CERT Retry on Untrusted Server Certificate -CMD_TUNDownOnDisconnectEnable Enable the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectEnable_Help This allows you to enable Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectEnable_Args TUNDownOnDisconnectEnable -CMD_TUNDownOnDisconnectDisable Disable the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectDisable_Help This allows you to disable Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectDisable_Args TUNDownOnDisconnectDisable -CMD_TUNDownOnDisconnectGet Get status of the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectGet_Help This allows you to get status of the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectGet_Args TUNDownOnDisconnectGet -CMD_TUNDownOnDisconnectGet_COLUMN1 Put TUN down on disconnect CMD_AccountRetryOnServerCertEnable Enable VPN connection retry if server certificate is invalid CMD_AccountRetryOnServerCertEnable_Help When a VPN Connection Setting registered on the VPN Client is specified and that VPN Connection Setting connects to a VPN Server, use this to enable the option to retry connection if Server certificate cannot be trusted. CMD_AccountRetryOnServerCertEnable_Args AccountRetryOnServerCertEnable [name] diff --git a/src/bin/hamcore/strtable_tw.stb b/src/bin/hamcore/strtable_tw.stb index 03c2a470..9e98bdc8 100644 --- a/src/bin/hamcore/strtable_tw.stb +++ b/src/bin/hamcore/strtable_tw.stb @@ -4722,21 +4722,6 @@ CMD_ServerCipherSet_Args ServerCipherSet [name] CMD_ServerCipherSet_[name] 指定設置加密和數位簽章的程式。可以使用的程式一覽,可以從 ServerCipherGet 指令中獲取。 CMD_ServerCipherSet_PROMPT_NAME 指定的加密程式的名稱: -# TUNDownOnDisconnectEnable command -CMD_TUNDownOnDisconnectEnable Enable the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectEnable_Help This allows you to enable Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectEnable_Args TUNDownOnDisconnectEnable - -# TUNDownOnDisconnectDisable command -CMD_TUNDownOnDisconnectDisable Disable the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectDisable_Help This allows you to disable Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectDisable_Args TUNDownOnDisconnectDisable - -# TUNDownOnDisconnectGet command -CMD_TUNDownOnDisconnectGet Get status of the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectGet_Help This allows you to get status of the Turn TUN Interface Down on Client Disconnect Function. -CMD_TUNDownOnDisconnectGet_Args TUNDownOnDisconnectGet -CMD_TUNDownOnDisconnectGet_COLUMN1 Put TUN down on disconnect # KeepEnable 命令 CMD_KeepEnable 啟動 Internet 保持連接功能