1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2025-07-06 15:54:57 +03:00
Commit Graph

1995 Commits

Author SHA1 Message Date
1c4b257a1b Merge PR #1211: Fix Parameter Descriptions in the JSON-RPC Documentation 2020-09-09 20:40:47 +02:00
77aee2d21c Fix Parameter Descriptions
Fix the packet count and bytes being mismatched in the JSON-RPC documentation.
2020-09-09 21:26:05 +10:00
f22b013dda Merge pull request #1201 from metalefty/japanese
Japanese translation
2020-09-04 16:21:53 +03:00
488eb06d64 hamcore(ja): translate leftovers 2020-09-04 22:19:10 +09:00
763e1b67a5 hamcore(ja): translate AccountRetryOnServerCert* command 2020-09-04 22:19:10 +09:00
fc39173b73 hamcore(ja): translate OpenVPN client certificate authentication 2020-09-04 22:19:06 +09:00
1a4ed27e89 hamcore(ja): revise CMD_AccountHttpHeaderDelete_[name] 2020-09-04 22:17:00 +09:00
cd0db9c7d6 hamcore(ja): translate CascadeHttpHeader* command 2020-09-04 22:17:00 +09:00
c5a3fd74c0 hamcore(ja): translate AccountHttpHeader* commands 2020-09-04 22:17:00 +09:00
a800e6f6cc hamcore(ja): put trailing spaces as well as others
because these are prompt.
2020-09-04 22:17:00 +09:00
5b07163975 hamcore(ja): Translate UDP acceleration related messages
and put them to the correct place.
2020-09-04 22:16:55 +09:00
feba98199b Merge PR #1205: hamcore: correct mistake enable/disable in help meessages 2020-09-03 20:55:14 +02:00
7b73e3c0c8 hamcore: correct mistake enable/disable in help meessages 2020-09-03 21:54:50 +09:00
490fc7b65c Merge PR #1196: Use "clang-cl" for Windows builds on Azure Pipelines, fix non-const wchar_t array literal initialization 2020-08-16 02:32:57 +02:00
a8fdc1184a Azure Pipelines: use "clang-cl" for Windows builds
Now that we can successfully compile with Clang, there's probably no reason to stick with MSVC.
2020-08-16 02:15:25 +02:00
7edda54b9a CMake: only apply error c1010001 workaround for MSVC
Clang doesn't require it.
2020-08-16 01:22:28 +02:00
cc5d68a7c3 Cedar/Win32Com.cpp: fix non-const wchar_t array literal initialization error
error: cannot initialize a variable of type 'wchar_t *' with an lvalue of type 'const wchar_t [4]'
        wchar_t *protocol_str = (udp ? L"UDP" : L"TCP");
                 ^              ~~~~~~~~~~~~~~~~~~~~~~~
2020-08-16 00:58:18 +02:00
6a7883b5fe Merge PR #1195: Define our types to the standard ones from <stdint.h>, remove unnecessary duplicate ones 2020-08-16 00:03:34 +02:00
61ccaed4f6 Mayaqua/MayaType.h: define our types to the ones from <stdint.h> on non-Windows 2020-08-15 09:18:27 +02:00
09f24e46b3 Remove "WORD", use "USHORT" everywhere for consistency 2020-08-15 09:18:27 +02:00
69cd39616b Remove "UINT32" and "DWORD", use "UINT" everywhere for consistency 2020-08-15 09:18:27 +02:00
e18bb465c9 Remove "CHAR", use lowercase everywhere for consistency
As a bonus we fix 3 cast warnings.
2020-08-15 09:18:27 +02:00
337a04b758 Remove "BOOL", "TRUE" and "FALSE", use lowercase everywhere for consistency 2020-08-15 09:18:27 +02:00
1c56562cc7 Remove "UINT_PTR" and "LONG_PTR", use original type everywhere 2020-08-15 09:18:21 +02:00
b4cd4ce360 Mayaqua/MayaType.h: remove unused integer types 2020-08-15 09:09:46 +02:00
818103950c Merge PR #1191: Proto: write message to log on session creation/deletion, remove redundant OpenVPN messages 2020-08-06 22:45:34 +02:00
5d782a67b4 Cedar/Proto_OpenVPN.c: remove redundant log messages
The "session created" and "session deleted" messages were useful when a single OPENVPN_SERVER object handled multiple UDP sessions.

