1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2024-12-28 02:50:33 +03:00
Commit Graph

123 Commits

Author SHA1 Message Date
Davide Beatrici
4061cfe665
Merge PR #584: Mayaqua: use included zlib headers only on Windows 2018-07-31 19:56:36 +02:00
Andy Walsh
0bbf08fea7 cmake: lib cleanup and use cmake package_find
* use OPENSSL_ROOT_DIR
* add special .configure handling for osx
* move readline, curses to cedar

Signed-off-by: Andy Walsh <andy.walsh44+github@gmail.com>
2018-07-31 18:11:13 +02:00
Davide Beatrici
66b2d7234d Mayaqua: use included zlib headers only on Windows
zlib doesn't have a dedicated directory on Unix systems, because it has a single header, meaning that the header from the repository was being used instead.

This commit moves the header to the Windows includes directory, so that we can use the proper include path on all systems.
2018-07-31 07:56:52 +02:00
Davide Beatrici
ee383994f0 Internat.c: use correct wcstok() signature (3 arguments)
The wcstok() function uses the standard signature since Visual Studio 2015.
2018-07-29 09:56:47 +02:00
Davide Beatrici
110f2291a2
Merge PR #582: Encrypt.c: check whether OpenSSL compression and FIPS features are available 2018-07-27 08:40:15 +02:00
Davide Beatrici
14eb17e6ad
Merge PR #581: src: split CMakeLists.txt for each subdirectory 2018-07-27 04:47:26 +02:00
Andy Walsh
1b3f969fb0 add OPENSSL_NO_COMP feature check
Signed-off-by: Andy Walsh <andy.walsh44+github@gmail.com>
2018-07-26 13:21:10 +02:00
Andy Walsh
ed5ae4a8fe fix missing openssl feature checks
* add OPENSSL_FIPS feature check

