1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2024-11-07 18:20:41 +03:00
Commit Graph

252 Commits

Author SHA1 Message Date
Ilya Shipitsin
f96a3b3989 src/Cedar/EtherLog: remove null dereference introduced in #650
also, remove unused functions:

[src/Cedar/EtherLog.c:1377]: (style) The function 'ElFree' is never used.
[src/Cedar/EtherLog.c:1370]: (style) The function 'ElInit' is never used.
2018-08-14 02:36:28 +05:00
Ilya Shipitsin
eb4efe3f1b src/Cedar/Session.c: avoid unintentional integer overflow
found by coverity
2018-08-13 15:40:45 +05:00
Ilya Shipitsin
ff1470cdce src/Cedar/Nat.c: resolve possible null dereference
found by coverity
2018-08-13 15:40:17 +05:00
Ilya Shipitsin
937da4a746 src/Cedar/EtherLog.c: resolve possible null dereference
found by coverity
2018-08-13 15:39:29 +05:00
Ilya Shipitsin
3ca4bc0aa9 src/Cedar/Logging: remove unused functions, redundant condition
[src/Cedar/Logging.c:679]: (style) The function 'HubLog' is never used.
[src/Cedar/Logging.c:888]: (style) The function 'IPCLog' is never used.
[src/Cedar/Logging.c:295]: (style) The function 'PrintEraseFileList' is never used.
[src/Cedar/Logging.c:1025]: (style) The function 'SecLog' is never used.
[src/Cedar/Logging.c:622]: (style) The function 'ServerLog' is never used.
[src/Cedar/Logging.c:2273]: (style) The function 'SetLogDirName' is never used.
[src/Cedar/Logging.c:2293]: (style) The function 'SetLogPrefix' is never used.
[src/Cedar/Logging.c:997]: (style) The function 'WriteMultiLineLog' is never used.
[src/Cedar/Logging.c:918]: (style) The function 'WriteSecurityLog' is never used.
[src/Cedar/Logging.c:1018] -> [src/Cedar/Logging.c:1006]:

(warning) Either the condition 'src_session!=NULL' is redundant or there is possible null
pointer dereference: src_session.
2018-08-13 07:13:56 +05:00
Ilya Shipitsin
6af1a2eb46 src/Cedar/Interop_OpenVPN: remove unused functions and variables
[src/Cedar/Interop_OpenVPN.c:2711]: (style) Variable 'now' is assigned a value that is never used.
[src/Cedar/Interop_OpenVPN.c:1053]: (style) The function 'OvsAddEntry' is never used.
[src/Cedar/Interop_OpenVPN.c:2610]: (style) The function 'OvsGetCompatibleL3IPNext' is never used.
[src/Cedar/Interop_OpenVPN.c:1047]: (style) The function 'OvsNewList' is never used.
[src/Cedar/Interop_OpenVPN.c:128]: (style) The function 'OvsSetNoOpenVpnTcp' is never used.
[src/Cedar/Interop_OpenVPN.c:140]: (style) The function 'OvsSetNoOpenVpnUdp' is never used.
2018-08-13 07:00:33 +05:00
Ilya Shipitsin
a7933800d0 src/Cedar/Logging.c: remove logically dead code
found by coverity
2018-08-12 16:22:09 +05:00
Ilya Shipitsin
2103520728 src/Cedar/Server.c: remove logically dead code
found by coverity
2018-08-12 16:19:29 +05:00
Ilya Shipitsin
b8af87adc1 src/Cedar/Interop_OpenVPN.c: remove logically dead code
found by coverity
2018-08-12 16:17:56 +05:00
Ilya Shipitsin
981e8d0e77 src/Cedar/Protocol.c: remove logically dead code
found by coverity
2018-08-12 16:15:53 +05:00
Ilya Shipitsin
e302cb5f74 src/Cedar/IPsec_PPP.c: remove logically dead code
found by coverity
2018-08-12 16:12:48 +05:00
Ilya Shipitsin
595245cd45 src/Cedar/IPsec_PPP.c: remove logically dead code
found by coverity
2018-08-12 16:07:13 +05:00
Ilya Shipitsin
ad41d54b29 src/Cedar/Command.c: remove logically dead code
found by coverity
2018-08-12 16:03:10 +05:00
Davide Beatrici
d3fc90f4e0
Merge PR #641: resolve several issues found by coverity 2018-08-12 12:28:49 +02:00
Davide Beatrici
3e4a2cabd8
Merge PR #640: Protocol: remove RC4 related stuff 2018-08-12 12:20:04 +02:00
Davide Beatrici
97a9070269
Merge PR #638: Interop_OpenVPN.c: convert the cipher name to lowercase prior to calling EVP_get_cipherbyname() 2018-08-12 12:18:50 +02:00
Ilya Shipitsin
35dc165651 src/Cedar/IPsec_PPP.c: avoid unintentional integer overflow
found by coverity
2018-08-12 15:10:44 +05:00
Ilya Shipitsin
3da4a9c5e3 src/Cedar/Hub.c: avoid unintentional integer overflow
found by coverity
2018-08-12 15:09:18 +05:00
Ilya Shipitsin
cb55ba6e7f src/Cedar/Session.c: avoid unintentional integer overflow
found by coverity
2018-08-12 15:07:34 +05:00
Ilya Shipitsin
89e3eb5ada src/Cedar/IPsec_IKE.c: avoid unintentional integer overflow
found by coverity
2018-08-12 15:05:48 +05:00
Ilya Shipitsin
2be6128e23 src/Cedar/IPsec_PPP.c: Array compared against NULL is always false
found by coverity
2018-08-12 15:00:17 +05:00
Ilya Shipitsin
b8d5a85b0e src/Cedar/Client.c: Array compared against NULL is always false
found by coverity
2018-08-12 14:59:08 +05:00
Davide Beatrici
eb03d1c54b Protocol: remove RC4 related stuff 2018-08-12 04:07:39 +02:00
Davide Beatrici
3e733eac6f Interop_OpenVPN.c: convert the cipher name to lowercase prior to calling EVP_get_cipherbyname()
OpenVPN sends the cipher name in uppercase, even if it's not standard, thus we have to convert it to lowercase for EVP_get_cipherbyname().

