Evengard
f627b64264
Auto formatting with AStyle
2020-05-12 17:59:25 +03:00
Evengard
1d6a4d3ec8
Preliminary IPC IPv6 implementation (untested)
2020-05-12 17:59:24 +03:00
Davide Beatrici
0570f7d31c
Mayaqua/Network: add StopUdpListener()
...
This allows to stop a UDP listener without deleting it.
It's especially useful when no datagrams should be received anymore, but there are other threads accessing the listener.
2020-05-11 07:50:55 +02:00
Evengard
8fb456f6a6
Fixing a memory leak in SslCertVerifyCallback because of a duplicated callback
2020-05-03 05:36:01 +03:00
Evengard
132926ee09
Fixing alignment of struct on GCC, changing the method to server one
2020-05-03 05:17:23 +03:00
Evengard
9180e065a0
Some weirdness fixes
2020-05-02 20:29:31 +03:00
Evengard
39becfe4ab
Some hacks to make Android VPN Client Pro working
2020-05-02 20:25:01 +03:00
Evengard
723f38e72f
Fixing Linux...
2020-05-02 19:52:47 +03:00
Evengard
a2b7cb0148
Added possibility to load CA certificates from chain_certs folder to allow verifying the client certificates against it.
2020-05-02 19:52:46 +03:00
Evengard
24bd2b3198
Fixing up some errors
2020-05-02 19:52:46 +03:00
Ilya Shipitsin
c6f186bd73
Merge pull request #1084 from ffontaine/master
...
Only enable getifaddrs support when available
2020-04-03 17:45:19 +05:00
Ilya Shipitsin
84bd9abb30
Merge pull request #1072 from Evengard/ppp-ipv6
...
Rewriting the PPP stack
2020-04-02 20:29:51 +05:00
Fabrice Fontaine
dcecd4c0d5
Only enable getifaddrs support when available
...
On uClibc, the ifaddrs.h support is optional. While the default
Buildroot uClibc configuration has it enabled, some external
toolchains may not. Therefore this patch detects that and adjusts
softether usage of ifaddrs accordingly.
Based on an initial patch from Bernd Kuhls.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com >
[Retrieved from:
https://git.buildroot.net/buildroot/tree/package/softether/0009-uclibc-ai-addrconfig.patch ]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com >
2020-03-21 17:57:37 +01:00
Koichiro IWAO
f34d3c80b1
allow to SKIP_CPU_FEATURES explicitly, not only autodetect
...
Formerly, SKIP_CPU_FEATURES is automatically detected by system
processor. However, "^(armv7l|aarch64|s390x)$" does not cover all
processors that cpu_features should be skipped.
"armv6", "armv7", "mips", "mips64" on FreeBSD are examples [1]
that cpu_features is not correctly skipped.
This change intends to build SoftEther without any modifications on
CMakeLists.txt on such processors.
cmake . -DSKIP_CPU_FEATURES=1
[1] https://www.freebsd.org/platforms/
2020-03-16 18:50:55 +09:00
Evengard
fa9e9d15a5
Removing unrelated changes as per review
2020-02-06 10:52:34 +03:00
Evengard
a6970e3e61
Merge branch 'master' into ppp-ipv6
2020-02-05 00:23:03 +03:00
Koichiro IWAO
b1aae5080d
put chain_certs in dbdir
2019-12-04 23:59:13 +09:00
Koichiro IWAO
c64674479d
separte log directory and database(config) directory
...
@ was an alias for exedir. To separate log directory and
database(config) directory, @ is now an alias for logdir and $ is an
alias for dbdir.
2019-12-04 23:59:09 +09:00
Koichiro IWAO
01abdedc45
put PID files under PidDir
2019-12-04 23:59:07 +09:00
Koichiro IWAO
18c9b74ff0
implement Get{Db,Log,Pid}{,W} function
...
DbDir : directory to store files such as vpn_server.config and backups etc
LogDir : directory to write logs (sub directories is created in this dir)
PidDir : directory to put PID files such as .ctl-* .pid-* .VPN-*
2019-12-04 23:59:01 +09:00
Davide Beatrici
6b08a451da
Mayaqua: implement R-UDP version 2, powered by ChaCha20-Poly1305
2019-11-23 04:38:20 +01:00
dnobori
9aaa9a7f15
Cedar: implement detailed protocol info
2019-11-23 04:23:56 +01:00
dnobori
ab57ef3f54
Mayaqua: add Windows Server 2019 to the supported operating systems list
2019-11-23 04:23:56 +01:00
Davide Beatrici
b8f58a2f94
Move generic proxy stuff from Cedar to Mayaqua
...
This commit moves the generic (not related to our protocol) proxy stuff from Cedar to Mayaqua, in dedicated files.
The functions are refactored so that they all have the same arguments and follow the same logic.
Dedicated error codes are added, in order to indicate clearly why the function(s) failed.
2019-10-30 01:39:04 +01:00
Davide Beatrici
51330fdb43
Mayaqua.h: include <stdarg.h> for "va_list" on Illumos
2019-10-21 21:44:38 +02:00
Davide Beatrici
2f90e9ecb8
Mayaqua: move HTTP functions from "Network" to "HTTP"
2019-10-20 04:15:12 +02:00
Davide Beatrici
c3d6ffc533
Move GetMimeTypeFromFileName() and related structure to Mayaqua
...
The structure (containing all mimetypes) occupies almost 700 lines, which are a lot.
This is just the beginning of the refactor plan.
2019-10-20 04:15:12 +02:00
Davide Beatrici
04ecbf843a
Mayaqua.h: include <stdio.h> for "FILE"
2019-10-20 04:15:12 +02:00
Davide Beatrici
6b41b19327
Mayaqua.h: include <stddef.h>, for "wchar_t"
2019-10-20 04:15:12 +02:00
Davide Beatrici
2aeec323f9
Merge PR #1008 : Adding RADIUS and L3 MAC address fixing function, with small bug-fixes
2019-10-19 19:37:21 +02:00
Daiyuu Nobori
f0357d4000
- Fixed the problem occurs when RPC messages between Cluster Members exceed 64Kbytes.
...
- Fixed the RADIUS PEAP client to use the standard TLS versioning.
- Implementation of a function to fix the MAC address of L3 VPN protocol by entering e.g. "MAC: 112233445566" in the "Notes" field of the user information.
- Implementation of a function to fix the virtual MAC address to be assigned to the L3 VPN client as a string attribute from RADIUS server when authentication.
2019-10-19 17:34:12 +09:00
Daiyuu Nobori
7413fec646
Updating built-in Win32 libraries
...
- OpenSSL 1.1.1 -> 1.1.1d
- zlib 1.2.3 -> 1.2.11
2019-10-19 16:59:13 +09:00
Davide Beatrici
d10f83417f
Merge PR #962 : Fix several compile warnings on MS VC++ 2008.
2019-08-04 04:03:14 +02:00
Davide Beatrici
82b84a9436
Merge PR #961 : Enable crash minidump for Win32 vpntest
2019-08-04 03:51:00 +02:00
Daiyuu Nobori
bf4667cfce
Fix several compile warnings on MS VC++ 2008.
2019-08-04 10:35:16 +09:00
Daiyuu Nobori
c6068d23c7
Enables crash minidump for Win32 vpntest. Minidump files will be saved to the 'C:\Users\<username>\AppData\Local\Temp\vpn_debug' (for normal user) or 'src\bin\vpn_debug\' (for administrator user).
2019-08-04 10:26:41 +09:00
Davide Beatrici
9f19efb7af
OpenVPN: use new protocol interface
2019-07-26 08:37:00 +02:00
Davide Beatrici
7d58e6bf60
Add interface for easy protocol implementation
...
This commit adds a protocol interface to the server, its purpose is to manage TCP connections and the various third-party protocols.
More specifically, ProtoHandleConnection() takes care of exchanging the packets between the local and remote endpoint; the protocol implementation only has to parse them and act accordingly.
The interface knows which protocol is the connection for by calling IsPacketForMe(), a function implemented for each protocol.
2019-07-26 08:36:54 +02:00
Rosen Penev
d57fc3524c
Fix LibreSSL support
...
My previous patch used a wrong if directive, which disabled removed
(de)initialization and threading for LibreSSL. This most likely causes
issues at runtime.
2019-07-22 11:35:19 -07:00
Rosen Penev
a9f707c813
Switch to OpenSSL THREADID API
...
The old threading API was deprecated in OpenSSL 1.0.
2019-07-22 11:28:12 -07:00
Rosen Penev
1bd39485cf
Mayaqua: Fix compilation without deprecated OpenSSL APIs
...
Initialization and deinitialization are deprecated.
Missing headers were added.
Explicit threading is also deprecated.
2019-07-11 12:42:26 -07:00
Rosen Penev
a4ed656001
Mayaqua: Replace GNU specific sys/poll.h header with POSIX poll.h
...
Fixes warning from the musl libc:
warning redirecting incorrect #include <sys/poll.h> to <poll.h>
2019-07-10 17:01:01 -07:00
Daiyuu Nobori
9c227f3480
Add the warning message if KB3033929 is not installed in Windows 7 / Server 2008 R2.
2019-06-30 01:20:52 +09:00
Daiyuu Nobori
98b08c2ad1
Implementation of the JSON-RPC API and the Web Admin interface. (dnobori's internal note: 7579 - 7682)
2019-05-28 12:51:51 +09:00
Daiyuu Nobori
98443715d9
Fixed the vulnerability that a malformed packet will cause the buffer overflow at the receive path. This vulnerability may occur abnormal process exit with the buffer security check mechanism built-in with SoftEther VPN binary. Although this buffer overflow can theoretically bypass the security check in theory, in the actual binary it is detected by the buffer security check inserted by the C compiler and the process is forcibly terminated. Therefore, as a result, it can be abused by a DoS attacker. Acknowledgments: The last problems is discovered and reported by Fabrizio Steiner.
2019-02-28 20:40:23 +09:00
vvd
372e8aa031
Fixed memory leak in OpenSSL deinitialization function
2019-02-27 21:41:20 +01:00
Rosen Penev
26261236ba
Fix compilation without OpenSSL ENGINE
2019-02-25 14:24:31 -08:00
Nick
23b8161ac2
Fixed wrong function name in Debug message
2019-02-15 20:41:16 -05:00
Ilya Shipitsin
45c13c5409
disable cpu features on arm64, amrhf, s390x
...
tested on launchpad
2019-02-03 18:05:34 +05:00
Davide Beatrici
09ee19e72b
Mayaqua/Network.c: fix double free crash in GetCipherList()
...
SSL_free() also frees the associated context.
https://github.com/openssl/openssl/blob/d6c3c1896cf3c0d69bc27da923d63f8130b13ca0/ssl/ssl_lib.c#L1209
From https://www.openssl.org/docs/man1.1.1/man3/SSL_free.html :
"SSL_free() also calls the free()ing procedures for indirectly affected items, if applicable: the buffering BIO, the read and write BIOs, cipher lists specially created for this ssl, the SSL_SESSION. Do not explicitly free these indirectly freed up items before or after calling SSL_free(), as trying to free things twice may lead to program failure."
2019-01-21 04:14:47 +01:00