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

834 Commits

Author SHA1 Message Date
241813e827 Preventing the Win32 API LoadLibrary() current directory DLL injection issue.
When loading the DLL file by the LoadLibrary() function in Windows VPN programs, we changed the behavior not to search the current directory. Based on this improvement, even if there are untrusted DLL files in the calendar directory, it is now safe to avoid the problem of unexpected security problem caused by the default loading behavior of Windows. Acknowledgments: This is based on a report by Herman Groeneveld, aka Sh4d0wman.
2018-04-22 18:35:38 +09:00
b8c1adec16 Virtual Network Adapter (NDIS6) kernel-mode device driver binary updates with Microsoft WHQL signed.
Fixed an issue that the VPN Client Virtual Network Driver fails to communicate when LTE or 3G wireless modems are used to connect to the internet by the computer running Windows 10 Spring Creators Update (version 1803). Please be careful that It is necessary to reinstall the device driver of the Virtual Network Adapter after upgrading the VPN client to build 9666 or later in order to solve the problem.
2018-04-22 18:27:39 +09:00
683aecaaec Improving the compliance of Virtual Network Adapters with the local address bit of the MAC address rule.
When installing a new device driver of the Virtual Network Driver card, we changed the initial random MAC address from 00-AC-xx-xx-xx-xx to 5E-xx-xx-xx-xx-xx. This realizes the compliance with the local address bit of the MAC address rule.
2018-04-22 18:24:29 +09:00
20b5b107e6 Virtual Network Adapter (NDIS6) source code updates.
Fixed an issue that the VPN Client Virtual Network Driver fails to communicate when LTE or 3G wireless modems are used to connect to the internet by the computer running Windows 10 Spring Creators Update (version 1803). Please be careful that It is necessary to reinstall the device driver of the Virtual Network Adapter after upgrading the VPN client to build 9666 or later in order to solve the problem.
2018-04-22 18:01:41 +09:00
b1f74268b1 Merge pull request #258 from ajeecai/Run_deadlock
Fix a deadlock when Run() to create a process.
2018-04-21 23:41:52 +02:00
8ddd328762 initial fix for clang warnings (#84) 2018-04-20 23:03:26 +02:00
0dee90f181 remove msvc compiling errors (#499) 2018-04-20 19:35:52 +02:00
7d17749bae BuildAll.cmd: correctly start BuildUtil.exe, check if required software exists and exit in case of error 2018-04-20 11:38:11 +02:00
3a2144ce78 vpnweb: add atlthunk.lib to the dependencies
VpnWebControl.obj : error LNK2019: unresolved external symbol "void __stdcall ATL::__FreeStdCallThunk(void *)" (?__FreeStdCallThunk@ATL@@YGXPAX@Z) referenced in function "public: static void __cdecl ATL::_stdcallthunk::operator delete(void *)" (??3_stdcallthunk@ATL@@SAXPAX@Z)

VpnWebControl.obj : error LNK2019: unresolved external symbol "void * __stdcall ATL::__AllocStdCallThunk(void)" (?__AllocStdCallThunk@ATL@@YGPAXXZ) referenced in function "public: static void * __cdecl ATL::_stdcallthunk::operator new(unsigned int)" (??2_stdcallthunk@ATL@@SAPAXI@Z)
2018-04-20 11:38:03 +02:00
66ca7d8fac Add Windows Driver Kit 7.1.0 directories to projects requiring ATL/MFC 2018-04-20 11:37:37 +02:00
12a30cbbe2 remove msvc compiling errors (#499) 2018-04-20 01:19:32 +02:00
015848e8e9 BuildAll.cmd: correctly start BuildUtil.exe, check if required software exists and exit in case of error 2018-04-20 00:00:33 +02:00
6c894c11ae vpnweb: add atlthunk.lib to the dependencies
VpnWebControl.obj : error LNK2019: unresolved external symbol "void __stdcall ATL::__FreeStdCallThunk(void *)" (?__FreeStdCallThunk@ATL@@YGXPAX@Z) referenced in function "public: static void __cdecl ATL::_stdcallthunk::operator delete(void *)" (??3_stdcallthunk@ATL@@SAXPAX@Z)

VpnWebControl.obj : error LNK2019: unresolved external symbol "void * __stdcall ATL::__AllocStdCallThunk(void)" (?__AllocStdCallThunk@ATL@@YGPAXXZ) referenced in function "public: static void * __cdecl ATL::_stdcallthunk::operator new(unsigned int)" (??2_stdcallthunk@ATL@@SAPAXI@Z)
2018-04-20 00:00:33 +02:00
4529f07bc4 Add Windows Driver Kit 7.1.0 directories to projects requiring ATL/MFC 2018-04-20 00:00:33 +02:00
69d132e997 Fix a deadlock when Run() to create a process. Child forked will inherit
state of global mutex which may be in intermidiate taken status by one of
threads of the parent, then in child process it tries to get this mutex
and is always pending. One example of mutex is malloc_lock, and there are more.
2018-04-16 10:37:22 +00:00
478270efba Revert "Cleanup ssl library. No memory leaks. (#143)". Build failing using OpenSSL 1.1.0f
This reverts commit 227842f89c.
2018-04-11 23:25:21 +02:00
227842f89c Cleanup ssl library. No memory leaks. (#143) 2018-04-11 23:18:16 +02:00
3f553abf1d Use correct sizeof value (#426)
* Use correct sizeof() value

* Use correct size for Zero()
2018-04-11 22:53:59 +02:00
596493e1a1 resolve several issues identified by cppcheck (#465)
[src/Cedar/Admin.c:13452] -> [src/Cedar/Admin.c:13492]: (warning) Either the condition 'cedar!=NULL' is redundant or there is possible null pointer dereference: cedar.
[src/Cedar/SM.c:18455] -> [src/Cedar/SM.c:18379]: (warning) Either the condition 'p!=NULL' is redundant or there is possible null pointer dereference: p.
[src/Cedar/SM.c:18455] -> [src/Cedar/SM.c:18491]: (warning) Either the condition 'p!=NULL' is redundant or there is possible null pointer dereference: p.
[src/Cedar/SM.c:18455] -> [src/Cedar/SM.c:18506]: (warning) Either the condition 'p!=NULL' is redundant or there is possible null pointer dereference: p.
[src/Cedar/Protocol.c:5190] -> [src/Cedar/Protocol.c:5115]: (warning) Either the condition 's!=NULL' is redundant or there is possible null pointer dereference: s.
[src/Cedar/Protocol.c:5190] -> [src/Cedar/Protocol.c:5145]: (warning) Either the condition 's!=NULL' is redundant or there is possible null pointer dereference: s.
[src/Cedar/Hub.c:5517] -> [src/Cedar/Hub.c:5553]: (warning) Either the condition 'dest!=NULL' is redundant or there is possible null pointer dereference: dest.
[src/Cedar/Hub.c:5517] -> [src/Cedar/Hub.c:5556]: (warning) Either the condition 'dest!=NULL' is redundant or there is possible null pointer dereference: dest.
2018-04-11 00:08:31 +02:00
26f3ebc059 travis-ci: split openssl into 1.0.2, 1.1.0 matrix (#477) 2018-04-09 23:16:38 +02:00
9b19949614 Fix compilation with OpenSSL 1.1.0 (broken in #327) (#476) 2018-04-07 21:42:08 +02:00
83295bb736 OpenVPN client certificate authentication (Individual Certificate Authentication) (#327)
* Implement OpenVPN certificate authentication, fixes #55

* fixup! Implement OpenVPN certificate authentication, fixes #55
2018-04-05 23:04:58 +02:00
9fff38de2b Rewriting PPP stack, preparing for IPv6 support 2018-03-15 12:49:18 +03:00
ac3e5535f6 Make textbox of encryption algorithm name scrollable 2018-03-06 23:07:06 +01:00
9ad254115f Merge PR #154 Add Traditional Chinese language translation into master 2018-02-15 22:10:02 +01:00
d2f9d03297 Updated build instructions and package versions 2018-02-14 23:50:56 +01:00
e04ec3b203 Incrementing Version of SoftEther to 5.1. Preparing for release 2018-02-14 23:26:05 +01:00
8c0c4396b7 Add the Alternative subject name field on the new X.509 certificate creation. 2018-02-12 23:56:14 +01:00
02bcf9152c Fix a bug in the Win32EnumDirExW() function. 2018-02-12 23:55:34 +01:00
79c06146a4 remove unused functions (identified by cppcheck)
[src/Cedar/Account.c:854]: (style) The function 'AddGroupTraffic' is never used.
[src/Mayaqua/Secure.c:1455]: (style) The function 'AddSecObjToEnumCache' is never used.
[src/Mayaqua/Network.c:18445]: (style) The function 'AddSockList' is never used.
[src/Cedar/Account.c:870]: (style) The function 'AddUserTraffic' is never used.
[src/Cedar/Server.c:1045]: (style) The function 'AdjoinEnumLogFile' is never used.
[src/Cedar/Admin.c:13780]: (style) The function 'AdminConnect' is never used.
[src/Mayaqua/Encrypt.c:855]: (style) The function 'BigNumToStr' is never used.
[src/Mayaqua/Str.c:2113]: (style) The function 'Bit128ToStr' is never used.
[src/Mayaqua/Encrypt.c:898]: (style) The function 'BufToBigNum' is never used.
[src/Mayaqua/Internat.c:1874]: (style) The function 'CalcStrToUtf8' is never used.
[src/Cedar/Hub.c:6689]: (style) The function 'CalcTrafficDiff' is never used.
[src/Mayaqua/Internat.c:1819]: (style) The function 'CalcUtf8ToStr' is never used.
[src/Mayaqua/Network.c:6495]: (style) The function 'CanGetTcpProcessId' is never used.
[src/Cedar/WinUi.c:7226]: (style) The function 'CbInsertStrA' is never used.
[src/Cedar/Client.c:3035]: (style) The function 'CcEnumObjectInSecure' is never used.
[src/Cedar/Client.c:2826]: (style) The function 'CcGetCommonProxySetting' is never used.
[src/Cedar/Client.c:2857]: (style) The function 'CcSetCommonProxySetting' is never used.
[src/Cedar/Cedar.c:575]: (style) The function 'CedarLog' is never used.
[src/Cedar/WinUi.c:9841]: (style) The function 'Center2' is never used.
[src/Mayaqua/Encrypt.c:814]: (style) The function 'CertTest' is never used.
[src/Mayaqua/Encrypt.c:809]: (style) The function 'CertTest2' is never used.
[src/Mayaqua/Encrypt.c:819]: (style) The function 'CertTest_' is never used.
[src/Mayaqua/Cfg.c:1705]: (style) The function 'CfgIsFolder' is never used.
2018-02-08 00:20:07 +01:00
56c4582da8 Allow specifying cipher suites instead of single ciphers (#343)
* Allow specifying cipher suites instead of single ciphers.

CipherName now specifies all cipher suites instead of the
preferred cipher. This allows insecure ciphers like RC4 to
be permanently disabled, instead of being the default fallback
when the preferred cipher is unsupported.

CipherName is now left for OpenSSL to verify. Should it be
invalid, a secure default is used. The default CipherName setting
for new servers is one such invalid string: "~DEFAULT~". This
allows for future updates to change the default and the servers
can stay secure.

* Remove unused temporary variable.
2018-02-08 00:13:41 +01:00
8cafa07d9c Set an initialization value in Network.c to be conform with PR #275 2018-02-01 00:10:04 +01:00
a5fa265811 Merge pull request #275 from chipitsine/master
cppcheck findings
2018-02-01 00:06:08 +01:00
9d6c1ea0e9 Add missing function definition 2018-01-25 02:58:18 +01:00
93d9ade990 Merge PR #129 into master. 2018-01-25 02:55:11 +01:00
ea4bb811ef Fix log msg for IKE with agressive exchange mode (#425) 2018-01-23 17:42:20 +01:00
7de986dcca 7 missing memory boundaries checks and similar memory problems. There are no risk of arbitrary code execution or intrusion on these bugs in my analysis. However, these problems may lead to crash the running server process. So these bugs must be fixed.
Buffer overread in ParseL2TPPacket()
Memory corruption in IcmpParseResult
Missing bounds check in ParseUDP() can lead to invalid memory access
Out-of-bounds read in IPsec_PPP.c (unterminated string buffer)
Overlapping parameters to memcpy() via StrToIp6()
PACK ReadValue() crash vulnerability
Potential use of uninitialized memory via IPToInAddr6()

4 memory leaks. While the amount of leakage is very small per time, these bugs can finally cause process crash by out of memory. So these bugs must be fixed.

Memory leak in NnReadDnsRecord
Memory leak in RadiusLogin()
Memory leak via ParsePacketIPv4WithDummyMacHeader
Remote memory leak in OpenVPN server code

1 coding improvement. This is not a bug, however, I fixed the code to avoid furture misunderstanding.

RecvAll can return success on failure (leading to use of uninitialized memory)

Contributors for this bugfix:

- Max Planck Institute for Molecular Genetics
- Guido Vranken
2018-01-15 10:25:10 +09:00
8edbcd4c0d update recent authors 2018-01-15 10:11:40 +09:00
ab4b27ab3c Add parameter "ListenIP" to server configuration (vpn_server.config) (#202)
* Added parameter "ListenIP" to server configuration (vpn_server.config)

* Fixed bug in VPN client
2018-01-11 23:53:38 +01:00
ce3d35c595 Added the function to save the DNS query log on the packet logs. (fix) 2017-12-22 07:26:06 +09:00
a0b54d7c6d Added the TCP destination port 3128 (well known as Squid default port) to assume as the HTTP proxy port on the packet logging. 2017-12-21 23:25:08 +09:00
bb30535bb6 Fix the function name: RFC3164 -> RFC3339 2017-12-21 23:24:06 +09:00
97e7a82be2 Added the function to save the DNS query log on the packet logs. 2017-12-21 23:23:17 +09:00
4a01c41d09 Fixed the bug which occurs the L2TP/IPsec connection error with Android Oreo. 2017-12-21 23:21:31 +09:00
bed99f9a56 build documentation refactoring (#395)
BUILD_WINDOWS.TXT, BUILD_UNIX.TXT removed from root folder

src/BUILD_WINDOWS.TXT, src/BUILD_UNIX.TXT converted to "md"

BUILD_WINDOWS.TXT, BUILD_UNIX.TXT are now hyperlinks in README.md
2017-12-05 13:17:14 +01:00
1f33fbdff4 Fix: vpncmd thinks that "hamcore.se2" is missing or broken (#339) 2017-12-03 20:50:12 +01:00
0796249525 fix aarch64 build (#281)
Fix build error under ARM 64 bit (aarch64)
2017-12-03 20:48:39 +01:00
b8f0dd9e80 align the code and update some translations
*align the code to have same amout of space
*update some translation to latest version
2017-12-02 06:04:57 +08:00
39c1081d38 Merge pull request #1 from SoftEtherVPN/master
update to latest version
2017-12-02 01:30:07 +08:00
1f2c052dfb Fixed the bug on the OpenVPN Server function. 2017-10-23 02:54:51 +09:00