We also have to send the cipher name as it was received from the OpenVPN client, unless it's a different cipher, to prevent a message such as:
"WARNING: 'cipher' is used inconsistently, local='cipher AES-128-GCM', remote='cipher aes-128-gcm'"
It happens because OpenVPN uses "strcmp()" to compare the local and remote parameters: a6fd48ba36/src/openvpn/options.c (L3819-L3831)

See https://github.com/openssl/openssl/issues/6921 for EVP_get_cipherbyname().
2018-08-12 01:03:56 +02:00
Ilya Shipitsin
dd2c1c0dcd src/Cedar/DDNS.c: "interval" is unsigned, so MIN can only return 0
found by coverity
2018-08-11 21:49:27 +02:00
Davide Beatrici
84c44fbe24 Console.c: fix "implicit declaration of function 'getch'" warning
/builds/SoftEther/SoftEtherVPN/src/Cedar/Console.c: In function 'PasswordPrompt':
/builds/SoftEther/SoftEtherVPN/src/Cedar/Console.c:2051:8: warning: implicit declaration of function 'getch'; did you mean 'getc'? [-Wimplicit-function-declaration]
    c = getch();
        ^~~~~
        getc
2018-08-10 21:22:36 +02:00
Davide Beatrici
49ed8770b8 VLanUnix: fix "implicit declaration of function 'FreeTap'" warning
In file included from /builds/SoftEther/SoftEtherVPN/src/Cedar/Bridge.c:130:0:
/builds/SoftEther/SoftEtherVPN/src/Cedar/BridgeUnix.c: In function 'CloseEth':
/builds/SoftEther/SoftEtherVPN/src/Cedar/BridgeUnix.c:1568:3: warning: implicit declaration of function 'FreeTap'; did you mean 'FreeCaps'? [-Wimplicit-function-declaration]
   FreeTap(e->Tap);
   ^~~~~~~
   FreeCaps
