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

38 Commits

Author SHA1 Message Date
97203568e7 Fix 'RemoveDefGwOnDhcpForLocalhost' function: Change to exclude unplugged device from MAC address list. 2024-03-31 23:07:16 +09:00
a6ba9b8788 Include headers properly 2021-04-05 04:48:25 +02:00
5cab279a8c Cedar, Mayaqua: Set minimum Windows version to Vista 2021-04-03 02:25:19 +02:00
9d29d8813b New vpndrvinst implementation, independent from Cedar and Mayaqua
This greatly improves performance and reduces the binary's size (~0.2 MB vs ~5 MB).

All recent Windows versions are supported, starting with Vista.

No dialogs are created, aside from error/warning ones in case of failure.

The only dependency (aside from Windows libraries) is libhamcore.
2021-03-12 05:46:20 +01:00
e7bf97583d Mayaqua/Microsoft: Fix several warnings related to Windows data type mismatches
Also, reported unused variables are removed.
2021-03-01 02:30:45 +01:00
69cd39616b Remove "UINT32" and "DWORD", use "UINT" everywhere for consistency 2020-08-15 09:18:27 +02:00
6a472d827a Mayaqua: remove all references to binaries with "_x64" and "_ia64" suffix
See the previous commit's message for details.
2020-07-27 20:59:40 +02:00
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
9c227f3480 Add the warning message if KB3033929 is not installed in Windows 7 / Server 2008 R2. 2019-06-30 01:20:52 +09:00
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
8abcf3d0a9 Debug flag and test mode improvements
1. ifdef DEBUG -> defined(_DEBUG) || defined(DEBUG)
In VC++ compilers, the macro is "_DEBUG", not "DEBUG".

2. If set memcheck = true, the program will be vitally slow since it will log all malloc() / realloc() / free() calls to find the cause of memory leak.
For normal debug we set memcheck = false.
Please set memcheck = true if you want to test the cause of memory leaks.
2018-10-08 04:50:46 +02:00
e02237f397 Add string for "IF_TYPE_PROP_VIRTUAL" network interface type 2018-10-03 09:10:27 +02:00
3f5f716357 Revamp digest functions
- Hash() has been removed because it was ambiguous, Md5() and Sha0() are proper replacements.
- HMacMd5() and HMacSha1() now share a common implementation handled by the new Internal_HMac() function.
- NewMd() and MdProcess() now support plain hashing (without the key).
- NewMd(), SetMdKey() and MdProcess() now check the OpenSSL functions' return value and in case of failure a debug message is printed along with the error string, if available.
- SetMdKey()'s return value has been changed from void to bool, so that it's possible to know whether the function succeeded or not.
- MdProcess()' return value has been changed from void to UINT (unsigned int) and the function now returns the number of bytes written by HMAC_Final() or EVP_DigestFinal_ex().
2018-09-22 06:36:09 +02:00
4e30a40ae1 Enable debug messages and memory check with debug configuration 2018-09-15 19:12:21 +02:00
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
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
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
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
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
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
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
9f9dc459a7 Preparing the development branch 2017-10-19 15:00:41 +09:00
faee11ff09 v4.23-9647-beta 2017-10-18 18:24:21 +09:00
4df2eb4f9c v4.22-9634-beta 2016-11-27 17:43:14 +09:00
1e17c9bcfd v4.21-9613-beta 2016-04-24 23:49:31 +09:00
17e624ac26 v4.19-9605-beta 2016-03-06 23:16:01 +09:00
d3a1b26413 v4.19-9599-beta 2015-10-19 21:30:51 +09:00
860f743dd7 v4.17-9566-beta 2015-07-17 00:31:57 +09:00
ff49706373 v4.17-9562-beta 2015-05-31 19:02:35 +09:00
983c19c043 v4.15-9539-beta 2015-04-04 05:58:09 +09:00
06a72040a3 v4.13-9522-beta 2015-01-30 22:30:34 +09:00
10d4b2c43d v4.10-9505-beta 2014-10-04 00:09:23 +09:00
9f7d8578a7 v4.10-9472-beta 2014-07-12 02:06:20 +09:00
16d73ccb57 v4.06-9435-beta 2014-03-26 12:38:30 +09:00
cf2a6a42bc v4.06-9430-beta 2014-03-20 05:45:05 +09:00
e8ce5fa014 v4.05-9422-beta 2014-02-17 03:16:50 +09:00
001fd910fe v4.04-9412-rtm 2014-01-15 18:01:42 +09:00
749497dde0 v4.03-9408-rtm 2014-01-04 22:00:08 +09:00