Now that each session has its own OPENVPN_SERVER object and session creations/deletions are logged by PROTO, the messages are redundant.

In future we will change the OpenVPN implementation so that the multi-session handling code is deleted.

The messages were like this:

OpenVPN Module: The OpenVPN Server Module is starting.
OpenVPN Session 1 (192.168.122.211:47390 -> 0.0.0.0:1194): A new session is created. Protocol: UDP

OpenVPN Session 1 (192.168.122.211:47390 -> 0.0.0.0:1194): Deleting the session.
OpenVPN Module: The OpenVPN Server Module is stopped.
2020-08-06 22:24:45 +02:00
cda0062367 Cedar/Proto: add ProtoLog(), write message to log on session creation/deletion
Example:

[OpenVPN] 192.168.122.100:47390 -> 0.0.0.0:1194 (UDP): Session created.
[OpenVPN] 192.168.122.100:47390 -> 0.0.0.0:1194 (UDP): Session deleted.

[OpenVPN] 192.168.122.100:49866 -> 192.168.122.1:1194 (TCP): Session created.
[OpenVPN] 192.168.122.100:49866 -> 192.168.122.1:1194 (TCP): Session deleted.
2020-08-06 22:24:24 +02:00
a8c6a0c1b3 Cedar/Proto: rename "ProtoNewSession()" to "ProtoSessionNew()" and "ProtoDeleteSession()" to "ProtoSessionDelete()"
For consistency.

Also, the "proto" argument is now marked as const.
2020-08-06 02:41:13 +02:00
712c51a971 Merge PR #1190: Cedar/Proto.c: fix session deletion not being triggered in certain cases 2020-08-05 01:53:08 +02:00
ac1b045634 Cedar/Proto.c: fix session deletion not being triggered in certain cases
ProtoHandleDatagrams() takes care of deleting a session if marked as halted.
However, the check is performed when a packet for that session is received; that never happens if the remote host doesn't send at least a packet.

This commit fixes the issue by moving the check into the loop that iterates through all sessions.
2020-08-05 01:25:03 +02:00
3b2db45509 Merge PR #1188: Bump elliptic from 6.4.1 to 6.5.3 in /src/bin/hamcore/wwwroot/admin/default 2020-07-30 22:53:21 +02:00
10e292b196 Bump elliptic in /src/bin/hamcore/wwwroot/admin/default
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.1 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.4.1...v6.5.3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-30 18:44:29 +00:00
e8793a0098 Merge PR #1187: Find OpenSSL and zlib on Windows like we do on UNIX, use vcpkg on Azure Pipelines, remove Windows build on AppVeyor 2020-07-28 20:13:39 +02:00
5cdd2a4e4a Merge PR #1177: Implement options API in Proto 2020-07-28 01:35:50 +02:00
e1d9eaf590 .ci/start-se-openvpn.sh: use new vpncmd command to enable OpenVPN 2020-07-28 00:59:28 +02:00
6b3ac84ba2 Cedar: remove old commands and unused variables 2020-07-28 00:57:37 +02:00
18ad35ebfe Cedar/Admin: use Proto in StGetOpenVpnSstpConfig() and StSetOpenVpnSstpConfig()
For now Server Manager still uses the two RPC methods.
2020-07-28 00:57:36 +02:00
b853140626 Cedar: use Proto API for protocol options 2020-07-28 00:57:36 +02:00
5209b310e3 Cedar/Command: add ProtoOptionsGet and ProtoOptionsSet commands
ProtoOptionsGet command - Lists the options for the specified protocol
Help for command "ProtoOptionsGet"