2018-08-10 21:21:19 +02:00
Davide Beatrici
02db806181 Remove SSLv3 support 2018-08-09 00:25:40 +02:00
Ilya Shipitsin
d65f292888
Merge pull request #615 from prodatakey/foreground-logging
Merge PR #615: Foreground logging
2018-08-08 08:51:41 +05:00
Joshua Perry
e1bc2fd055 Remove last priority flag in deference to queue size checks 2018-08-06 10:28:37 -06:00
Mikhail Pridushchenko
02da8079ee UNIX services write logs to stdout
To better adopt SoftEther VPN for execution in Docker container all
services output logs to stdout if running in foreground.
2018-08-06 08:51:24 -06:00
Davide Beatrici
b70d81b5a8
Merge PR #613: WinUi: remove unused functions 2018-08-06 14:56:49 +02:00
Davide Beatrici
21e9bb354e WinUi: remove unneeded WinUiDebugInit() and WinUiDebugFree() functions 2018-08-06 14:45:54 +02:00
Ilya Shipitsin
005b5ebeca src/Cedar/WinUi: remove unused functions
[src/Cedar/WinUi.c:7240]: (style) The function 'CbInsertStr' is never used.
[src/Cedar/WinUi.c:9271]: (style) The function 'CheckTextLen' is never used.
[src/Cedar/WinUi.c:9252]: (style) The function 'CheckTextSize' is never used.
[src/Cedar/WinUi.c:8936]: (style) The function 'DialogCreateEx' is never used.
[src/Cedar/WinUi.c:2155]: (style) The function 'EndFreeInfoDlg' is never used.
[src/Cedar/WinUi.c:2171]: (style) The function 'ExecuteHamcoreExe' is never used.
[src/Cedar/WinUi.c:9885]: (style) The function 'FormatTextA' is never used.
[src/Cedar/WinUi.c:9323]: (style) The function 'GetFontSize' is never used.
[src/Cedar/WinUi.c:9841]: (style) The function 'GetMonitorSize' is never used.
[src/Cedar/WinUi.c:9759]: (style) The function 'GetWindowClientRect' is never used.
[src/Cedar/WinUi.c:1134]: (style) The function 'GetWizardPageIndex' is never used.
[src/Cedar/WinUi.c:3964]: (style) The function 'IpClear' is never used.
[src/Cedar/WinUi.c:6851]: (style) The function 'LbAddStr' is never used.
[src/Cedar/WinUi.c:6824]: (style) The function 'LbFindStr' is never used.
[src/Cedar/WinUi.c:7064]: (style) The function 'LbGetSelect' is never used.
[src/Cedar/WinUi.c:6812]: (style) The function 'LbGetStr' is never used.
[src/Cedar/WinUi.c:6900]: (style) The function 'LbInsertStr' is never used.
[src/Cedar/WinUi.c:7012]: (style) The function 'LbSetHeight' is never used.
[src/Cedar/WinUi.c:3652]: (style) The function 'LedDrawRect' is never used.
[src/Cedar/WinUi.c:6000]: (style) The function 'LvGetMaskedNum' is never used.
[src/Cedar/WinUi.c:6037]: (style) The function 'LvSearchStr_' is never used.
[src/Cedar/WinUi.c:5703]: (style) The function 'LvSetItemImage' is never used.
[src/Cedar/WinUi.c:5831]: (style) The function 'LvShow' is never used.
[src/Cedar/WinUi.c:10155]: (style) The function 'NoTop' is never used.
[src/Cedar/WinUi.c:10047]: (style) The function 'NoticeSettingChange' is never used.
[src/Cedar/WinUi.c:7854]: (style) The function 'PkcsUtil' is never used.
[src/Cedar/WinUi.c:8968]: (style) The function 'SetBitmap' is never used.
[src/Cedar/WinUi.c:4539]: (style) The function 'SetMenuItemEnable' is never used.
[src/Cedar/WinUi.c:9918]: (style) The function 'SetTextEx' is never used.
[src/Cedar/WinUi.c:9940]: (style) The function 'SetTextExA' is never used.
[src/Cedar/WinUi.c:11272]: (style) The function 'SetWinUiTitle' is never used.
[src/Cedar/WinUi.c:2132]: (style) The function 'StartFreeInfoDlg' is never used.
[src/Cedar/WinUi.c:3920]: (style) The function 'UiTest' is never used.
[src/Cedar/WinUi.c:1558]: (style) The function 'WinConnectEx2' is never used.
[src/Cedar/WinUi.c:10803]: (style) The function 'WinUiDebug' is never used.
[src/Cedar/WinUi.c:6908]: (style) The function 'CbInsertStr9xA' is never used.
[src/Cedar/WinUi.c:2096]: (style) The function 'FreeInfoThread' is never used.
[src/Cedar/WinUi.c:9644]: (style) The function 'GetTextSize' is never used.
[src/Cedar/WinUi.c:2833]: (style) The function 'GetWindowAndControlSizeResizeScale' is never used.
[src/Cedar/WinUi.c:2001]: (style) The function 'IsRegistedToDontShowFreeEditionDialog' is never used.
[src/Cedar/WinUi.c:6606]: (style) The function 'LbAddStrA' is never used.
[src/Cedar/WinUi.c:6739]: (style) The function 'LbGetSelectIndex' is never used.
[src/Cedar/WinUi.c:6627]: (style) The function 'LbInsertStrA' is never used.
[src/Cedar/WinUi.c:7593]: (style) The function 'PkcsUtilProc' is never used.
[src/Cedar/WinUi.c:6598]: (style) The function 'LbSelect' is never used.
[src/Cedar/WinUi.c:7421]: (style) The function 'PkcsUtilErase' is never used.
[src/Cedar/WinUi.c:7349]: (style) The function 'PkcsUtilWrite' is never used.
[src/Cedar/WinUi.c:2059]: (style) The function 'ShowFreeInfoDialog' is never used.
[src/Cedar/WinUi.c:2013]: (style) The function 'FreeInfoDialogProc' is never used.
[src/Cedar/WinUi.c:6558]: (style) The function 'LbFindData' is never used.
[src/Cedar/WinUi.c:6534]: (style) The function 'LbSelectIndex' is never used.
[src/Cedar/WinUi.c:6488]: (style) The function 'LbGetData' is never used.
[src/Cedar/WinUi.c:6464]: (style) The function 'LbNum' is never used.
[src/Cedar/WinUi.c:2001]: (style) The function 'RegistToDontShowFreeEditionDialog' is never used.
2018-08-06 13:43:23 +05:00
Ilya Shipitsin
e969749bc1 initialize variables (it makes coverity a bit happier) 2018-08-06 12:40:06 +05:00
Davide Beatrici
59000e04cc Merge PR #335: Retry connection on untrusted server certificate 2018-08-05 21:15:52 +02:00
Joshua Perry
28e8d4bcce Retry connection on untrusted server certificate
With server certificate validation enabled, vpnclient unconditionally
stopped connection on untrusted server certificate. Added account
configuration parameter to retry connection if server certivicate failed
validation.
2018-08-05 20:48:16 +02:00
Davide Beatrici
d4d17549c4
Merge PR #337: Put TUN down on client disconnect. 2018-08-05 20:16:50 +02:00
Ilya Shipitsin
191c680ff7 src/Cedar/Admin.c: remove unused condition, make coverity scan cleaner
HubName == NULL  always evaluated as "false", so we can remove it
2018-08-05 22:33:16 +05:00
Joshua Perry
59e1483dbf Put TUN down on client disconnect.
On startup client creates TUN interface in UP state and kept it UP even
if connection to the server was lost. Creating interface in DOWN state,
turning it UP on successful (re-)connection to server and DOWN on either
disconnect or connection loss would enable DHCP client (say dhclient5)
to detect necessity for lease renewal.