Signed-off-by: Andy Walsh <andy.walsh44+github@gmail.com>
2018-07-26 13:18:47 +02:00
Davide Beatrici
8f3a4cc3b3
Merge PR #481: Encrypt: set default RSA key size to 1024 everywhere, using the RSA_KEY_SIZE macro 2018-07-26 07:29:28 +02:00
Davide Beatrici
07ed7e1626 src: split CMakeLists.txt for each subdirectory 2018-07-26 06:44:19 +02:00
Ilya Shipitsin
65bda6a44d
Merge pull request #484 from davidebeatrici/openssl
Encrypt: improve FreeOpenSSLThreadState() and FreeCryptLibrary(), in order to clean up the library correctly
2018-07-26 02:50:55 +05:00
Davide Beatrici
879dc8f6b8 Mayaqua.c: fix code style broken by #560 2018-07-21 10:27:21 +02:00
Ilya Shipitsin
1b4cc1fb8d
Merge pull request #560 from jbwdevries/certificate_date_fixes
Certificate date fixes
2018-07-21 10:45:09 +05:00
Davide Beatrici
412a5aea71
Merge PR #485: Encrypt: use OpenSSL's EVP interface, which supports AES-NI without the need of another library 2018-07-21 05:31:09 +02:00
Johan de Vries
41f9cdadc4 src/Mayaqua/Kernel.c: Fix for times before 1970
Before, it would end up far in the future. Now it gets clamped
to 1970. This should be fine since dates before 1970 are not
actively used. If they are, then the UINT64 should be replaced
by the time64t in quite a few places.
2018-06-21 10:03:58 +02:00
Johan de Vries
3d0e87cf57 src/Mayaqua/Encrypt.c: Add support for certificates with full year 2018-06-21 10:03:23 +02:00
Ilya Shipitsin
6a1876ad06 src/Mayaqua/Network: remove unused functions
[src/Mayaqua/Network.c:7831]: (style) The function 'CheckSubnetLength6' is never used.
[src/Mayaqua/Network.c:14663]: (style) The function 'CheckTCPPortThread' is never used.
[src/Mayaqua/Network.c:6876]: (style) The function 'CheckUnicastAddress' is never used.
[src/Mayaqua/Network.c:8220]: (style) The function 'CompareTcpTable' is never used.
[src/Mayaqua/Network.c:7825]: (style) The function 'CopyIP' is never used.
[src/Mayaqua/Network.c:18436]: (style) The function 'DelSockList' is never used.
[src/Mayaqua/Network.c:549]: (style) The function 'DisableRUDPRegisterGlobally' is never used.
[src/Mayaqua/Network.c:12161]: (style) The function 'DisableUDPChecksum' is never used.
[src/Mayaqua/Network.c:6679]: (style) The function 'GenerateEui64GlobalAddress' is never used.
[src/Mayaqua/Network.c:6953]: (style) The function 'GenerateMulticastMacAddress6' is never used.
[src/Mayaqua/Network.c:7055]: (style) The function 'GetAllFilledAddress6' is never used.
[src/Mayaqua/Network.c:11415]: (style) The function 'GetBestRouteEntryFromRouteTable' is never used.
[src/Mayaqua/Network.c:16738]: (style) The function 'GetIP46Any4' is never used.
[src/Mayaqua/Network.c:16771]: (style) The function 'GetIP46Any6' is never used.
[src/Mayaqua/Network.c:16250]: (style) The function 'GetMachineIp' is never used.
[src/Mayaqua/Network.c:12192]: (style) The function 'GetNewAvailableUdpPortRand' is never used.
[src/Mayaqua/Network.c:11073]: (style) The function 'GetNumWaitThread' is never used.
[src/Mayaqua/Network.c:561]: (style) The function 'GetSimpleHostname' is never used.
[src/Mayaqua/Network.c:22688]: (style) The function 'GetSniNameFromPreSslConnection' is never used.
[src/Mayaqua/Network.c:15761]: (style) The function 'GetSocketBufferSize' is never used.
[src/Mayaqua/Network.c:6924]: (style) The function 'GetSoliciationMulticastAddr6' is never used.
[src/Mayaqua/Network.c:7842]: (style) The function 'GetTcpProcessIdFromSocket' is never used.
[src/Mayaqua/Network.c:7871]: (style) The function 'GetTcpProcessIdFromSocketReverse' is never used.
[src/Mayaqua/Network.c:20709]: (style) The function 'GetUdpListenerPortList' is never used.
[src/Mayaqua/Network.c:21971]: (style) The function 'HttpSendServerError' is never used.
[src/Mayaqua/Network.c:7119]: (style) The function 'IPNot4' is never used.
[src/Mayaqua/Network.c:7134]: (style) The function 'IPOr4' is never used.
[src/Mayaqua/Network.c:17392]: (style) The function 'IPToStr128' is never used.
[src/Mayaqua/Network.c:12182]: (style) The function 'InitAsyncSocket' is never used.
[src/Mayaqua/Network.c:18091]: (style) The function 'IsIPLocalOrPrivate' is never used.
[src/Mayaqua/Network.c:6813]: (style) The function 'IsInSameLocalNetworkToMe4' is never used.
[src/Mayaqua/Network.c:467]: (style) The function 'IsInStrByStrList' is never used.
[src/Mayaqua/Network.c:504]: (style) The function 'IsIpInStrList' is never used.
[src/Mayaqua/Network.c:18793]: (style) The function 'IsIpStr46' is never used.
[src/Mayaqua/Network.c:738]: (style) The function 'IsMacAddressLocal' is never used.
[src/Mayaqua/Network.c:8495]: (style) The function 'IsNetworkAddress' is never used.
[src/Mayaqua/Network.c:7803]: (style) The function 'IsSameIPVer' is never used.
[src/Mayaqua/Network.c:14140]: (style) The function 'Listen6' is never used.
[src/Mayaqua/Network.c:5792]: (style) The function 'ListenAnyPortEx' is never used.
[src/Mayaqua/Network.c:11938]: (style) The function 'LockOpenSSL' is never used.
[src/Mayaqua/Network.c:12266]: (style) The function 'NewRandPortByMachineAndExePath' is never used.
[src/Mayaqua/Network.c:8191]: (style) The function 'PrintTcpTableList' is never used.
[src/Mayaqua/Network.c:4773]: (style) The function 'RUDPGetRandPortNumber' is never used.
[src/Mayaqua/Network.c:1637]: (style) The function 'RUDPSetSourceIpValidationForceDisable' is never used.
[src/Mayaqua/Network.c:11157]: (style) The function 'RenewDhcp' is never used.
[src/Mayaqua/Network.c:12057]: (style) The function 'SendTo6' is never used.
[src/Mayaqua/Network.c:8691]: (style) The function 'SetNetworkReleaseMode' is never used.
[src/Mayaqua/Network.c:18903]: (style) The function 'StrToMask46' is never used.
[src/Mayaqua/Network.c:20013]: (style) The function 'UdpListenerGetPublicPortList' is never used.
[src/Mayaqua/Network.c:20608]: (style) The function 'UdpListenerSendPacket' is never used.
[src/Mayaqua/Network.c:17545]: (style) The function 'UniStrToIP' is never used.
[src/Mayaqua/Network.c:8746]: (style) The function 'UnixCompareRouteEntryByMetric' is never used.
[src/Mayaqua/Network.c:8736]: (style) The function 'UnixIpForwardRowToRouteEntry' is never used.
[src/Mayaqua/Network.c:8741]: (style) The function 'UnixRouteEntryToIpForwardRow' is never used.
[src/Mayaqua/Network.c:11944]: (style) The function 'UnlockOpenSSL' is never used.
[src/Mayaqua/Network.c:7787]: (style) The function 'FreeTcpTableList' is never used.
[src/Mayaqua/Network.c:16024]: (style) The function 'GetIP46' is never used.
[src/Mayaqua/Network.c:7488]: (style) The function 'GetTcpTableFromEndPoint' is never used.
[src/Mayaqua/Network.c:7777]: (style) The function 'GetTcpTableList' is never used.
[src/Mayaqua/Network.c:6865]: (style) The function 'IPOr6' is never used.
[src/Mayaqua/Network.c:6642]: (style) The function 'IsNetworkAddress6' is never used.
[src/Mayaqua/Network.c:17942]: (style) The function 'StrToMask4' is never used.
[src/Mayaqua/Network.c:8296]: (style) The function 'UnixRenewDhcp' is never used.
[src/Mayaqua/Network.c:9337]: (style) The function 'Win32RenewDhcp' is never used.
2018-06-10 23:16:53 +05:00
Davide Beatrici
4029f3ae8d Rename IsIntelAesNiSupported() to IsAesNiSupported() 2018-06-09 20:31:27 +02:00
Davide Beatrici
420e575ab1 Remove Intel AES-NI library 2018-06-09 19:57:45 +02:00
Davide Beatrici
a7be140f85 Encrypt: use OpenSSL's EVP interface, which supports AES-NI without the need of another library 2018-06-09 19:57:45 +02:00
Davide Beatrici
2da755135a Encrypt: improve FreeOpenSSLThreadState() and FreeCryptLibrary(), in order to clean up the library correctly
https://wiki.openssl.org/index.php/Library_Initialization#Cleanup
2018-06-09 19:57:18 +02:00
Davide Beatrici
1fad008e1a Encrypt: set default RSA key size to 1024 everywhere, using the RSA_KEY_SIZE macro
This commit also fixes the problem described in #31, which was caused by the test key generated in RsaCheck() being too small for newer OpenSSL versions.
2018-06-09 19:56:51 +02:00
Ilya Shipitsin
010ebe020c src/Mayaqua/Microsoft: remove unused functions (#543)
[src/Mayaqua/Microsoft.c:8773]: (style) The function 'EnumAllWindow' is never used.
[src/Mayaqua/Microsoft.c:1411]: (style) The function 'MsBufToRegSubkeys' is never used.
[src/Mayaqua/Microsoft.c:5373]: (style) The function 'MsChangeIconOnTrayEx2' is never used.
[src/Mayaqua/Microsoft.c:3426]: (style) The function 'MsCheckFileDigitalSignature' is never used.
[src/Mayaqua/Microsoft.c:10764]: (style) The function 'MsCreateTempFile' is never used.
[src/Mayaqua/Microsoft.c:10702]: (style) The function 'MsCreateTempFileByExt' is never used.
[src/Mayaqua/Microsoft.c:1290]: (style) The function 'MsDeleteClipboard' is never used.
[src/Mayaqua/Microsoft.c:12300]: (style) The function 'MsDetermineIsLockedByWtsApi' is never used.
[src/Mayaqua/Microsoft.c:7296]: (style) The function 'MsEnableRemoteDesktop' is never used.
[src/Mayaqua/Microsoft.c:2076]: (style) The function 'MsExecuteExW' is never used.
[src/Mayaqua/Microsoft.c:2454]: (style) The function 'MsExtractCab' is never used.
[src/Mayaqua/Microsoft.c:2383]: (style) The function 'MsExtractCabFromMsi' is never used.
[src/Mayaqua/Microsoft.c:2549]: (style) The function 'MsExtractCabinetFileFromExe' is never used.
[src/Mayaqua/Microsoft.c:2575]: (style) The function 'MsExtractCabinetFileFromExeW' is never used.
[src/Mayaqua/Microsoft.c:1236]: (style) The function 'MsFreeEventLog' is never used.
[src/Mayaqua/Microsoft.c:12450]: (style) The function 'MsFreeIsLocked' is never used.
[src/Mayaqua/Microsoft.c:4101]: (style) The function 'MsFreeLibrary' is never used.
[src/Mayaqua/Microsoft.c:2503]: (style) The function 'MsGetCabarcExeFilename' is never used.
[src/Mayaqua/Microsoft.c:1300]: (style) The function 'MsGetClipboardOwnerProcessId' is never used.
[src/Mayaqua/Microsoft.c:15237]: (style) The function 'MsGetCommonAppDataDir' is never used.
[src/Mayaqua/Microsoft.c:15406]: (style) The function 'MsGetCommonAppDataDirW' is never used.
[src/Mayaqua/Microsoft.c:15289]: (style) The function 'MsGetCommonDesktopDir' is never used.
[src/Mayaqua/Microsoft.c:15281]: (style) The function 'MsGetCommonProgramsDir' is never used.
[src/Mayaqua/Microsoft.c:15277]: (style) The function 'MsGetCommonStartMenuDir' is never used.
[src/Mayaqua/Microsoft.c:3136]: (style) The function 'MsGetComputerNameFull' is never used.
[src/Mayaqua/Microsoft.c:4984]: (style) The function 'MsGetCurrentProcessExeName' is never used.
[src/Mayaqua/Microsoft.c:2763]: (style) The function 'MsGetFileVersionW' is never used.
[src/Mayaqua/Microsoft.c:15241]: (style) The function 'MsGetLocalAppDataDir' is never used.
[src/Mayaqua/Microsoft.c:15468]: (style) The function 'MsGetLocalAppDataDirW' is never used.
[src/Mayaqua/Microsoft.c:8081]: (style) The function 'MsGetMs' is never used.
[src/Mayaqua/Microsoft.c:15333]: (style) The function 'MsGetMyDocumentsDir' is never used.
[src/Mayaqua/Microsoft.c:15459]: (style) The function 'MsGetMyDocumentsDirW' is never used.
[src/Mayaqua/Microsoft.c:11583]: (style) The function 'MsGetNetCfgRegKeyName' is never used.
[src/Mayaqua/Microsoft.c:15317]: (style) The function 'MsGetPersonalAppDataDir' is never used.
[src/Mayaqua/Microsoft.c:15325]: (style) The function 'MsGetPersonalDesktopDir' is never used.
[src/Mayaqua/Microsoft.c:15301]: (style) The function 'MsGetPersonalProgramsDir' is never used.
[src/Mayaqua/Microsoft.c:15293]: (style) The function 'MsGetPersonalStartMenuDir' is never used.
[src/Mayaqua/Microsoft.c:15309]: (style) The function 'MsGetPersonalStartupDir' is never used.
[src/Mayaqua/Microsoft.c:1737]: (style) The function 'MsGetPhysicalMacAddress' is never used.
[src/Mayaqua/Microsoft.c:4113]: (style) The function 'MsGetProcAddress' is never used.
[src/Mayaqua/Microsoft.c:15382]: (style) The function 'MsGetProgramFilesDirW' is never used.
[src/Mayaqua/Microsoft.c:15273]: (style) The function 'MsGetProgramFilesDirX64' is never used.
[src/Mayaqua/Microsoft.c:15269]: (style) The function 'MsGetProgramFilesDirX86' is never used.
[src/Mayaqua/Microsoft.c:15394]: (style) The function 'MsGetProgramFilesDirX86W' is never used.
[src/Mayaqua/Microsoft.c:715]: (style) The function 'MsGetSystemLocaleId' is never used.
[src/Mayaqua/Microsoft.c:15345]: (style) The function 'MsGetUserName' is never used.
[src/Mayaqua/Microsoft.c:15349]: (style) The function 'MsGetUserNameEx' is never used.
[src/Mayaqua/Microsoft.c:15480]: (style) The function 'MsGetUserNameExW' is never used.
[src/Mayaqua/Microsoft.c:15353]: (style) The function 'MsGetWinTempDir' is never used.
[src/Mayaqua/Microsoft.c:15484]: (style) The function 'MsGetWinTempDirW' is never used.
[src/Mayaqua/Microsoft.c:15366]: (style) The function 'MsGetWindowDirW' is never used.
[src/Mayaqua/Microsoft.c:9042]: (style) The function 'MsGetWindowOwnerProcessExeNameW' is never used.
[src/Mayaqua/Microsoft.c:15261]: (style) The function 'MsGetWindowsDrive' is never used.
[src/Mayaqua/Microsoft.c:15378]: (style) The function 'MsGetWindowsDriveW' is never used.
[src/Mayaqua/Microsoft.c:1251]: (style) The function 'MsInitEventLog' is never used.
[src/Mayaqua/Microsoft.c:7937]: (style) The function 'MsInstallService' is never used.
[src/Mayaqua/Microsoft.c:7128]: (style) The function 'MsIsCurrentDesktopAvailableForVnc' is never used.
[src/Mayaqua/Microsoft.c:2352]: (style) The function 'MsIsDirectoryW' is never used.
[src/Mayaqua/Microsoft.c:1979]: (style) The function 'MsIsFileLockedW' is never used.
[src/Mayaqua/Microsoft.c:1947]: (style) The function 'MsIsLocalDriveW' is never used.
[src/Mayaqua/Microsoft.c:12241]: (style) The function 'MsIsPasswordEmpty' is never used.
[src/Mayaqua/Microsoft.c:1587]: (style) The function 'MsIsProcessExists' is never used.
[src/Mayaqua/Microsoft.c:1618]: (style) The function 'MsIsProcessExistsW' is never used.
[src/Mayaqua/Microsoft.c:1581]: (style) The function 'MsIsProcessIdExists' is never used.
[src/Mayaqua/Microsoft.c:7386]: (style) The function 'MsIsRemoteDesktopCanEnableByRegistry' is never used.
[src/Mayaqua/Microsoft.c:7228]: (style) The function 'MsIsTerminalServiceMultiUserInstalled' is never used.
[src/Mayaqua/Microsoft.c:5349]: (style) The function 'MsIsTrayInited' is never used.
[src/Mayaqua/Microsoft.c:1707]: (style) The function 'MsIsUseWelcomeLogin' is never used.
[src/Mayaqua/Microsoft.c:7407]: (style) The function 'MsIsWin2000' is never used.
[src/Mayaqua/Microsoft.c:4017]: (style) The function 'MsLoadLibraryRawW' is never used.
[src/Mayaqua/Microsoft.c:2220]: (style) The function 'MsMakeDirEx' is never used.
[src/Mayaqua/Microsoft.c:12425]: (style) The function 'MsNewIsLocked' is never used.
[src/Mayaqua/Microsoft.c:3112]: (style) The function 'MsNoSleepEnd' is never used.
[src/Mayaqua/Microsoft.c:3079]: (style) The function 'MsNoSleepStart' is never used.
[src/Mayaqua/Microsoft.c:5083]: (style) The function 'MsPrintProcessList' is never used.
[src/Mayaqua/Microsoft.c:13117]: (style) The function 'MsRegAccessMaskFor64Bit' is never used.
[src/Mayaqua/Microsoft.c:1382]: (style) The function 'MsRegDeleteSubkeys' is never used.
[src/Mayaqua/Microsoft.c:14064]: (style) The function 'MsRegGetValueTypeAndSize' is never used.
[src/Mayaqua/Microsoft.c:14109]: (style) The function 'MsRegGetValueTypeAndSizeW' is never used.
[src/Mayaqua/Microsoft.c:14226]: (style) The function 'MsRegNewKey' is never used.
[src/Mayaqua/Microsoft.c:13903]: (style) The function 'MsRegReadValue' is never used.
[src/Mayaqua/Microsoft.c:13964]: (style) The function 'MsRegReadValueW' is never used.
[src/Mayaqua/Microsoft.c:1472]: (style) The function 'MsRegSubkeysToBuf' is never used.
[src/Mayaqua/Microsoft.c:13528]: (style) The function 'MsRegWriteValue' is never used.
[src/Mayaqua/Microsoft.c:13566]: (style) The function 'MsRegWriteValueW' is never used.
[src/Mayaqua/Microsoft.c:3205]: (style) The function 'MsRunAsUserEx' is never used.
[src/Mayaqua/Microsoft.c:6401]: (style) The function 'MsScmDispatcher' is never used.
[src/Mayaqua/Microsoft.c:2849]: (style) The function 'MsSetFileToHiddenW' is never used.
[src/Mayaqua/Microsoft.c:8099]: (style) The function 'MsSetThreadPriorityLow' is never used.
[src/Mayaqua/Microsoft.c:3511]: (style) The function 'MsSetWow64FileSystemRedirectionEnable' is never used.
[src/Mayaqua/Microsoft.c:12469]: (style) The function 'MsShutdownEx' is never used.
[src/Mayaqua/Microsoft.c:5740]: (style) The function 'MsStopUserModeFromService' is never used.
[src/Mayaqua/Microsoft.c:2260]: (style) The function 'MsUniDirectoryDelete' is never used.
[src/Mayaqua/Microsoft.c:2290]: (style) The function 'MsUniFileDelete' is never used.
[src/Mayaqua/Microsoft.c:6053]: (style) The function 'MsUserMode' is never used.
[src/Mayaqua/Microsoft.c:1200]: (style) The function 'MsWriteEventLog' is never used.
[src/Mayaqua/Microsoft.c:7684]: (style) The function 'EnumAllWindowEx' is never used.
[src/Mayaqua/Microsoft.c:9587]: (style) The function 'MsCreateTempFileNameByExt' is never used.
[src/Mayaqua/Microsoft.c:1794]: (style) The function 'MsDirectoryDelete' is never used.
[src/Mayaqua/Microsoft.c:1876]: (style) The function 'MsExtractCabFromMsiW' is never used.
[src/Mayaqua/Microsoft.c:1937]: (style) The function 'MsExtractCabW' is never used.
[src/Mayaqua/Microsoft.c:2047]: (style) The function 'MsExtractResourceFromExeW' is never used.
[src/Mayaqua/Microsoft.c:1806]: (style) The function 'MsFileDelete' is never used.
[src/Mayaqua/Microsoft.c:13842]: (style) The function 'MsGetCommonAppDataDir' is never used.
[src/Mayaqua/Microsoft.c:2105]: (style) The function 'MsGetFileVersion' is never used.
[src/Mayaqua/Microsoft.c:1344]: (style) The function 'MsGetPhysicalMacAddressFromApi' is never used.
[src/Mayaqua/Microsoft.c:1415]: (style) The function 'MsGetPhysicalMacAddressFromNetbios' is never used.
[src/Mayaqua/Microsoft.c:7975]: (style) The function 'MsGetProcessExeNameW' is never used.
[src/Mayaqua/Microsoft.c:1253]: (style) The function 'MsGetProcessNameFromId' is never used.
[src/Mayaqua/Microsoft.c:1534]: (style) The function 'MsIsFileLocked' is never used.
[src/Mayaqua/Microsoft.c:1495]: (style) The function 'MsIsLocalDrive' is never used.
[src/Mayaqua/Microsoft.c:11079]: (style) The function 'MsIsLockedThreadProc' is never used.
[src/Mayaqua/Microsoft.c:6314]: (style) The function 'MsIsRemoteDesktopEnabled' is never used.
[src/Mayaqua/Microsoft.c:2184]: (style) The function 'MsNoSleepThread' is never used.
[src/Mayaqua/Microsoft.c:2224]: (style) The function 'MsNoSleepThreadVista' is never used.
[src/Mayaqua/Microsoft.c:12681]: (style) The function 'MsRegGetValueTypeAndSizeEx' is never used.
[src/Mayaqua/Microsoft.c:12722]: (style) The function 'MsRegGetValueTypeAndSizeExW' is never used.
[src/Mayaqua/Microsoft.c:12835]: (style) The function 'MsRegNewKeyEx' is never used.
[src/Mayaqua/Microsoft.c:12528]: (style) The function 'MsRegReadValueEx' is never used.
[src/Mayaqua/Microsoft.c:12585]: (style) The function 'MsRegReadValueExW' is never used.
[src/Mayaqua/Microsoft.c:12161]: (style) The function 'MsRegWriteValueEx' is never used.
[src/Mayaqua/Microsoft.c:12195]: (style) The function 'MsRegWriteValueExW' is never used.
[src/Mayaqua/Microsoft.c:2460]: (style) The function 'MsRunAsUserExInner' is never used.
[src/Mayaqua/Microsoft.c:2162]: (style) The function 'MsSetFileToHidden' is never used.
[src/Mayaqua/Microsoft.c:1818]: (style) The function 'MsUniIsDirectory' is never used.
[src/Mayaqua/Microsoft.c:8771]: (style) The function 'MsCreateTempFileName' is never used.
[src/Mayaqua/Microsoft.c:1619]: (style) The function 'MsExtractResourceFromExe' is never used.
[src/Mayaqua/Microsoft.c:1595]: (style) The function 'MsGetCabarcExeFilenameW' is never used.
[src/Mayaqua/Microsoft.c:1568]: (style) The function 'MsIsDirectory' is never used.
[src/Mayaqua/Microsoft.c:10153]: (style) The function 'MsIsLockedWindowHandlerWindowProc' is never used.
[src/Mayaqua/Microsoft.c:5621]: (style) The function 'MsIsRemoteDesktopAvailable' is never used.
[src/Mayaqua/Microsoft.c:11787]: (style) The function 'MsRegGetValueTypeAndSizeEx2W' is never used.
[src/Mayaqua/Microsoft.c:11502]: (style) The function 'MsRegGetValueTypeAndSizeEx2' is never used.
2018-05-29 23:20:47 +02:00
Ilya Shipitsin
0b8fcb75bc src/Mayaqua/Internat: remove unused functions (#529)
[src/Mayaqua/Internat.c:848]: (style) The function 'DumpStr' is never used.
[src/Mayaqua/Internat.c:823]: (style) The function 'DumpUniStr' is never used.
[src/Mayaqua/Internat.c:1270]: (style) The function 'NullUniToken' is never used.
[src/Mayaqua/Internat.c:1505]: (style) The function 'StrToUtf' is never used.
[src/Mayaqua/Internat.c:1819]: (style) The function 'StrToUtf8' is never used.
[src/Mayaqua/Internat.c:3459]: (style) The function 'UniCheckStrSize' is never used.
[src/Mayaqua/Internat.c:195]: (style) The function 'UniMakeCharArray' is never used.
[src/Mayaqua/Internat.c:2896]: (style) The function 'UniReplaceFormatStringFor64' is never used.
[src/Mayaqua/Internat.c:2279]: (style) The function 'UniReplaceStri' is never used.
[src/Mayaqua/Internat.c:2387]: (style) The function 'UniSearchStri' is never used.
[src/Mayaqua/Internat.c:3390]: (style) The function 'UniStrCatLeft' is never used.
[src/Mayaqua/Internat.c:293]: (style) The function 'UniStrListToStr' is never used.
[src/Mayaqua/Internat.c:320]: (style) The function 'UniStrToStrList' is never used.
[src/Mayaqua/Internat.c:2834]: (style) The function 'UniToInti' is never used.
[src/Mayaqua/Internat.c:1490]: (style) The function 'UniToStr64' is never used.
[src/Mayaqua/Internat.c:2816]: (style) The function 'UniToStrx' is never used.
[src/Mayaqua/Internat.c:2810]: (style) The function 'UniToStrx8' is never used.
[src/Mayaqua/Internat.c:1545]: (style) The function 'UniToUtf' is never used.
[src/Mayaqua/Internat.c:232]: (style) The function 'UniTokenListToList' is never used.
[src/Mayaqua/Internat.c:1788]: (style) The function 'Utf8ToStr' is never used.
[src/Mayaqua/Internat.c:1525]: (style) The function 'UtfToStr' is never used.
[src/Mayaqua/Internat.c:1466]: (style) The function 'CopyStrToUtf' is never used.
[src/Mayaqua/Internat.c:1379]: (style) The function 'CopyUtfToStr' is never used.
[src/Mayaqua/Internat.c:3042]: (style) The function 'UniCheckStrLen' is never used.
2018-05-24 23:01:33 +02:00
Daiyuu Nobori
f96ac3644a Improvements on the behavior of the reinstall command of Windows Virtual Network Adapters. (#509)
* Improvements on the behavior of the reinstall command of Windows Virtual Network Adapters.

When reinstalling the device driver of the Virtual Network Driver card, we changed the behavior as to cleanup the older driver before installing the newer driver.

* Improvement of the senetence. Add the same sentence to the Taiwan language file.

* Delete the old MsUpgradeVLanWithoutLock_old() function.
2018-05-24 22:57:54 +02:00
Daiyuu Nobori
b59697fbd4
Merge pull request #510 from dnobori/b3_loadlibrary
Preventing the Win32 API LoadLibrary() current directory DLL injection issue.
2018-05-24 18:07:53 +09:00
Daiyuu Nobori
ab54b73737
Merge pull request #511 from dnobori/b4_mac
Improving the compliance of Virtual Network Adapters with the local address bit of the MAC address rule.
2018-05-24 18:04:32 +09:00
Josh Soref
ac865f04fc Correct Spelling (#458)
* spelling: accepts

* spelling: account

* spelling: accept

* spelling: accumulate

* spelling: adapter

* spelling: address

* spelling: additional

* spelling: aggressive

* spelling: adhered

* spelling: allowed

* spelling: ambiguous

* spelling: amount

* spelling: anonymous

* spelling: acquisition

* spelling: assemble

* spelling: associated

* spelling: assigns

* spelling: attach

* spelling: attempt

* spelling: attribute

* spelling: authenticate

* spelling: authentication

* spelling: available

* spelling: bridging

* spelling: cascade

* spelling: cancel

* spelling: check

* spelling: challenge

* spelling: changing

* spelling: characters

* spelling: cloud

* spelling: compare

* spelling: communication

* spelling: compatible

* spelling: compatibility

* spelling: completion

* spelling: complete

* spelling: computers

* spelling: configure

* spelling: configuration

* spelling: conformant

* spelling: connection

* spelling: contains

* spelling: continuously

* spelling: continue

* spelling: convert

* spelling: counters

* spelling: create

* spelling: created

* spelling: cumulate

* spelling: currently

* spelling: debugging

* spelling: decryption

* spelling: description

* spelling: default

* spelling: driver

* spelling: delete

* spelling: destination

* spelling: disabled

* spelling: different

* spelling: dynamically

* spelling: directory

* spelling: disappeared

* spelling: disable

* spelling: doesn't

* spelling: download

* spelling: dropped

* spelling: enable

* spelling: established

* spelling: ether

* spelling: except

* spelling: expired

* spelling: field

* spelling: following

* spelling: forever

* spelling: firewall

* spelling: first

* spelling: fragment

* spelling: function

* spelling: gateway

* spelling: identifier

* spelling: identify

* spelling: incoming

* spelling: information

* spelling: initialize

* spelling: injection

* spelling: inner

* spelling: instead

* spelling: installation

* spelling: inserted

* spelling: integer

* spelling: interrupt

* spelling: intuitive

* spelling: interval

* spelling: january

* spelling: keybytes

* spelling: know

* spelling: language

* spelling: length

* spelling: library

* spelling: listener

* spelling: maintain

* spelling: modified

* spelling: necessary

* spelling: number

* spelling: obsoleted

* spelling: occurred

* spelling: occurring

* spelling: occur

* spelling: original

* spelling: omittable

* spelling: omit

* spelling: opening

* spelling: operation

* spelling: packet

* spelling: parameters

* spelling: pointed

* spelling: popupmenuopen

* spelling: privilege

* spelling: product

* spelling: protection

* spelling: promiscuous

* spelling: prompt

* spelling: query

* spelling: random

* spelling: reconnection

* spelling: revocation

* spelling: received

* spelling: red hat

* spelling: registry

* spelling: release

* spelling: retrieve
2018-05-16 23:47:10 +02:00
Ilya Shipitsin
13cadf6492 src/Mayaqua/Encrypt.c: remove unused functions (#506)
[src/Mayaqua/Encrypt.c:1524]: (style) The function 'ByteToStr' is never used.
[src/Mayaqua/Encrypt.c:2762]: (style) The function 'CheckX' is never used.
[src/Mayaqua/Encrypt.c:4346]: (style) The function 'Des3Decrypt' is never used.
[src/Mayaqua/Encrypt.c:4290]: (style) The function 'Des3Encrypt' is never used.
[src/Mayaqua/Encrypt.c:4434]: (style) The function 'Des3RandKey' is never used.
[src/Mayaqua/Encrypt.c:4474]: (style) The function 'DesFreeKey' is never used.
[src/Mayaqua/Encrypt.c:4499]: (style) The function 'DesNewKey' is never used.
[src/Mayaqua/Encrypt.c:4446]: (style) The function 'DesRandKey' is never used.
[src/Mayaqua/Encrypt.c:4892]: (style) The function 'DhToBuf' is never used.
[src/Mayaqua/Encrypt.c:293]: (style) The function 'EasyDecrypt' is never used.
[src/Mayaqua/Encrypt.c:259]: (style) The function 'EasyEncrypt' is never used.
[src/Mayaqua/Encrypt.c:3144]: (style) The function 'FileToK' is never used.
[src/Mayaqua/Encrypt.c:1358]: (style) The function 'FileToP12' is never used.
[src/Mayaqua/Encrypt.c:1061]: (style) The function 'GetAllNameFromA' is never used.
[src/Mayaqua/Encrypt.c:973]: (style) The function 'GetAllNameFromXExA' is never used.
[src/Mayaqua/Encrypt.c:4182]: (style) The function 'HashSha256' is never used.
[src/Mayaqua/Encrypt.c:3192]: (style) The function 'KToFile' is never used.
[src/Mayaqua/Encrypt.c:4721]: (style) The function 'MacSha196' is never used.
[src/Mayaqua/Encrypt.c:1324]: (style) The function 'P12ToFile' is never used.
[src/Mayaqua/Encrypt.c:3983]: (style) The function 'Rand128' is never used.
[src/Mayaqua/Encrypt.c:670]: (style) The function 'RsaBinToPublic' is never used.
[src/Mayaqua/Encrypt.c:2556]: (style) The function 'RsaPrivateDecrypt' is never used.
[src/Mayaqua/Encrypt.c:2525]: (style) The function 'RsaPrivateEncrypt' is never used.
[src/Mayaqua/Encrypt.c:2494]: (style) The function 'RsaPublicDecrypt' is never used.
[src/Mayaqua/Encrypt.c:2584]: (style) The function 'RsaPublicEncrypt' is never used.
[src/Mayaqua/Encrypt.c:771]: (style) The function 'RsaPublicToBin' is never used.
[src/Mayaqua/Encrypt.c:4263]: (style) The function 'Sha1__' is never used.
[src/Mayaqua/Encrypt.c:3672]: (style) The function 'SkipBufBeforeString' is never used.
2018-05-02 23:48:47 +02:00
Tim Schneider
bc2efe9efd SMB Winbind NT Authentication (Password/MsCHAPv2) (#49)
Added Linux NT Authentication functionality to SoftEther through samba ntlm_auth.

Pre requirements
+ samba-winbind -> Domain Member
+ winbind-seperator \ -> used for group check in ntlm_auth

username from client: fqdn domain\username
username in SoftEther: username
timeout: from security policy
optional: set groupname in servermanager
2018-05-02 23:42:04 +02:00
Daiyuu Nobori
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
Daiyuu Nobori
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
Moataz Elmasry
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
tonychung00
8ddd328762 initial fix for clang warnings (#84) 2018-04-20 23:03:26 +02:00
Moataz Elmasry
0dee90f181 remove msvc compiling errors (#499) 2018-04-20 19:35:52 +02:00
Moataz Elmasry
12a30cbbe2
remove msvc compiling errors (#499) 2018-04-20 01:19:32 +02:00
ajeecai
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
Moataz Elmasry
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
Moataz Elmasry
227842f89c
Cleanup ssl library. No memory leaks. (#143) 2018-04-11 23:18:16 +02:00
Alexey Kryuchkov
9b19949614 Fix compilation with OpenSSL 1.1.0 (broken in #327) (#476) 2018-04-07 21:42:08 +02:00
Alexey Kryuchkov
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
Daiyuu Nobori
8c0c4396b7 Add the Alternative subject name field on the new X.509 certificate creation. 2018-02-12 23:56:14 +01:00
Daiyuu Nobori
02bcf9152c Fix a bug in the Win32EnumDirExW() function. 2018-02-12 23:55:34 +01:00
Ilya Shipitsin
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
Guanzhong Chen
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
Moataz Elmasry
8cafa07d9c Set an initialization value in Network.c to be conform with PR #275 2018-02-01 00:10:04 +01:00
Moataz Elmasry
a5fa265811
Merge pull request #275 from chipitsine/master
cppcheck findings
2018-02-01 00:06:08 +01:00
Moataz Elmasry
9d6c1ea0e9 Add missing function definition 2018-01-25 02:58:18 +01:00
Moataz Elmasry
93d9ade990 Merge PR #129 into master. 2018-01-25 02:55:11 +01:00
Daiyuu Nobori
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