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.
d6c3c1896c/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
Daiyuu Nobori
63c01ba736
Merge pull request #832 from dnobori/181202_switch_to_apache_license
...
Switching license from GPLv2 to Apache License 2.0.
2019-01-21 09:36:19 +09:00
Daiyuu Nobori
881f34ac56
Compacting headers, updating trivial texts to fit to the license change from GPLv2 to Apache License 2.0.
2019-01-14 12:25:53 +09:00
Ilya Shipitsin
3bb0e20add
src/Mayaqua/FileIO: remove unused function
...
found by cppcheck
[src/Mayaqua/FileIO.c:2082]: (style) The function 'FileRename' is never used.
2019-01-06 23:44:23 +05:00
Davide Beatrici
d62421adcb
Cedar: retrieve the list of available encryption algorithms from the server
2019-01-01 20:31:13 +01:00
Davide Beatrici
2a572aab21
Mayaqua: fix segmentation fault, add new FreeHttpHeaderSafe() function
2018-12-30 14:46:26 +01:00
Davide Beatrici
619a533b8f
Merge PR #843 : Mayaqua: query OpenSSL for the list of available ciphers instead of relying on a static list
2018-12-28 20:24:13 +01:00
Davide Beatrici
e51c319648
Mayaqua: add "PTR_TO_PTR" macro intended to be used with FreeSafe()
2018-12-22 07:38:38 +01:00
Davide Beatrici
7f9d47b3aa
Mayaqua: query OpenSSL for the list of available ciphers instead of relying on a static list
2018-12-21 09:54:51 +01:00
Davide Beatrici
bd01cbff9a
Mayaqua: add new FreeSafe() function which calls Free() and set the pointer's value to NULL
2018-12-20 02:52:22 +01:00
Davide Beatrici
ada06e218e
Mayaqua: revamp RecvHttpHeader() so that cleanup functions are not called twice
2018-12-19 20:00:18 +01:00
Daiyuu Nobori
9c0eee0aad
Merge branch 'master' of github.com:SoftEtherVPN/SoftEtherVPN into 181202_switch_to_apache_license
2018-12-14 10:58:58 +09:00
Daiyuu Nobori
456efa7f87
Modification the header comments for some definitions in TunTap.h.
2018-12-02 16:00:45 +09:00
Daiyuu Nobori
337aaa0dfa
Modification the header comments for some definitions in TunTap.h.
2018-12-02 15:58:23 +09:00
Daiyuu Nobori
c407f35322
SHA-0 Implementation replacement from GPLv3 to Apache License
2018-12-02 10:30:22 +09:00
Davide Beatrici
aefbd2e903
Add custom HTTP header feature for HTTP proxy
...
A custom HTTP header can be used to bypass certain restrictions imposed on the network or to avoid speed limitations applied by the QoS.
2018-11-29 20:32:21 +01:00
Ilya Shipitsin
9e250e62be
src/Mayaqua/Mayaqua: remove unused functions
...
found by cppcheck
[src/Mayaqua/Mayaqua.c:753]: (style) Consecutive return, break, continue, goto or throw statements are unnecessary.
[src/Mayaqua/Mayaqua.c:484]: (style) The function 'IsUnicode' is never used.
[src/Mayaqua/Mayaqua.c:438]: (style) The function 'MayaquaDotNetMode' is never used.
[src/Mayaqua/Mayaqua.c:774]: (style) The function 'PrintOsInfo' is never used.
2018-11-30 00:01:11 +05:00