Added a client configuration parameter to create TUN interface in DOWN
state and commands to enable, disable, and query the configuration
parameter.
Enabling the parameter causes client to put all unused TUN interfaces
DOWN, create new TUN interfaces in DOWN state, and turn TUN interfaces
corresponding to active sessions DOWN on connection loss or
disconnecting from server.
Disabling the parameter forces client to turn all TUN interfaces UP and
create new TUN interfaces in UP state.
Default value is 'Disable'.
2018-08-05 17:36:05 +02:00
Ilya Shipitsin
1c0b961aa5 remove DoNothing function (improves coverity reports) 2018-08-05 12:00:39 +05:00
Davide Beatrici
632e86d1e5 src: remove unused VGate project 2018-08-03 16:19:33 +02:00
Davide Beatrici
0d096961b7 Interop_OpenVPN: remove lists of supported encryption and hash algorithms
They are not required as OvsGetCipher() checks if the cipher is available and fallbacks to the default one in case it's not.
2018-08-02 16:18:41 +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
ce5ee2b070
Merge PR #589: src: remove unused Ham project 2018-07-31 07:41:58 +02:00
Davide Beatrici
e720cf657b CM.c: add missing <security.h> header 2018-07-29 09:44:59 +02:00
Davide Beatrici
24d23feacf src: remove unused Ham project 2018-07-29 03:39:27 +02:00
Davide Beatrici
14eb17e6ad
Merge PR #581: src: split CMakeLists.txt for each subdirectory 2018-07-27 04:47:26 +02:00
Davide Beatrici
07ed7e1626 src: split CMakeLists.txt for each subdirectory 2018-07-26 06:44:19 +02:00
William Welliver
e3e38873d1 Solaris: use DLPI style 1 attachment and check for /dev/net used by Illumos and Solaris 10+. 2018-07-26 03:21:05 +02: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
Davide Beatrici
23fd1fc94e
Merge PR #473: IPC: use hostname as client identifier, if available 2018-07-21 05:19:14 +02:00
Davide Beatrici
360273b912
Merge PR #472: OpenVPN: hostname support 2018-07-21 05:15:14 +02:00
hoppler
b0a2a95540
HubName has to be set after Copy
Hubname has to be set after copy or it will be an empty string. To get the real hubname (correct casing) we use it directly from the hub instead of the given parameter
2018-06-30 10:51:49 +02:00
Davide Beatrici
4029f3ae8d Rename IsIntelAesNiSupported() to IsAesNiSupported() 2018-06-09 20:31:27 +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
ba75a32a9f IPC: use hostname as client identifier, if available
This allows a DHCP server to use the client ID as unique identifier, in order to correctly assign a static lease.