Purpose:
  Lists the options for the specified protocol

Description:
  This command can be used to retrieve the options for a specific protocol.
  Detailed info (e.g. value type) will be shown.
  You can change an option's value with the ProtoOptionsSet command.

Usage:
  ProtoOptionsGet [protocol]

Parameters:
  protocol - Protocol name.

ProtoOptionsSet command - Sets an option's value for the specified protocol
Help for command "ProtoOptionsSet"

Purpose:
  Sets an option's value for the specified protocol

Description:
  This command can be used to change an option's value for a specific protocol.
  You can retrieve the options using the ProtoOptionsGet command.
  To execute this command, you must have VPN Server administrator privileges.

Usage:
  ProtoOptionsSet [protocol] [/NAME:option_name] [/VALUE:string/true/false]

Parameters:
  protocol - Protocol name.
  /NAME    - Option name.
  /VALUE   - Option value. Make sure to write a value that is accepted by the specified protocol!
2020-07-28 00:57:36 +02:00
3a275d7257 Cedar/Admin: implement RPC methods to get/set Proto options 2020-07-28 00:57:36 +02:00
aa65327e73 Mayaqua/Pack: add PackGetStrSize(), for strings with non-constant length 2020-07-28 00:57:36 +02:00
b352aa4cc3 Cedar/Server: load and save Proto settings
Snippet from the server configuration:

declare root
{
...
	declare ServerConfiguration
	{
	...
		declare Proto
		{
			declare OpenVPN
			{
				string DefaultClientOption dev-type$20tun,link-mtu$201500,tun-mtu$201500,cipher$20AES-128-CBC,auth$20SHA1,keysize$20128,key-method$202,tls-client
				bool Enabled true
				bool Obfuscation false
				string ObfuscationMask $
				bool PushDummyIPv4AddressOnL2Mode true
			}
			declare SSTP
			{
				bool Enabled true
			}
		}
	...
	}
...
}
2020-07-28 00:57:36 +02:00
6d85fffdb5 Cedar: introduce options API in Proto
PROTO_OPTION is a structure that describes an option (who would've guessed?).

It's designed in a way that allows it to occupy as low memory as possible, while providing great flexibility.

The idea is similar to the one implemented in LIST for trivial types, with the difference that PROTO_OPTION doesn't require casting due to the use of union.
2020-07-28 00:57:36 +02:00
8685fe0da1 Cedar/Proto: introduce PROTO_CONTAINER, to store data for each implementation
ProtoImplDetect() is renamed to ProtoDetect(), because it now returns a pointer to a PROTO_CONTAINER (if successful).
2020-07-28 00:57:36 +02:00
cd850c07ae Cedar: improve constness of PROTO_IMPL functions, move Name() at the top 2020-07-28 00:57:36 +02:00
14a410a179 AppVeyor: remove Windows build
AppVeyor provides vcpkg and a great guide explaining how to use it and cache the installed packages: https://www.appveyor.com/docs/lang/cpp/#vc-packaging-tool

However, we're currently relying on Azure Pipelines for the Windows builds and keeping one on AppVeyor would be a waste of CI resources.
2020-07-28 00:00:34 +02:00
c865103795 Azure Pipelines: install OpenSSL and zlib through vcpkg on Windows
This commit also changes the x86 build so that it uses the "amd64_x86" toolchain, for potentially better build performance.

The architecture is now appended to the installers.
2020-07-27 23:34:34 +02:00
60410accce Remove Windows libraries and zlib submodule from the repository 2020-07-27 21:35:54 +02:00
352ed759b2 CMake: find OpenSSL and zlib on Windows like we do on UNIX
This allows the project to be built with the support of vcpkg.
2020-07-27 21:32:50 +02:00