Davide Beatrici
4b05de1a93
Cedar: Add support for 32 bit unsigned integer Proto options
...
This commit also fixes a bug which caused the server to initialize all boolean options to false.
It was caused by SiLoadProtoCfg() not checking whether the item exists in the configuration file.
CfgGetBool() always returns false if the item doesn't exist.
2021-04-21 08:12:45 +02:00
Ilya Shipitsin
6a25ccfa28
Merge pull request #1332 from chipitsine/master
...
CI: drop OpenSUSE builds
2021-04-20 21:51:45 +03:00
Ilya Shipitsin
138e0b76d6
CI: drop OpenSUSE builds
...
it turned out to be almost impossible to install libsodium on
OpenSUSE (for example Factory repo url is broken).
Let us drop OpenSUSE builds for a while. Maybe we'll get them back later.
2021-04-20 21:51:49 +05:00
Ilya Shipitsin
ee84891559
Merge pull request #1329 from davidebeatrici/mayaqua-dns-refactor
...
Rewrite DNS API from scratch into dedicated file(s)
2021-04-18 08:22:40 +03:00
Davide Beatrici
0472f9c286
Rewrite DNS API from scratch into dedicated file(s)
...
From a functional point of view, the main improvement is that GetIP() now always prioritizes IPv6 over IPv4.
The previous implementation always returned an IPv4 address, unless not available: in such case it failed.
This means that now connections to hostnames should be established via IPv6 if available.
From a programmer point of view, getting rid of the insane wrappers is enough to justify a complete rewrite.
As an extra, several unrelated unused global variables are removed.
2021-04-18 01:46:59 +02:00
Ilya Shipitsin
f7e988ffc7
Merge pull request #1326 from chipitsine/master
...
CI: Azure Pipelines: explicitly install liblz4-dev
2021-04-15 22:04:55 +03:00
Ilya Shipitsin
a541c0286e
CI: Azure Pipelines: explicitly install liblz4-dev
...
since 24596b258a
bundled lz4 was removed. openvpn (used for live tests) now relies on system lz4 lib.
2021-04-15 15:11:35 +05:00
Ilya Shipitsin
30f707d6c0
Merge pull request #1325 from chipitsine/master
...
CI: AppVeyor: explicitly install liblz4-dev
2021-04-15 14:06:00 +05:00
Davide Beatrici
bad9310aa4
Merge PR #1324 : Cedar: Make use of IP address reported by NAT-T server for UDP acceleration
2021-04-14 20:45:41 +02:00
Davide Beatrici
d4d15b66d3
Cedar: Make use of IP address reported by NAT-T server for UDP acceleration
...
Before this commit, the IP address reported by the NAT-T server was immediately discarded.
That's because the peer should be accessible via the IP address used to establish the TCP connection.
User "domosekai" (https://www.domosekai.com ) pointed out that the NAT-T IP address should be taken into account.
In his case it's required due to his broadband carrier's NAT causing TCP and UDP to have different external IPs.
Co-authored-by: domosekai <54519668+domosekai@users.noreply.github.com>
2021-04-14 19:49:30 +02:00
Ilya Shipitsin
c4b5455663
CI: AppVeyor: explicitly install liblz4-dev
...
since 24596b258a
bundled lz4 was removed. openvpn (used for live tests) now relies on system
lz4 lib.
2021-04-14 15:54:20 +05:00
Davide Beatrici
192083e7c4
Merge PR #1321 : Change IP structure so that IPv4 addresses are stored in RFC3493 format
2021-04-07 21:37:42 +02:00
Davide Beatrici
1708998a11
Change IP structure so that IPv4 addresses are stored in RFC3493 format
...
In addition to saving 4 bytes for each instantiation, this change makes IP-related operations faster and clearer.
https://tools.ietf.org/html/rfc3493.html#section-3.7
2021-04-07 21:24:55 +02:00
Davide Beatrici
01663f836d
Merge PR #1320 : Add (No) Code of Conduct
2021-04-06 20:00:52 +02:00
Davide Beatrici
4ec2995604
Add (No) Code of Conduct
...
https://nocodeofconduct.com
2021-04-06 19:43:00 +02:00
Ilya Shipitsin
2bb6fb2845
Merge pull request #1319 from davidebeatrici/include-headers-properly
...
Include headers properly
2021-04-05 13:00:39 +05:00
Davide Beatrici
a6ba9b8788
Include headers properly
2021-04-05 04:48:25 +02:00
Ilya Shipitsin
46b54f00be
Merge pull request #1318 from davidebeatrici/minimum-version-windows-vista
...
Cedar, Mayaqua: Set minimum Windows version to Vista
2021-04-03 22:02:50 +05:00
Davide Beatrici
5cab279a8c
Cedar, Mayaqua: Set minimum Windows version to Vista
2021-04-03 02:25:19 +02:00
Davide Beatrici
3e17c818a6
Merge PR #1317 : Mayaqua/Network.c: Always use fcntl() to toggle socket non-blocking mode (UNIX)
2021-04-01 19:23:45 +02:00
Davide Beatrici
84588095d5
Mayaqua/Network.c: Always use fcntl() to toggle socket non-blocking mode (UNIX)
...
O_NONBLOCK is standardized by POSIX, as opposed to FIONBIO.
This commit also fixes a bug: fcntl() was only called to disable the mode.
2021-04-01 08:04:27 +02:00
Davide Beatrici
a79f91161f
Merge PR #1316 : Bump y18n from 4.0.0 to 4.0.1 in /src/bin/hamcore/wwwroot/admin/default
2021-03-30 20:29:50 +02:00
dependabot[bot]
ed6013affc
Bump y18n from 4.0.0 to 4.0.1 in /src/bin/hamcore/wwwroot/admin/default
...
Bumps [y18n](https://github.com/yargs/y18n ) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/yargs/y18n/releases )
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md )
- [Commits](https://github.com/yargs/y18n/commits )
Signed-off-by: dependabot[bot] <support@github.com>
2021-03-30 18:00:59 +00:00
Davide Beatrici
ac04e15b72
Merge PR #1313 : Merge Windows manifest files into a single one
2021-03-30 07:15:48 +02:00
Davide Beatrici
4db6247b80
Merge Windows manifest files into a single one
2021-03-27 00:33:20 +01:00
Davide Beatrici
3761876254
Merge PR #1306 : Mayaqua: Fix UDP send error when used with reverse proxy
2021-03-23 19:46:11 +01:00
domosekai
934e49fea0
Mayaqua/Network.c: Fix UDP send error when used with reverse proxy
2021-03-23 11:59:23 +00:00
Davide Beatrici
b7e7d3b028
Merge PR #1296 : Update BUILD_UNIX.md dependencies
2021-03-13 04:21:36 +01:00
David Refoua
808f081e3a
update install dependencies (libsodium)
2021-03-13 05:45:30 +03:30
Ilya Shipitsin
8fb9bfd39c
Merge pull request #1295 from davidebeatrici/vpndrvinst-revamp
...
New vpndrvinst implementation, independent from Cedar and Mayaqua
2021-03-12 12:55:28 +05:00
Davide Beatrici
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
Davide Beatrici
68367fa2fb
hamcore: Restore warning_*.txt files
...
They were accidentally removed in 8e2616ef7d
.
2021-03-11 20:15:20 +01:00
Davide Beatrici
d5fa90cc71
Merge PR #1293 : hamcorebuilder: Use libhamcore to build archive
2021-03-10 03:11:11 +01:00
Davide Beatrici
68574e9af9
hamcorebuilder: Use libhamcore to build archive
...
https://github.com/SoftEtherVPN/libhamcore
2021-03-10 02:13:00 +01:00
Davide Beatrici
de03b3ec59
Merge PR #1292 : Bump elliptic from 6.5.3 to 6.5.4 in /src/bin/hamcore/wwwroot/admin/default
2021-03-09 20:13:44 +01:00
dependabot[bot]
9e7f26395a
Bump elliptic in /src/bin/hamcore/wwwroot/admin/default
...
Bumps [elliptic](https://github.com/indutny/elliptic ) from 6.5.3 to 6.5.4.
- [Release notes](https://github.com/indutny/elliptic/releases )
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-03-09 08:28:13 +00:00
Davide Beatrici
b00aa39b29
Merge PR #1289 : CMake: Fix regular expression for BLAKE2 SSE2 source files selection
2021-03-02 01:30:58 +01:00
Davide Beatrici
2d82d84fd5
CMake: Fix regular expression for BLAKE2 SSE2 source files selection
...
The comparison was being made against the variable's name instead of its value, causing the result to always be true.
For reference: https://cmake.org/cmake/help/v3.10/manual/cmake-generator-expressions.7.html#genex:BOOL
In addition to that, this commit also fixes the source file name of the non-SSE2 code.
2021-03-01 23:24:34 +01:00
Davide Beatrici
42dbfb7c7e
Merge PR #1287 : Cedar/WinUi.c: Remove reference to "vpncmd_x64.exe" and "vpncmd_ia64.exe"
2021-03-01 04:45:30 +01:00
Davide Beatrici
ef5c32dca1
Merge PR #1286 : Azure Pipelines: Replace "x86_64" with "x64", for consistency with the codebase
2021-03-01 04:36:50 +01:00
Davide Beatrici
65483499bf
Cedar/WinUi.c: Remove reference to "vpncmd_x64.exe" and "vpncmd_ia64.exe"
...
It was missed in a3eb115b0a
.
2021-03-01 04:27:43 +01:00
Davide Beatrici
3ffdda6c13
Azure Pipelines: Replace "x86_64" with "x64", for consistency with the codebase
2021-03-01 04:03:28 +01:00
Davide Beatrici
3d69a71d9b
Merge PR #1200 : Implement support for WireGuard
2021-03-01 03:59:35 +01:00
Davide Beatrici
4506b60e80
Merge PR #1282 : Use bool from stdbool.h, get rid of BOOL
2021-03-01 03:44:22 +01:00
Davide Beatrici
b6b692046c
Cedar/CMInner.h: Fix wrong signature for CmPolicyDlgPrintEx2()
2021-03-01 03:01:34 +01:00
Davide Beatrici
56a19d7651
Cedar/Win32Com.cpp: Fix wrong signature for SetupCopyOEMInfW() and SetupUninstallOEMInfW()
...
https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupcopyoeminfw
https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupuninstalloeminfw
2021-03-01 03:01:34 +01:00
Davide Beatrici
2078a069de
Cedar/Hub: Properly set value for hub admin options
...
Same deal as with the previous commit: worked fine as long as bool was 4-bytes wide.
2021-03-01 03:01:34 +01:00
Davide Beatrici
562ffe8945
Mayaqua/Pack: Fix PackGetStrSize() and PackGetStrSizeEx()'s return data type
...
The bug caused ProtoOptionsGet and ProtoOptionsSet not to work anymore after c90617e0e86dedf78e0e3c8a71263a80eec29caa.
The functions were introduced in aa65327e73
, but the issue went unnoticed because bool was the same as UINT.
2021-03-01 03:01:34 +01:00
Davide Beatrici
914bfe7d44
Use bool from stdbool.h, get rid of BOOL
...
BOOL was just an alias for bool, this commit replaces all instances of it for consistency.
For some reason bool was defined as a 4-byte integer instead of a 1-byte one, presumably to match WinAPI's definition: https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types
Nothing should break now that bool is 1-byte, as no protocol code appears to be relying on the size of the data type.
PACK, for example, explicitly stores boolean values as 4-byte integers.
This commit can be seen as a follow-up to 61ccaed4f6
.
2021-03-01 03:01:34 +01:00
Davide Beatrici
7f30cbccf4
Merge PR #1285 : Mayaqua: Fix several warnings related to Windows data type mismatches
2021-03-01 03:01:25 +01:00