Previously this wasn't possible, as the client identifier was set to its MAC address, which is randomly generated.
2018-06-09 19:56:16 +02:00
Davide Beatrici
970e217380 OpenVPN: merge OvsParseOptions() and OvsParsePeerInfo() into a single function 2018-06-09 19:55:03 +02:00
Davide Beatrici
86c82b8ccf OpenVPN: rename generic functions 2018-06-09 19:55:03 +02:00
Davide Beatrici
3ceee41d33 OpenVPN: hostname support
OpenVPN sends the default gateway's MAC address, if the option --push-peer-info is enabled.
It also sends the client's environment variables whose names start with "UV_".

This commit adds some lines of code in OvsBeginIPCAsyncConnectionIfEmpty(), in order to set the hostname to "UV_HOSTNAME"'s value, which is defined by the user on their device.
In case "UV_HOSTNAME" is not available, "IV_HWADDR"'s value (the default gateway's MAC address) is used instead.

OvsParseOptions() has been adapted into a new function called OvsParsePeerInfo(), in order to parse the peer info string.
2018-06-09 19:55:03 +02:00
Davide Beatrici
6ffb9db01b Server.c: remove deactivated for() loop used to add test users to the default hub (#479)
Server.c: remove dead for() loop used to add test users to the default hub
2018-05-24 23:03:24 +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
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
Max Miroshnikov
e6d94dfca9 [vpncmd] Added DISABLEUDP option into AccountDetailSet command. This allows to change "Disable UDP acceleration" via vpncmd. #308 (#389) 2018-05-14 10:08:58 +02:00
Ilya Shipitsin
f5645fe3fd resolve several issues found by cppcheck (#483)
[src/Cedar/Connection.c:1090] -> [src/Cedar/Connection.c:1086]:
(warning) Either the condition 's!=NULL' is redundant or there is possible null pointer dereference: s.

macros IS_SEND_TCP_SOCK expands into "s" dereferencing, so check for NULL should go before that macros

[src/Cedar/Protocol.c:2951] -> [src/Cedar/Protocol.c:2892]:
(warning) Either the condition 'policy!=NULL' is redundant or there is possible null pointer dereference: policy.
[src/Cedar/Protocol.c:2951] -> [src/Cedar/Protocol.c:2901]:
(warning) Either the condition 'policy!=NULL' is redundant or there is possible null pointer dereference: policy.
[src/Cedar/Protocol.c:3151] -> [src/Cedar/Protocol.c:3082]:
(warning) Either the condition 'policy!=NULL' is redundant or there is possible null pointer dereference: policy.
[src/Cedar/Protocol.c:3151] -> [src/Cedar/Protocol.c:3083]:
(warning) Either the condition 'policy!=NULL' is redundant or there is possible null pointer dereference: policy.

as we already have a check

			if (policy == NULL)
			{
				// Use the default policy
				policy = ClonePolicy(GetDefaultPolicy());
                        }

no need to compare policy with NULL anymore
2018-05-14 10:00:25 +02:00
Michael Clausen
e6099abe40 Peer info optional in OvsParseKeyMethod2() (#355)
* Peer info optional in OvsParseKeyMethod2()

Some OpenVPN clients (MikroTik router for example) do not send the peer info along with the key exchange. This patch makes the peer info string optional on the SoftEtherVPN side.

* Fixed indentation
2018-05-03 23:31:07 +02:00
Davide Beatrici
59c817e0fc OpenVPN: don't generate dummy certificates (#521)
* Cedar: don't generate dummy certificate

* hamcore: comment out <cert> and <key> in openvpn_sample.ovpn
2018-05-03 13:44:51 +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
8230f16457 Fix a typo. 2018-04-23 10:09:34 +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
tonychung00
8ddd328762 initial fix for clang warnings (#84) 2018-04-20 23:03:26 +02:00
Moataz Elmasry
12a30cbbe2
remove msvc compiling errors (#499) 2018-04-20 01:19:32 +02:00
Maks Naumov
3f553abf1d Use correct sizeof value (#426)
* Use correct sizeof() value

* Use correct size for Zero()
2018-04-11 22:53:59 +02:00
Ilya Shipitsin
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
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
Moataz Elmasry
9ad254115f Merge PR #154 Add Traditional Chinese language translation into master 2018-02-15 22:10:02 +01:00
Moataz Elmasry
e04ec3b203 Incrementing Version of SoftEther to 5.1. Preparing for release 2018-02-14 23:26:05 +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
a5fa265811
Merge pull request #275 from chipitsine/master
cppcheck findings
2018-02-01 00:06:08 +01:00
Moataz Elmasry
93d9ade990 Merge PR #129 into master. 2018-01-25 02:55:11 +01:00
Maks Naumov
ea4bb811ef Fix log msg for IKE with agressive exchange mode (#425) 2018-01-23 17:42:20 +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
macvk
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
Daiyuu Nobori
bb30535bb6 Fix the function name: RFC3164 -> RFC3339 2017-12-21 23:24:06 +09:00
Daiyuu Nobori
97e7a82be2 Added the function to save the DNS query log on the packet logs. 2017-12-21 23:23:17 +09:00
Daiyuu Nobori
4a01c41d09 Fixed the bug which occurs the L2TP/IPsec connection error with Android Oreo. 2017-12-21 23:21:31 +09:00
holoreimu
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
Holoreimu
39c1081d38
Merge pull request #1 from SoftEtherVPN/master
update to latest version
2017-12-02 01:30:07 +08:00
Daiyuu Nobori
9f9dc459a7 Preparing the development branch 2017-10-19 15:00:41 +09:00
dnobori
faee11ff09 v4.23-9647-beta 2017-10-18 18:24:21 +09:00
Daiyuu Nobori
2241b9a366 Merge pull request #309 from moatazelmasry2/openvpn-extend-ciphers
Openvpn extend ciphers
2017-10-18 16:57:52 +09:00
Daiyuu Nobori
056c322601 Merge branch 'master' into add-sha2 2017-10-18 16:57:26 +09:00
Daiyuu Nobori
936815f2d4 Merge pull request #293 from moatazelmasry2/expand-dh-groups
Add DH groups 2048,3072,4096 to IPSec_IKE
2017-10-18 16:37:22 +09:00
Daiyuu Nobori
8ae035420b Merge pull request #282 from NoahO/NoahO-PPP-patch
Stop Radius Delay from counting to next_resend
2017-10-18 16:37:02 +09:00
Daiyuu Nobori
b61882598f Merge pull request #256 from cm0x4D/master
Using client parameter in function CtConnect
2017-10-18 16:36:24 +09:00
cm0x4d
78bcc07fa9 Peer info optional in OvsParseKeyMethod2() 2017-09-28 10:37:24 +02:00
Moataz Elmasry
fdcf90d3f0 Add CAMELLIA cipher suite to OpenVPN 2017-02-24 14:09:22 +01:00
Moataz Elmasry
e0a9fb1950 Add HMAC-SHA2-256, HMAC2-384, HMAC2-512 support to OpenVPN 2017-01-23 02:34:25 +01:00