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

7 Commits

Author SHA1 Message Date
d790223700 release 5.01.9669 2019-02-03 19:43:50 +00:00
a5b816aa59 Merge pull request #869 from chipitsine/launchpad
Merge PR #869: disable cpu features on arm64, amrhf, s390x
2019-02-04 00:19:52 +05:00
45c13c5409 disable cpu features on arm64, amrhf, s390x
tested on launchpad
2019-02-03 18:05:34 +05:00
c253c55a8c Merge pull request #862 from davidebeatrici/mayaqua-getcipherlist-double-free-fix
Merge PR #862: Fix crashes in GetCipherList() and StGetServerCipherList()
2019-01-29 19:31:57 +05:00
a97b87da68 Cedar/Admin.c: fix segmentation fault caused by non-initialized string in StGetServerCipherList()
StrCat() appends a string to an already existing string. In order to know where the existing string ends, it uses StrLen() which in turn uses strlen(), a function considered unsafe because it doesn't stop until it finds the null character.

Since the string was allocated but not initialized, StrCat() was either:

- Working correctly.
- Copying only a part of the string.
- Making the program crash via strlen().

The fix consists in using StrCpy(), which starts writing at the beginning of the string.
2019-01-21 04:15:55 +01:00
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
Umi
e939f887c4 Update vpninstall_cn.inf 2019-01-21 03:59:31 +01:00
5 changed files with 7 additions and 8 deletions

View File

@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.7)
project("SoftEther VPN"
VERSION 5.01.9668
VERSION 5.01.9669
LANGUAGES C
)

View File

@ -8156,7 +8156,7 @@ UINT StGetServerCipherList(ADMIN *a, RPC_STR *t)
{
UINT size = StrSize(ciphers->Token[0]);
t->String = Malloc(size);
StrCat(t->String, size, ciphers->Token[0]);
StrCpy(t->String, size, ciphers->Token[0]);
i = 1;
for (; i < ciphers->NumTokens; i++)

View File

@ -1,5 +1,5 @@
VERSION_MAJOR 5
VERSION_MINOR 1
VERSION_BUILD 9668
VERSION_BUILD 9669
BUILD_NAME unstable
BUILD_DATE 20190127_074741
BUILD_DATE 20190203_194253

View File

@ -65,12 +65,12 @@ if(UNIX)
target_link_libraries(mayaqua PRIVATE OpenSSL::SSL OpenSSL::Crypto Threads::Threads ZLIB::ZLIB)
if(HAVE_SYS_AUXV)
if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7l|aarch64|s390x)$" OR NOT HAVE_SYS_AUXV)
add_definitions(-DSKIP_CPU_FEATURES)
else()
add_subdirectory(3rdparty/cpu_features)
set_property(TARGET cpu_features PROPERTY POSITION_INDEPENDENT_CODE ON)
target_link_libraries(mayaqua PRIVATE cpu_features)
else()
add_definitions(-DSKIP_CPU_FEATURES)
endif()
if(LIB_RT)

View File

@ -16507,7 +16507,6 @@ TOKEN_LIST *GetCipherList()
}
sk_SSL_CIPHER_free(sk);
FreeSSLCtx(ctx);
SSL_free(ssl);
return ciphers;