1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2026-09-19 18:01:25 +03:00

Compare commits

...

80 Commits

Author SHA1 Message Date
Ilya Shipitsin dd6319822c Merge pull request #2306 from SoftEtherVPN/dependabot/npm_and_yarn/src/bin/hamcore/wwwroot/admin/default/js-yaml-3.15.2
Bump js-yaml from 3.14.2 to 3.15.2 in /src/bin/hamcore/wwwroot/admin/default
2026-09-13 12:36:36 +02:00
dependabot[bot] a8122ff1fe Bump js-yaml in /src/bin/hamcore/wwwroot/admin/default
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.2 to 3.15.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/3.15.2/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.2...3.15.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.15.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-13 10:32:28 +00:00
Ilya Shipitsin a72de85db4 Merge pull request #2305 from SoftEtherVPN/dependabot/npm_and_yarn/src/bin/hamcore/wwwroot/admin/default/browserslist-4.28.8
Bump browserslist from 4.28.1 to 4.28.8 in /src/bin/hamcore/wwwroot/admin/default
2026-09-02 23:20:43 +02:00
Ilya Shipitsin ca5e697bb0 Merge pull request #2304 from SoftEtherVPN/dependabot/npm_and_yarn/developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package/browserslist-4.28.8
Bump browserslist from 4.28.1 to 4.28.8 in /developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package
2026-09-02 23:20:28 +02:00
Ilya Shipitsin 987e2f399f Merge pull request #2303 from SoftEtherVPN/dependabot/npm_and_yarn/src/bin/hamcore/wwwroot/admin/default/fast-uri-3.1.7
Bump fast-uri from 3.1.5 to 3.1.7 in /src/bin/hamcore/wwwroot/admin/default
2026-09-02 23:20:08 +02:00
dependabot[bot] 06443083e7 Bump browserslist in /src/bin/hamcore/wwwroot/admin/default
Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.28.1 to 4.28.8.
- [Release notes](https://github.com/browserslist/browserslist/releases)
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/browserslist/browserslist/compare/4.28.1...4.28.8)

---
updated-dependencies:
- dependency-name: browserslist
  dependency-version: 4.28.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-02 21:08:12 +00:00
dependabot[bot] 415281bd07 Bump browserslist
Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.28.1 to 4.28.8.
- [Release notes](https://github.com/browserslist/browserslist/releases)
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/browserslist/browserslist/compare/4.28.1...4.28.8)

---
updated-dependencies:
- dependency-name: browserslist
  dependency-version: 4.28.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-02 21:07:23 +00:00
dependabot[bot] 3ba1e6652d Bump fast-uri in /src/bin/hamcore/wwwroot/admin/default
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.5 to 3.1.7.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.5...v3.1.7)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-02 21:07:22 +00:00
Ilya Shipitsin 7209a3e0e9 Merge pull request #2302 from SoftEtherVPN/dependabot/npm_and_yarn/developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package/fast-uri-3.1.7
Bump fast-uri from 3.1.4 to 3.1.7 in /developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package
2026-09-02 23:06:03 +02:00
dependabot[bot] 01357dd792 Bump fast-uri
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.4 to 3.1.7.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.4...v3.1.7)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-02 20:50:31 +00:00
Ilya Shipitsin 700a07cac1 Merge pull request #2286 from SoftEtherVPN/dependabot/npm_and_yarn/developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package/fast-uri-3.1.4
Bump fast-uri from 3.1.2 to 3.1.4 in /developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package
2026-08-30 17:16:32 +02:00
Ilya Shipitsin d2a2153a7c Merge pull request #2301 from SoftEtherVPN/dependabot/npm_and_yarn/developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package/brace-expansion-1.1.18
Bump brace-expansion from 1.1.11 to 1.1.18 in /developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package
2026-08-30 16:57:05 +02:00
dependabot[bot] f4407fb2f5 Bump brace-expansion
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.18.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.18)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.18
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-30 14:23:38 +00:00
Ilya Shipitsin eebdf64945 Merge pull request #2288 from SoftEtherVPN/dependabot/npm_and_yarn/src/bin/hamcore/wwwroot/admin/default/fast-uri-3.1.5
Bump fast-uri from 3.1.2 to 3.1.5 in /src/bin/hamcore/wwwroot/admin/default
2026-08-30 16:22:21 +02:00
Ilya Shipitsin 7a7acd23be Merge pull request #2300 from chipitsine/master
ci: pin windows x86 build to windows-2022 image
2026-08-30 13:38:46 +02:00
Ilia Shipitsin 7bb354038f ci: pin windows x86 build to windows-2022 image 2026-08-30 13:11:09 +02:00
Ilya Shipitsin bbd326ba65 Merge pull request #2299 from chipitsine/master
fix build errors in vs2026
2026-08-29 22:29:30 +02:00
Ilia Shipitsin c3f2396344 Fix pointer type warnings and pointer truncation in WinUi.c
- Cast `&t` to `LPCPROPSHEETPAGEW` in `CreatePropertySheetPageW` to fix incompatible pointer type error.
- Use `SendMessageW` instead of custom `SendMsg` for `WM_GETFONT` to avoid truncating the `LRESULT` down to a 32-bit `UINT` before casting to `HFONT`, which previously triggered a `-Wint-to-pointer-cast` warning on 64-bit builds.
- Cast `&srcData` and `&data` (type `UCHAR**`) to `void**` in `CreateDIBSection` calls to resolve incompatible pointer type errors.
2026-08-29 21:53:21 +02:00
Ilia Shipitsin 89224e9264 Fix incompatible pointer type warnings in SeLowUser.c
Changed the types of `read_size` and `ret_size` from `UINT` to `DWORD` across several functions (`SuOpenAdapter`, `SuEnumAdapters`, `SuGetAdapterList`, and `SuInitEx`) in `SeLowUser.c` to resolve compiler warnings (`-Wincompatible-pointer-types`). The Windows API functions `DeviceIoControl` and `ReadFile` expect an `LPDWORD` (a pointer to an `unsigned long`) for their returned byte count parameters, whereas `UINT` maps to `unsigned int`.
2026-08-29 21:40:44 +02:00
Ilia Shipitsin 7530741414 Fix incompatible pointer type warning in IPsecWin7UpdateHostIPAddressList
Changed the type of `retsize` from `UINT` to `DWORD` in `Proto_Win7.c` to resolve a compiler warning (`-Wincompatible-pointer-types`). The Windows API function `WriteFile` expects an `LPDWORD` (a pointer to an `unsigned long`) for its `lpNumberOfBytesWritten` parameter, whereas `UINT` maps to `unsigned int`.
2026-08-29 21:27:39 +02:00
Ilia Shipitsin ba16ba3a10 Fix incompatible pointer type warning in GetEthAdapterListInternal
Changed the type of `size` from `UINT` to `ULONG` in `BridgeWin32.c` to resolve a compiler warning (`-Wincompatible-pointer-types`). The `PacketGetAdapterNames` function expects a `PULONG` (a pointer to an `unsigned long`) for its second parameter, whereas `UINT` maps to `unsigned int`.
2026-08-29 21:15:26 +02:00
Ilia Shipitsin a820ac7ddc Fix incompatible pointer type warning in Win32InputFromFileLineA
Changed the type of `read_size` from `UINT` to `DWORD` in `Win32.c` to resolve a compiler warning (`-Wincompatible-pointer-types`). The Windows API function `ReadFile` expects an `LPDWORD` (a pointer to an `unsigned long`) for the `lpNumberOfBytesRead` parameter, while `UINT` maps to `unsigned int`.
2026-08-29 21:04:51 +02:00
Ilya Shipitsin c3e505de95 Merge pull request #2298 from realmeylisdev/configure-cpack-macos
configure: select TGZ rather than DEB for CPack on macOS
2026-08-29 10:21:48 +02:00
Ilya Shipitsin c73b10004d Merge pull request #2297 from realmeylisdev/cmake-darwin-system-processor
cmake: fix Darwin cpu_features check testing the wrong variable
2026-08-29 10:20:32 +02:00
Ilya Shipitsin 797a216c40 Merge pull request #2296 from realmeylisdev/macos-openssl-homebrew-prefix
configure: ask brew for the OpenSSL prefix on macOS
2026-08-29 09:57:23 +02:00
Meylis Annagurbanov 26270939d5 configure: select TGZ rather than DEB for CPack on macOS
configure picks the CPack generator by probing for an rpm executable: if
present it selects RPM, otherwise it falls through to DEB. macOS has neither,
so it selects DEB, which is not a meaningful package format there.

Add a Darwin branch selecting TGZ, which always works. An explicit
CPACK_GENERATOR in the environment still takes precedence, so anyone wanting
productbuild or DragNDrop can ask for it.

This only affects 'make package'; ordinary builds never read CPACK_GENERATOR,
which is why macOS CI is unaffected.
2026-08-29 11:06:04 +05:00
Meylis Annagurbanov 874675b00f cmake: fix Darwin cpu_features check testing the wrong variable
The Darwin branch of the cpu_features selection reads:

  elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" AND NOT CMAKE_SYSTEM_NAME MATCHES "^(arm64|x86_64)")

The second condition tests CMAKE_SYSTEM_NAME, which is "Darwin" inside this
branch and so never matches ^(arm64|x86_64), where it plainly means
CMAKE_SYSTEM_PROCESSOR. The NOT is therefore always true, and the branch the
comment says we "should not reach" is the one always taken. The FreeBSD
branch three lines above gets this right.

The effect is currently masked -- macOS has no sys/auxv.h, so the
HAVE_SYS_AUXV branch already defines SKIP_CPU_FEATURES first -- but the
condition is still wrong and should behave as written if that check ever
changes.
2026-08-29 11:06:03 +05:00
Meylis Annagurbanov 9a7d618a60 configure: ask brew for the OpenSSL prefix on macOS
On macOS, configure exports a hardcoded OPENSSL_ROOT_DIR of
/usr/local/opt/openssl/. That is the Homebrew prefix on Intel Macs; on Apple
Silicon Homebrew installs to /opt/homebrew, so the directory does not exist.

Nothing is broken today: CMake's FindOpenSSL treats OPENSSL_ROOT_DIR as a
hint rather than an exclusive search path, so it ignores the dead directory
and finds OpenSSL anyway. The problem is the log line, which confidently
names a path that exists on no Apple Silicon machine and sends anyone
debugging an OpenSSL pickup down a false trail.

Ask brew for the real prefix, preferring openssl@3 and falling back to
openssl, and keep the previous value as a last resort so behaviour is
unchanged where Homebrew is absent.
2026-08-29 11:06:03 +05:00
Ilia Shipitsin 041f39572e Fix -Wincompatible-pointer-types in Win32Inc32 and Win32Dec32
Explicitly cast the `UINT *` pointer to `(volatile LONG *)` before passing it to `InterlockedIncrement` and `InterlockedDecrement` in `src/Mayaqua/Win32.c`.

This resolves a build error where passing a `UINT *` (unsigned int *) was flagged as an incompatible pointer type, because the APIs expect a `volatile LONG *` (volatile long *).
2026-08-23 12:25:27 +02:00
Ilia Shipitsin adc8f06c02 Fix -Wincompatible-pointer-types in Win32InitThread
Change the type of the `thread_id` variable from `DWORD` to `UINT` in `src/Mayaqua/Win32.c`.

This resolves a build error where passing `&thread_id` to `_beginthreadex` was flagged as an incompatible pointer type, because the function expects a pointer to an `unsigned int` rather than a pointer to an `unsigned long` (`DWORD`).
2026-08-23 12:24:09 +02:00
Ilia Shipitsin 78925e2e83 Fix -Wincompatible-pointer-types in Win32SetFolderCompress
Change the type of the `retsize` variable from `UINT` to `DWORD` in both `Win32SetFolderCompressW` and `Win32SetFolderCompress` in `src/Mayaqua/Win32.c`.

This resolves a build error where passing `&retsize` to `DeviceIoControl` was flagged as an incompatible pointer type, because the API expects an `LPDWORD` (pointer to `unsigned long`) rather than a pointer to `unsigned int`.
2026-08-23 12:22:22 +02:00
Ilia Shipitsin 9681053dc0 Fix -Wincompatible-pointer-types in Win32GetDnsSuffix
Explicitly cast the `IP_ADAPTER_ADDRESSES_XP *` pointer to `PIP_ADAPTER_ADDRESSES` when calling `GetAdaptersAddresses` in `src/Mayaqua/Network.c`.

This resolves build errors with modern Windows SDKs (e.g., 10.0.26100.0) where `PIP_ADAPTER_ADDRESSES` resolves to `IP_ADAPTER_ADDRESSES_LH *`, which compilers like Clang flag as an incompatible pointer type.
2026-08-23 12:07:56 +02:00
Ilya Shipitsin 84069c1238 Merge pull request #2294 from chipitsine/master
compat: do not enable OQS on OpenSSL >= 4.0.0
2026-08-22 20:12:01 +02:00
Ilia Shipitsin 2dc42e0400 compat: do not enable OQS on OpenSSL >= 4.0.0
OpenSSL 4.0.0 is shipped with MLKEM, no need to add Kyber separately
2026-08-22 20:03:13 +02:00
Ilya Shipitsin ce4f3c4629 Merge pull request #2293 from chipitsine/master
CI: fedora rawhide has switched to openssl4, no engine anymore
2026-08-22 19:44:20 +02:00
Ilia Shipitsin 64816d1e6e CI: fedora rawhide has switched to openssl4, no engine anymore 2026-08-22 19:30:10 +02:00
Ilya Shipitsin 28564dd188 Merge pull request #2291 from chipitsine/79d56ae5-a85d-4913-87ff-3981f1b5e0ec
ci: do not fail on single matrix build failure
2026-08-14 11:33:34 +02:00
Ilia Shipitsin 14517d304d ci: do not fail on single matrix build failure 2026-08-14 11:22:10 +02:00
dependabot[bot] 3b4df69a8e Bump fast-uri in /src/bin/hamcore/wwwroot/admin/default
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.2 to 3.1.5.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.2...v3.1.5)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-05 19:04:44 +00:00
dependabot[bot] 7374a26871 Bump fast-uri
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.2 to 3.1.4.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.2...v3.1.4)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-25 17:41:57 +00:00
Ilya Shipitsin b1f7ef0004 Merge pull request #2278 from synqa/support-libressl
Add CI for LibreSSL and update some API
2026-06-10 16:27:40 +02:00
synqa bfcb6788a7 Support SSL_get1_supported_ciphers() on LibreSSL above v2.9.1
Upstream changed on add79fb32686c1e8baf10def36ae00f8ab91a52b.
2026-06-10 18:09:16 +09:00
synqa 3fda39dc45 Support security level API on LibreSSL above v3.6.0
See:
https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.6.0-relnotes.txt
2026-06-10 18:08:36 +09:00
synqa 576a627e60 Rename env_md_st to evp_md_st for LibreSSL above v3.8.1
Upstream changed on ccf80370e13df3645f5a40674dded2e94f8cb0e9.
2026-06-10 18:05:40 +09:00
synqa 9d5efa309a Add CI for LibreSSL
When libressl-dev package is installed on Alpine Linux, LibreSSL is used
by default.
2026-06-10 18:05:40 +09:00
Ilya Shipitsin 2f67b3bd69 Merge pull request #2274 from chipitsine/master
CI: apply to windows.yml automatical VS detection
2026-06-02 09:49:08 +02:00
Ilia Shipitsin 4c66118bf3 CI: apply to windows.yml automatical VS detection
follow up of d9f46760ff
2026-05-31 22:54:20 +02:00
Ilya Shipitsin d9f46760ff Merge pull request #2271 from chipitsine/master
CI: detect VS version on the fly
2026-05-22 20:54:48 +02:00
Ilia Shipitsin c7bfb30f2a CI: detect VS version on the fly 2026-05-22 15:16:52 +02:00
Ilya Shipitsin 597cdab464 Merge pull request #2267 from SoftEtherVPN/dependabot/npm_and_yarn/developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package/fast-uri-3.1.2
Bump fast-uri from 3.1.0 to 3.1.2 in /developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package
2026-05-09 11:19:03 +02:00
Ilya Shipitsin 7bb19486b8 Merge pull request #2266 from SoftEtherVPN/dependabot/npm_and_yarn/src/bin/hamcore/wwwroot/admin/default/fast-uri-3.1.2
Bump fast-uri from 3.1.0 to 3.1.2 in /src/bin/hamcore/wwwroot/admin/default
2026-05-09 08:34:15 +02:00
dependabot[bot] f67769bb8c Bump fast-uri
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-09 02:18:44 +00:00
dependabot[bot] 50d740a802 Bump fast-uri in /src/bin/hamcore/wwwroot/admin/default
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-09 00:31:16 +00:00
Ilya Shipitsin 41c85953c1 Merge pull request #2263 from metalefty/freebsd-ci
CI: Switch FreeBSD CI from Cirrus CI to GitHub Actions
2026-04-28 01:23:18 -07:00
Koichiro Iwao d77c258dac CI: Run FreeBSD CI via GitHub Acctions
Resolves:	#2262
2026-04-28 17:01:07 +09:00
Koichiro Iwao 7bb2a6753a CI: Retire Cirrus CI as the service is shutting down 2026-04-28 16:55:25 +09:00
Ilya Shipitsin cf559617b1 Merge commit from fork
Fix PPP bugs
2026-04-05 16:12:25 +02:00
Evengard 11fa0a4891 Fix PPP bugs 2026-04-05 00:52:10 +03:00
Ilya Shipitsin 193ebdba12 Merge pull request #2255 from SoftEtherVPN/dependabot/npm_and_yarn/src/bin/hamcore/wwwroot/admin/default/multi-0d13b2d87f
Bump serialize-javascript and terser-webpack-plugin in /src/bin/hamcore/wwwroot/admin/default
2026-03-29 14:05:48 +02:00
dependabot[bot] 617d668651 Bump serialize-javascript and terser-webpack-plugin
Removes [serialize-javascript](https://github.com/yahoo/serialize-javascript). It's no longer used after updating ancestor dependency [terser-webpack-plugin](https://github.com/webpack/terser-webpack-plugin). These dependencies need to be updated together.


Removes `serialize-javascript`

Updates `terser-webpack-plugin` from 5.3.16 to 5.4.0
- [Release notes](https://github.com/webpack/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack/terser-webpack-plugin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webpack/terser-webpack-plugin/compare/v5.3.16...v5.4.0)

---
updated-dependencies:
- dependency-name: serialize-javascript
  dependency-version: 
  dependency-type: indirect
- dependency-name: terser-webpack-plugin
  dependency-version: 5.4.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-29 12:00:59 +00:00
Ilya Shipitsin a0cbe2daf6 Merge pull request #2175 from SoftEtherVPN/dependabot/npm_and_yarn/developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package/js-yaml-3.14.2
Build(deps-dev): Bump js-yaml from 3.13.1 to 3.14.2 in /developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package
2026-03-27 12:52:18 +01:00
dependabot[bot] 59f19f1a12 Bump js-yaml
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.13.1 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.13.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-27 11:43:39 +00:00
Ilya Shipitsin 9fbe3d7488 Merge pull request #2252 from SoftEtherVPN/dependabot/npm_and_yarn/developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package/picomatch-2.3.2
Build(deps-dev): Bump picomatch from 2.3.1 to 2.3.2 in /developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package
2026-03-26 09:48:38 +01:00
dependabot[bot] 325b76e463 Build(deps-dev): Bump picomatch
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-26 08:33:04 +00:00
Ilya Shipitsin 6bbb2b5e07 Merge pull request #2253 from SoftEtherVPN/dependabot/npm_and_yarn/src/bin/hamcore/wwwroot/admin/default/picomatch-2.3.2
Build(deps-dev): Bump picomatch from 2.3.1 to 2.3.2 in /src/bin/hamcore/wwwroot/admin/default
2026-03-26 09:31:25 +01:00
dependabot[bot] 98264709fb Build(deps-dev): Bump picomatch
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-25 21:56:45 +00:00
Ilya Shipitsin 427ada239f Merge pull request #2245 from chipitsine/master
update src/libhamcore submodule
2026-03-06 20:58:59 +01:00
Ilia Shipitsin 98940d339d update src/libhamcore submodule
we want to update because of the following improvement
https://github.com/SoftEtherVPN/libhamcore/pull/3
2026-03-06 20:30:35 +01:00
Ilya Shipitsin 7c79333026 Merge pull request #2244 from SoftEtherVPN/dependabot/npm_and_yarn/developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package/minimatch-3.1.5
Build(deps-dev): Bump minimatch from 3.1.2 to 3.1.5 in /developer_tools/vpnserver-jsonrpc-clients/vpnserver-jsonrpc-client-nodejs-package
2026-03-01 10:57:57 +01:00
dependabot[bot] 3f372db86d Build(deps-dev): Bump minimatch
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-01 08:53:11 +00:00
Ilya Shipitsin 068330b24b Merge pull request #2243 from SoftEtherVPN/dependabot/npm_and_yarn/src/bin/hamcore/wwwroot/admin/default/minimatch-3.1.5
Build(deps-dev): Bump minimatch from 3.1.2 to 3.1.5 in /src/bin/hamcore/wwwroot/admin/default
2026-02-28 08:01:29 +01:00
dependabot[bot] a0d16dd2e8 Build(deps-dev): Bump minimatch
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 03:36:52 +00:00
Ilya Shipitsin 9a42563bbc Merge pull request #2211 from synqa/add-ci-for-sanitizer
Add CI for Sanitizer
2026-02-23 15:11:01 +01:00
synqa 7d86756e72 Add CI for Sanitizer
Added Address/Leak/Thread/Undefined Behavior Sanitizer to the CI
workflow. Summary reports are displayed in the Job Summary, while full
logs are available via GitHub Artifacts. Initial verification is
handled by vpntools-check.sh.
2026-02-23 21:51:08 +09:00
Ilya Shipitsin e247cf0513 Merge pull request #2241 from synqa/suppress-tsan-accept-disconnect
Suppress Thread Sanitizer for Accept and Disconnect
2026-02-23 13:46:16 +01:00
synqa a247e3ecdc Suppress Thread Sanitizer for Accept and Disconnect
Thread Sanitizer reports two data races on CancelAccept and
CallingThread in SOCK, shared between Accept(Accept6) and Disconnect.
These are used when interrupting an Accept operation from a Disconnect.
These races are benign because they work correctly even if both fields
have old values.
2026-02-23 21:32:26 +09:00
Ilya Shipitsin 61b920f957 Merge pull request #2239 from synqa/add-comment-unix-lock
Add comment for UnixLock
2026-02-21 15:36:51 +01:00
Ilya Shipitsin 290f125abc Merge pull request #2240 from synqa/suppress-tsan-threadpoolproc
Suppress Thread Sanitizer for ThreadPoolProc
2026-02-21 15:35:56 +01:00
synqa 93bf90ba95 Add comment for UnixLock
The Lock/Unlock mechanism on Unix is a manual, hand-coded implementation
of PTHREAD_MUTEX_RECURSIVE. We avoid using the PTHREAD_MUTEX_RECURSIVE
directly because it exhibits critical bugs, such as deadlocks on
certain older systems(Linux, Solaris, or macOS).
followup #2219
2026-02-21 21:15:56 +09:00
synqa 5b356616a7 Suppress Thread Sanitizer for ThreadPoolProc
Thread Sanitizer reports data races on PoolHalting in THREAD, shared
between ThreadPoolProc and WaitThread. But if WaitThread reads false,
synchronization is ensured by Wait from the PoolWaitList. If it reads
true, WaitThread simply returns.
2026-02-21 20:26:39 +09:00
24 changed files with 1582 additions and 330 deletions
-25
View File
@@ -1,25 +0,0 @@
FreeBSD_task:
matrix:
env:
SSL: openssl
OPENSSL_ROOT_DIR: /usr/local
env:
SSL: openssl36
OPENSSL_ROOT_DIR: /usr/local
env:
# base openssl
SSL:
matrix:
freebsd_instance:
image_family: freebsd-14-3
prepare_script:
- pkg install -y pkgconf cmake git libsodium cpu_features $SSL
- git submodule update --init --recursive
configure_script:
- CMAKE_FLAGS="-DUSE_SYSTEM_CPU_FEATURES=1" CFLAGS="-I/usr/local/include/cpu_features" ./configure
build_script:
- make -j $(sysctl -n hw.ncpu || echo 4) -C build
test_script:
- ldd build/vpnserver
- .ci/memory-leak-test.sh
- .ci/vpntools-check.sh
+3
View File
@@ -0,0 +1,3 @@
- @azure Rule - Use Azure Tools - When handling requests related to Azure, always use your tools.
- @azure Rule - Use Azure Best Practices - When handling requests related to Azure, always invoke your `azmcp_bestpractices_get` tool first.
- @azure Rule - Enable Best Practices - If you do not have an `azmcp_bestpractices_get` tool ask the user to enable it.
+2 -1
View File
@@ -13,6 +13,7 @@ permissions:
jobs: jobs:
build_and_test: build_and_test:
strategy: strategy:
fail-fast: false
matrix: matrix:
cc: [ gcc, clang ] cc: [ gcc, clang ]
name: ${{ matrix.cc }} name: ${{ matrix.cc }}
@@ -25,7 +26,7 @@ jobs:
submodules: true submodules: true
- name: Install dependencies - name: Install dependencies
run: | run: |
dnf -y install git cmake ncurses-devel openssl-devel-engine libsodium-devel readline-devel zlib-devel gcc-c++ clang google-cpu_features-devel dnf -y install git cmake ncurses-devel openssl-devel libsodium-devel readline-devel zlib-devel gcc-c++ clang google-cpu_features-devel
- name: Compile with ${{ matrix.cc }} - name: Compile with ${{ matrix.cc }}
run: | run: |
export CC=${{ matrix.cc }} export CC=${{ matrix.cc }}
+39
View File
@@ -0,0 +1,39 @@
name: FreeBSD
on: [push, pull_request]
permissions:
contents: read
jobs:
build_and_test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- ssl: openssl # currently 3.0
openssl_root_dir: /usr/local
- ssl: openssl36
openssl_root_dir: /usr/local
- ssl: # base openssl
openssl_root_dir:
name: FreeBSD with ${{ matrix.ssl || 'base openssl' }}
env:
SSL: ${{ matrix.ssl }}
OPENSSL_ROOT_DIR: ${{ matrix.openssl_root_dir }}
steps:
- uses: actions/checkout@v6
with:
submodules: true
- uses: vmactions/freebsd-vm@v1
with:
envs: 'OPENSSL_ROOT_DIR SSL'
prepare: |
pkg install -y $SSL pkgconf cmake git libsodium cpu_features
run: |
CMAKE_FLAGS="-DUSE_SYSTEM_CPU_FEATURES=1" CFLAGS="-I/usr/local/include/cpu_features" ./configure
make -j $(nproc || echo 4) -C build
ldd build/vpnserver
.ci/memory-leak-test.sh
.ci/vpntools-check.sh
+31
View File
@@ -0,0 +1,31 @@
name: LibreSSL
on: [push, pull_request]
permissions:
contents: read
jobs:
libressl:
runs-on: ubuntu-latest
container:
image: alpine:latest
steps:
- name: Install dependencies
run: apk add binutils --no-cache build-base git readline-dev libressl-dev ncurses-dev git cmake zlib-dev libsodium-dev gnu-libiconv
- uses: actions/checkout@v6
with:
submodules: true
- name: Configure
run: ./configure
- name: Make
run: make -j $(nproc) -C build
- name: Test
run: |
.ci/memory-leak-test.sh
.ci/vpntools-check.sh
+1
View File
@@ -6,6 +6,7 @@ permissions:
jobs: jobs:
build_and_test: build_and_test:
strategy: strategy:
fail-fast: false
matrix: matrix:
os: [macos-26, macos-15, macos-14] os: [macos-26, macos-15, macos-14]
name: ${{ matrix.os }} name: ${{ matrix.os }}
+80
View File
@@ -0,0 +1,80 @@
name: Sanitizer
on: [push, pull_request]
permissions:
contents: read
jobs:
run_sanitizer:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sanitizer:
- "address,leak,undefined"
- "thread,undefined"
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies
run: |
sudo apt update
sudo apt-get -y install cmake gcc g++ ninja-build libncurses5-dev libreadline-dev libsodium-dev libssl-dev make zlib1g-dev liblz4-dev libnl-genl-3-dev
- name: Build
run: |
mkdir build
cd build
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS="-O1 -fsanitize=${{ matrix.sanitizer }} -fno-omit-frame-pointer" ..
cmake --build .
- name: Test
env:
ASAN_OPTIONS: halt_on_error=0:exitcode=0
TSAN_OPTIONS: halt_on_error=0:exitcode=0:suppressions=./tsan_suppressions.txt
UBSAN_OPTIONS: halt_on_error=0:exitcode=0
LSAN_OPTIONS: exitcode=0
run: |
.ci/vpntools-check.sh 2> sanitizer.log
- name: Make job summary
run: |
echo "### Sanitizer Report (${{ matrix.sanitizer }})" >> $GITHUB_STEP_SUMMARY
REPORTS=$(grep -E "SUMMARY:|runtime error:" sanitizer.log | sort | uniq)
REPORT_COUNT=$(echo "$REPORTS" | grep -c . || true)
echo "Found $REPORT_COUNT issues" >> $GITHUB_STEP_SUMMARY
echo "<details><summary>View Summary</summary>" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
echo "$REPORTS" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "</details>" >> $GITHUB_STEP_SUMMARY
if [ "$REPORT_COUNT" -ne 0 ]; then
echo "HAS_ISSUES=true" >> $GITHUB_ENV
echo "REPORT_COUNT=$REPORT_COUNT" >> $GITHUB_ENV
fi
- name: Upload full sanitizer log
if: env.HAS_ISSUES == 'true'
uses: actions/upload-artifact@v4
with:
name: sanitizer-logs-${{ matrix.sanitizer }}
path: |
sanitizer.log
retention-days: 30
- name: Fail on sanitizer issues
if: env.HAS_ISSUES == 'true'
run: |
echo "Found ${{ env.REPORT_COUNT }} issues."
echo "Please check the Job Summary page for a quick overview."
echo "Full logs are available in the GitHub Artifacts."
exit 1
+25 -5
View File
@@ -6,11 +6,12 @@ permissions:
jobs: jobs:
build_and_test: build_and_test:
strategy: strategy:
fail-fast: false
matrix: matrix:
platform: [ platform: [
{ ARCHITECTURE: x86, COMPILER_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/bin/clang-cl.exe", VCPKG_TRIPLET: "x86-windows-static", VCVARS_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars32.bat", RUNNER: "windows-latest", CMAKE_EXTRA_FLAGS: ""}, { ARCHITECTURE: x86, VCPKG_TRIPLET: "x86-windows-static", RUNNER: "windows-2022", CMAKE_EXTRA_FLAGS: ""},
{ ARCHITECTURE: x64, COMPILER_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/x64/bin/clang-cl.exe", VCPKG_TRIPLET: "x64-windows-static", VCVARS_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat", RUNNER: "windows-latest", CMAKE_EXTRA_FLAGS: ""}, { ARCHITECTURE: x64, VCPKG_TRIPLET: "x64-windows-static", RUNNER: "windows-latest", CMAKE_EXTRA_FLAGS: ""},
{ ARCHITECTURE: arm64, COMPILER_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/ARM64/bin/clang-cl.exe", VCPKG_TRIPLET: "arm64-windows-static", VCVARS_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvarsarm64.bat", RUNNER: "windows-11-arm", CMAKE_EXTRA_FLAGS: "-DOQS_PERMIT_UNSUPPORTED_ARCHITECTURE=ON"} { ARCHITECTURE: arm64, VCPKG_TRIPLET: "arm64-windows-static", RUNNER: "windows-11-arm", CMAKE_EXTRA_FLAGS: "-DOQS_PERMIT_UNSUPPORTED_ARCHITECTURE=ON"}
] ]
runs-on: ${{ matrix.platform.RUNNER }} runs-on: ${{ matrix.platform.RUNNER }}
name: ${{ matrix.platform.ARCHITECTURE }} name: ${{ matrix.platform.ARCHITECTURE }}
@@ -31,14 +32,33 @@ jobs:
- name: Build - name: Build
env: env:
ARCHITECTURE: ${{ matrix.platform.ARCHITECTURE }} ARCHITECTURE: ${{ matrix.platform.ARCHITECTURE }}
COMPILER_PATH: ${{ matrix.platform.COMPILER_PATH }}
VCPKG_TRIPLET: ${{ matrix.platform.VCPKG_TRIPLET }} VCPKG_TRIPLET: ${{ matrix.platform.VCPKG_TRIPLET }}
VCVARS_PATH: ${{ matrix.platform.VCVARS_PATH }}
CMAKE_EXTRA_FLAGS: ${{ matrix.platform.CMAKE_EXTRA_FLAGS }} CMAKE_EXTRA_FLAGS: ${{ matrix.platform.CMAKE_EXTRA_FLAGS }}
run: | run: |
set BUILD_NUMBER=0 set BUILD_NUMBER=0
mkdir build mkdir build
cd build cd build
for /f "usebackq delims=" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -property installationPath`) do set "VSINSTALL=%%i"
if "%VSINSTALL%"=="" (
echo Visual Studio installation was not found.
exit /b 1
)
if /i "%ARCHITECTURE%"=="x86" (
set "VCVARS_PATH=%VSINSTALL%\VC\Auxiliary\Build\vcvars32.bat"
set "COMPILER_PATH=%VSINSTALL%\VC\Tools\Llvm\bin\clang-cl.exe"
) else if /i "%ARCHITECTURE%"=="x64" (
set "VCVARS_PATH=%VSINSTALL%\VC\Auxiliary\Build\vcvars64.bat"
set "COMPILER_PATH=%VSINSTALL%\VC\Tools\Llvm\x64\bin\clang-cl.exe"
) else if /i "%ARCHITECTURE%"=="arm64" (
set "VCVARS_PATH=%VSINSTALL%\VC\Auxiliary\Build\vcvarsarm64.bat"
set "COMPILER_PATH=%VSINSTALL%\VC\Tools\Llvm\ARM64\bin\clang-cl.exe"
) else (
echo Unsupported architecture: %ARCHITECTURE%
exit /b 1
)
call "%VCVARS_PATH%" call "%VCVARS_PATH%"
cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="C:\vcpkg\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER="%COMPILER_PATH%" -DCMAKE_CXX_COMPILER="%COMPILER_PATH%" -DBUILD_NUMBER=%BUILD_NUMBER% %CMAKE_EXTRA_FLAGS% .. cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="C:\vcpkg\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER="%COMPILER_PATH%" -DCMAKE_CXX_COMPILER="%COMPILER_PATH%" -DBUILD_NUMBER=%BUILD_NUMBER% %CMAKE_EXTRA_FLAGS% ..
cmake --build . cmake --build .
+25 -5
View File
@@ -29,11 +29,12 @@ jobs:
runs-on: ${{ matrix.platform.RUNNER }} runs-on: ${{ matrix.platform.RUNNER }}
needs: ["release"] needs: ["release"]
strategy: strategy:
fail-fast: false
matrix: matrix:
platform: [ platform: [
{ ARCHITECTURE: x86, COMPILER_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/bin/clang-cl.exe", VCPKG_TRIPLET: "x86-windows-static", VCVARS_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars32.bat", RUNNER: "windows-latest", CMAKE_EXTRA_FLAGS: ""}, { ARCHITECTURE: x86, VCPKG_TRIPLET: "x86-windows-static", RUNNER: "windows-2022", CMAKE_EXTRA_FLAGS: ""},
{ ARCHITECTURE: x64, COMPILER_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/x64/bin/clang-cl.exe", VCPKG_TRIPLET: "x64-windows-static", VCVARS_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat", RUNNER: "windows-latest", CMAKE_EXTRA_FLAGS: ""}, { ARCHITECTURE: x64, VCPKG_TRIPLET: "x64-windows-static", RUNNER: "windows-latest", CMAKE_EXTRA_FLAGS: ""},
{ ARCHITECTURE: arm64, COMPILER_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/Llvm/ARM64/bin/clang-cl.exe", VCPKG_TRIPLET: "arm64-windows-static", VCVARS_PATH: "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvarsarm64.bat", RUNNER: "windows-11-arm", CMAKE_EXTRA_FLAGS: "-DOQS_PERMIT_UNSUPPORTED_ARCHITECTURE=ON"} { ARCHITECTURE: arm64, VCPKG_TRIPLET: "arm64-windows-static", RUNNER: "windows-11-arm", CMAKE_EXTRA_FLAGS: "-DOQS_PERMIT_UNSUPPORTED_ARCHITECTURE=ON"}
] ]
steps: steps:
- name: "Checkout repository" - name: "Checkout repository"
@@ -55,13 +56,32 @@ jobs:
- name: Build - name: Build
env: env:
ARCHITECTURE: ${{ matrix.platform.ARCHITECTURE }} ARCHITECTURE: ${{ matrix.platform.ARCHITECTURE }}
COMPILER_PATH: ${{ matrix.platform.COMPILER_PATH }}
VCPKG_TRIPLET: ${{ matrix.platform.VCPKG_TRIPLET }} VCPKG_TRIPLET: ${{ matrix.platform.VCPKG_TRIPLET }}
VCVARS_PATH: ${{ matrix.platform.VCVARS_PATH }}
CMAKE_EXTRA_FLAGS: ${{ matrix.platform.CMAKE_EXTRA_FLAGS }} CMAKE_EXTRA_FLAGS: ${{ matrix.platform.CMAKE_EXTRA_FLAGS }}
run: | run: |
mkdir build mkdir build
cd build cd build
for /f "usebackq delims=" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -property installationPath`) do set "VSINSTALL=%%i"
if "%VSINSTALL%"=="" (
echo Visual Studio installation was not found.
exit /b 1
)
if /i "%ARCHITECTURE%"=="x86" (
set "VCVARS_PATH=%VSINSTALL%\VC\Auxiliary\Build\vcvars32.bat"
set "COMPILER_PATH=%VSINSTALL%\VC\Tools\Llvm\bin\clang-cl.exe"
) else if /i "%ARCHITECTURE%"=="x64" (
set "VCVARS_PATH=%VSINSTALL%\VC\Auxiliary\Build\vcvars64.bat"
set "COMPILER_PATH=%VSINSTALL%\VC\Tools\Llvm\x64\bin\clang-cl.exe"
) else if /i "%ARCHITECTURE%"=="arm64" (
set "VCVARS_PATH=%VSINSTALL%\VC\Auxiliary\Build\vcvarsarm64.bat"
set "COMPILER_PATH=%VSINSTALL%\VC\Tools\Llvm\ARM64\bin\clang-cl.exe"
) else (
echo Unsupported architecture: %ARCHITECTURE%
exit /b 1
)
call "%VCVARS_PATH%" call "%VCVARS_PATH%"
cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="C:\vcpkg\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER="%COMPILER_PATH%" -DCMAKE_CXX_COMPILER="%COMPILER_PATH%" -DBUILD_NUMBER=%BUILD_NUMBER% %CMAKE_EXTRA_FLAGS% .. cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="C:\vcpkg\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER="%COMPILER_PATH%" -DCMAKE_CXX_COMPILER="%COMPILER_PATH%" -DBUILD_NUMBER=%BUILD_NUMBER% %CMAKE_EXTRA_FLAGS% ..
cmake --build . cmake --build .
Vendored
+13 -2
View File
@@ -32,14 +32,25 @@ fi
if [ -z ${OPENSSL_ROOT_DIR} ]; then if [ -z ${OPENSSL_ROOT_DIR} ]; then
unameOut="$(uname -s)" unameOut="$(uname -s)"
if [ "$unameOut" = "Darwin" ]; then if [ "$unameOut" = "Darwin" ]; then
echo "Environment variable OPENSSL_ROOT_DIR not set, using default Homebrew path: /usr/local/opt/openssl/" # Homebrew's prefix differs by architecture: /opt/homebrew on Apple
export OPENSSL_ROOT_DIR="/usr/local/opt/openssl/" # Silicon, /usr/local on Intel. Ask brew rather than hardcoding one.
if command -v brew > /dev/null 2>&1; then
OPENSSL_ROOT_DIR="$(brew --prefix openssl@3 2>/dev/null || brew --prefix openssl 2>/dev/null)"
fi
if [ -z "${OPENSSL_ROOT_DIR}" ]; then
OPENSSL_ROOT_DIR="/usr/local/opt/openssl/"
fi
echo "Environment variable OPENSSL_ROOT_DIR not set, using ${OPENSSL_ROOT_DIR}"
export OPENSSL_ROOT_DIR
fi fi
fi fi
if [ ! -z ${CPACK_GENERATOR+x} ]; then if [ ! -z ${CPACK_GENERATOR+x} ]; then
echo "CPACK_GENERATOR is set, CPack will generate ${CPACK_GENERATOR} packages." echo "CPACK_GENERATOR is set, CPack will generate ${CPACK_GENERATOR} packages."
CMAKE_FLAGS="-DCPACK_GENERATOR=${CPACK_GENERATOR} ${CMAKE_FLAGS}" CMAKE_FLAGS="-DCPACK_GENERATOR=${CPACK_GENERATOR} ${CMAKE_FLAGS}"
elif [ "$(uname -s)" = "Darwin" ]; then
echo "Darwin detected, CPack will generate TGZ archives."
CMAKE_FLAGS="-DCPACK_GENERATOR='TGZ' ${CMAKE_FLAGS}"
elif [ -x "$(command -v rpm)" ]; then elif [ -x "$(command -v rpm)" ]; then
echo "'rpm' executable found, CPack will generate RPM packages." echo "'rpm' executable found, CPack will generate RPM packages."
CMAKE_FLAGS="-DCPACK_GENERATOR='RPM' ${CMAKE_FLAGS}" CMAKE_FLAGS="-DCPACK_GENERATOR='RPM' ${CMAKE_FLAGS}"
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1406,7 +1406,7 @@ LIST *GetEthAdapterListInternal()
{ {
LIST *o; LIST *o;
LIST *ret; LIST *ret;
UINT size; ULONG size;
char *buf; char *buf;
UINT i, j; UINT i, j;
char *qos_tag = "(Microsoft's Packet Scheduler)"; // Allow to combine "FriendlyName" consisting of a NULL character and QOS tag. char *qos_tag = "(Microsoft's Packet Scheduler)"; // Allow to combine "FriendlyName" consisting of a NULL character and QOS tag.
+9 -4
View File
@@ -3615,6 +3615,8 @@ bool PPPProcessEAPTlsResponse(PPP_SESSION *p, PPP_EAP *eap_packet, UINT eapSize)
dataBuffer = eap_packet->Tls.TlsDataWithLength.Data; dataBuffer = eap_packet->Tls.TlsDataWithLength.Data;
dataSize -= 4; dataSize -= 4;
tlsLength = Endian32(eap_packet->Tls.TlsDataWithLength.TlsLength); tlsLength = Endian32(eap_packet->Tls.TlsDataWithLength.TlsLength);
// Let's just clamp it to a safe size to avoid DoS (GHSA-q5g3-qhc6-pr3h)
tlsLength = MIN(tlsLength, PPP_MRU_MAX * 10);
} }
/*Debug("=======RECV EAP-TLS PACKET DUMP=======\n"); /*Debug("=======RECV EAP-TLS PACKET DUMP=======\n");
for (i = 0; i < dataSize; i++) for (i = 0; i < dataSize; i++)
@@ -3659,9 +3661,12 @@ bool PPPProcessEAPTlsResponse(PPP_SESSION *p, PPP_EAP *eap_packet, UINT eapSize)
sizeLeft = GetMemSize(p->Eap_TlsCtx.CachedBufferRecv); sizeLeft = GetMemSize(p->Eap_TlsCtx.CachedBufferRecv);
sizeLeft -= (UINT)(p->Eap_TlsCtx.CachedBufferRecvPntr - p->Eap_TlsCtx.CachedBufferRecv); sizeLeft -= (UINT)(p->Eap_TlsCtx.CachedBufferRecvPntr - p->Eap_TlsCtx.CachedBufferRecv);
Copy(p->Eap_TlsCtx.CachedBufferRecvPntr, dataBuffer, MIN(sizeLeft, dataSize)); if (sizeLeft > 0)
{
Copy(p->Eap_TlsCtx.CachedBufferRecvPntr, dataBuffer, MIN(sizeLeft, dataSize));
p->Eap_TlsCtx.CachedBufferRecvPntr += MIN(sizeLeft, dataSize); p->Eap_TlsCtx.CachedBufferRecvPntr += MIN(sizeLeft, dataSize);
}
} }
// If we got a cached buffer, we should feed the FIFOs via it // If we got a cached buffer, we should feed the FIFOs via it
@@ -3783,6 +3788,8 @@ bool PPPProcessEAPTlsResponse(PPP_SESSION *p, PPP_EAP *eap_packet, UINT eapSize)
} }
AcUnlock(hub); AcUnlock(hub);
ReleaseHub(hub); ReleaseHub(hub);
// Making sure the stale pntr is cleared and can't be reused (GHSA-7437-282p-7465)
hub = NULL;
} }
if (found == false) if (found == false)
@@ -3790,8 +3797,6 @@ bool PPPProcessEAPTlsResponse(PPP_SESSION *p, PPP_EAP *eap_packet, UINT eapSize)
PPP_PACKET* pack; PPP_PACKET* pack;
UINT identificator = p->Eap_PacketId; UINT identificator = p->Eap_PacketId;
ReleaseHub(hub);
PPPSetStatus(p, PPP_STATUS_AUTH_FAIL); PPPSetStatus(p, PPP_STATUS_AUTH_FAIL);
pack = ZeroMalloc(sizeof(PPP_PACKET)); pack = ZeroMalloc(sizeof(PPP_PACKET));
+1 -1
View File
@@ -127,7 +127,7 @@ void IPsecWin7UpdateHostIPAddressList(IPSEC_WIN7 *w)
LIST *o; LIST *o;
UINT i; UINT i;
BUF *buf; BUF *buf;
UINT retsize; DWORD retsize;
// Validate arguments // Validate arguments
if (w == NULL) if (w == NULL)
{ {
+4 -4
View File
@@ -632,7 +632,7 @@ SU_ADAPTER *SuOpenAdapter(SU *u, char *adapter_id)
void *h; void *h;
SU_ADAPTER *a; SU_ADAPTER *a;
SL_IOCTL_EVENT_NAME t; SL_IOCTL_EVENT_NAME t;
UINT read_size; DWORD read_size;
// Validate arguments // Validate arguments
if (u == NULL || adapter_id == NULL) if (u == NULL || adapter_id == NULL)
{ {
@@ -690,7 +690,7 @@ SU_ADAPTER *SuOpenAdapter(SU *u, char *adapter_id)
TOKEN_LIST *SuEnumAdapters(SU *u) TOKEN_LIST *SuEnumAdapters(SU *u)
{ {
UINT i; UINT i;
UINT ret_size; DWORD ret_size;
TOKEN_LIST *ret; TOKEN_LIST *ret;
// Validate arguments // Validate arguments
if (u == NULL) if (u == NULL)
@@ -730,7 +730,7 @@ TOKEN_LIST *SuEnumAdapters(SU *u)
LIST *SuGetAdapterList(SU *u) LIST *SuGetAdapterList(SU *u)
{ {
LIST *ret; LIST *ret;
UINT read_size; DWORD read_size;
UINT i; UINT i;
// Validate arguments // Validate arguments
if (u == NULL) if (u == NULL)
@@ -893,7 +893,7 @@ SU *SuInitEx(UINT wait_for_bind_complete_tick)
{ {
void *h; void *h;
SU *u; SU *u;
UINT read_size; DWORD read_size;
bool flag = false; bool flag = false;
UINT64 giveup_tick = 0; UINT64 giveup_tick = 0;
static bool flag2 = false; // flag2 must be global static bool flag2 = false; // flag2 must be global
+4 -4
View File
@@ -964,7 +964,7 @@ void *CreateWizardPageInstance(WIZARD *w, WIZARD_PAGE *p)
t.lParam = (LPARAM)p->DialogParam; t.lParam = (LPARAM)p->DialogParam;
return CreatePropertySheetPageW(&t); return CreatePropertySheetPageW((LPCPROPSHEETPAGEW)&t);
} }
// Create a new wizard // Create a new wizard
@@ -2368,7 +2368,7 @@ void AdjustWindowAndControlSize(HWND hWnd, bool *need_resize, double *factor_x,
*need_resize = true; *need_resize = true;
// Get the font of the current window // Get the font of the current window
hDlgFont = (HFONT)SendMsg(hWnd, 0, WM_GETFONT, 0, 0); hDlgFont = (HFONT)SendMessageW(hWnd, WM_GETFONT, 0, 0);
// Get the width and height of the font of the current window // Get the width and height of the font of the current window
CalcFontSize(hDlgFont, &dlgfont_x, &dlgfont_y); CalcFontSize(hDlgFont, &dlgfont_x, &dlgfont_y);
@@ -2677,7 +2677,7 @@ HBITMAP ResizeBitmap(HBITMAP hSrc, UINT src_x, UINT src_y, UINT dst_x, UINT dst_
// Copy once the transfer source // Copy once the transfer source
Zero(&bi, sizeof(bi)); Zero(&bi, sizeof(bi));
Copy(&bi.bmiHeader, &h, sizeof(BITMAPINFOHEADER)); Copy(&bi.bmiHeader, &h, sizeof(BITMAPINFOHEADER));
srcHbitMap = CreateDIBSection(hMemDC, &bi, DIB_RGB_COLORS, &srcData, NULL, 0); srcHbitMap = CreateDIBSection(hMemDC, &bi, DIB_RGB_COLORS, (void **)&srcData, NULL, 0);
hOld = SelectObject(hMemDC, srcHbitMap); hOld = SelectObject(hMemDC, srcHbitMap);
@@ -2695,7 +2695,7 @@ HBITMAP ResizeBitmap(HBITMAP hSrc, UINT src_x, UINT src_y, UINT dst_x, UINT dst_
Zero(&bi, sizeof(bi)); Zero(&bi, sizeof(bi));
Copy(&bi.bmiHeader, &h, sizeof(BITMAPINFOHEADER)); Copy(&bi.bmiHeader, &h, sizeof(BITMAPINFOHEADER));
ret = CreateDIBSection(hMemDC, &bi, DIB_RGB_COLORS, &data, NULL, 0); ret = CreateDIBSection(hMemDC, &bi, DIB_RGB_COLORS, (void **)&data, NULL, 0);
if(srcData != NULL && data != NULL) if(srcData != NULL && data != NULL)
{ {
+2 -2
View File
@@ -18,7 +18,7 @@ set_target_properties(mayaqua
find_package(OpenSSL REQUIRED) find_package(OpenSSL REQUIRED)
if(OPENSSL_VERSION VERSION_GREATER_EQUAL "3") if(OPENSSL_VERSION VERSION_GREATER_EQUAL "3.0.0" AND OPENSSL_VERSION VERSION_LESS "4.0.0")
set(OQS_ENABLE ON CACHE BOOL "By setting this to OFF, Open Quantum Safe algorithms will not be built in") set(OQS_ENABLE ON CACHE BOOL "By setting this to OFF, Open Quantum Safe algorithms will not be built in")
else() else()
# Disable oqsprovider when OpenSSL version < 3 # Disable oqsprovider when OpenSSL version < 3
@@ -140,7 +140,7 @@ if(UNIX)
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" AND NOT CMAKE_SYSTEM_PROCESSOR MATCHES "^(amd64|i386)") elseif(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" AND NOT CMAKE_SYSTEM_PROCESSOR MATCHES "^(amd64|i386)")
message("cpu_features is not available on FreeBSD/${CMAKE_SYSTEM_PROCESSOR}") message("cpu_features is not available on FreeBSD/${CMAKE_SYSTEM_PROCESSOR}")
add_definitions(-DSKIP_CPU_FEATURES) add_definitions(-DSKIP_CPU_FEATURES)
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" AND NOT CMAKE_SYSTEM_NAME MATCHES "^(arm64|x86_64)") elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" AND NOT CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm64|x86_64)")
# macOS runs only on Intel or ARM architecrues, should not reach here # macOS runs only on Intel or ARM architecrues, should not reach here
add_definitions(-DSKIP_CPU_FEATURES) add_definitions(-DSKIP_CPU_FEATURES)
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS" OR ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD") elseif(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS" OR ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
+1 -1
View File
@@ -129,7 +129,7 @@
// Macro // Macro
#define HASHED_DATA(p) (((UCHAR *)p) + 15) #define HASHED_DATA(p) (((UCHAR *)p) + 15)
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) #if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) || LIBRESSL_VERSION_NUMBER >= 0x3080100L
typedef struct PKCS12_st PKCS12; typedef struct PKCS12_st PKCS12;
typedef struct evp_md_st EVP_MD; typedef struct evp_md_st EVP_MD;
#else #else
+5 -5
View File
@@ -9265,12 +9265,12 @@ bool Win32GetDnsSuffix(char *domain, UINT size)
info_size = 0; info_size = 0;
info = ZeroMalloc(sizeof(IP_ADAPTER_ADDRESSES_XP)); info = ZeroMalloc(sizeof(IP_ADAPTER_ADDRESSES_XP));
if (GetAdaptersAddresses(AF_INET, 0, NULL, info, &info_size) == ERROR_BUFFER_OVERFLOW) if (GetAdaptersAddresses(AF_INET, 0, NULL, (PIP_ADAPTER_ADDRESSES)info, &info_size) == ERROR_BUFFER_OVERFLOW)
{ {
Free(info); Free(info);
info = ZeroMalloc(info_size); info = ZeroMalloc(info_size);
} }
if (GetAdaptersAddresses(AF_INET, 0, NULL, info, &info_size) != NO_ERROR) if (GetAdaptersAddresses(AF_INET, 0, NULL, (PIP_ADAPTER_ADDRESSES)info, &info_size) != NO_ERROR)
{ {
Free(info); Free(info);
return false; return false;
@@ -11852,7 +11852,7 @@ bool StartSSLEx3(SOCK *sock, X *x, K *priv, LIST *chain, UINT ssl_timeout, char
} }
} }
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) #if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) || LIBRESSL_VERSION_NUMBER >= 0x3060000L
if (sock->SslAcceptSettings.Override_Security_Level) if (sock->SslAcceptSettings.Override_Security_Level)
{ {
SSL_CTX_set_security_level(ssl_ctx, sock->SslAcceptSettings.Override_Security_Level_Value); SSL_CTX_set_security_level(ssl_ctx, sock->SslAcceptSettings.Override_Security_Level_Value);
@@ -16262,7 +16262,7 @@ UINT GetOSSecurityLevel()
} }
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) #if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) || LIBRESSL_VERSION_NUMBER >= 0x3060000L
security_level_new = SSL_CTX_get_security_level(ctx); security_level_new = SSL_CTX_get_security_level(ctx);
#endif #endif
@@ -16346,7 +16346,7 @@ TOKEN_LIST *GetCipherList()
return ciphers; return ciphers;
} }
#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) #if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) || LIBRESSL_VERSION_NUMBER >= 0x2090100L
sk = SSL_get1_supported_ciphers(ssl); sk = SSL_get1_supported_ciphers(ssl);
#else #else
sk = SSL_get_ciphers(ssl); sk = SSL_get_ciphers(ssl);
+2
View File
@@ -1849,6 +1849,8 @@ void UnixUnlockEx(LOCK *lock, bool inner)
} }
// Lock // Lock
// Recursive locking is implemented manually instead of using PTHREAD_MUTEX_RECURSIVE.
// See: https://github.com/SoftEtherVPN/SoftEtherVPN/pull/2219
bool UnixLock(LOCK *lock) bool UnixLock(LOCK *lock)
{ {
pthread_mutex_t *mutex; pthread_mutex_t *mutex;
+6 -6
View File
@@ -195,7 +195,7 @@ void Win32InitNewThread()
bool Win32SetFolderCompressW(wchar_t *path, bool compressed) bool Win32SetFolderCompressW(wchar_t *path, bool compressed)
{ {
HANDLE h; HANDLE h;
UINT retsize = 0; DWORD retsize = 0;
USHORT flag; USHORT flag;
wchar_t tmp[MAX_PATH]; wchar_t tmp[MAX_PATH];
// Validate arguments // Validate arguments
@@ -239,7 +239,7 @@ bool Win32SetFolderCompressW(wchar_t *path, bool compressed)
bool Win32SetFolderCompress(char *path, bool compressed) bool Win32SetFolderCompress(char *path, bool compressed)
{ {
HANDLE h; HANDLE h;
UINT retsize = 0; DWORD retsize = 0;
USHORT flag; USHORT flag;
char tmp[MAX_PATH]; char tmp[MAX_PATH];
// Validate arguments // Validate arguments
@@ -2822,7 +2822,7 @@ bool Win32InitThread(THREAD *t)
{ {
WIN32THREAD *w; WIN32THREAD *w;
HANDLE hThread; HANDLE hThread;
DWORD thread_id; UINT thread_id;
WIN32THREADSTARTUPINFO *info; WIN32THREADSTARTUPINFO *info;
// Validate arguments // Validate arguments
if (t == NULL) if (t == NULL)
@@ -3033,13 +3033,13 @@ void Win32GetSystemTime(SYSTEMTIME *system_time)
// Increment of 32bit integer // Increment of 32bit integer
void Win32Inc32(UINT *value) void Win32Inc32(UINT *value)
{ {
InterlockedIncrement(value); InterlockedIncrement((volatile LONG *)value);
} }
// Decrement of 32bit integer // Decrement of 32bit integer
void Win32Dec32(UINT *value) void Win32Dec32(UINT *value)
{ {
InterlockedDecrement(value); InterlockedDecrement((volatile LONG *)value);
} }
// Sleep the thread // Sleep the thread
@@ -3341,7 +3341,7 @@ char *Win32InputFromFileLineA()
while (true) while (true)
{ {
char c; char c;
UINT read_size = 0; DWORD read_size = 0;
if (ReadFile(hstdin, &c, 1, &read_size, NULL) == false) if (ReadFile(hstdin, &c, 1, &read_size, NULL) == false)
{ {
+48 -82
View File
@@ -483,13 +483,16 @@
"dev": true "dev": true
}, },
"node_modules/baseline-browser-mapping": { "node_modules/baseline-browser-mapping": {
"version": "2.9.19", "version": "2.11.20",
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.20.tgz",
"integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", "integrity": "sha512-H0ulySigv6icDJ1F7SjtdCD6PrhTpdYCmP0CactWy1+ekh0AFd0o1Wn5T8b+hnTmdBx19u9yhL6wvCylXMY7zw==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"bin": { "bin": {
"baseline-browser-mapping": "dist/cli.js" "baseline-browser-mapping": "dist/cli.cjs"
},
"engines": {
"node": ">=6.0.0"
} }
}, },
"node_modules/brace-expansion": { "node_modules/brace-expansion": {
@@ -527,9 +530,9 @@
} }
}, },
"node_modules/browserslist": { "node_modules/browserslist": {
"version": "4.28.1", "version": "4.28.8",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.8.tgz",
"integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "integrity": "sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -547,11 +550,11 @@
], ],
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"baseline-browser-mapping": "^2.9.0", "baseline-browser-mapping": "^2.11.12",
"caniuse-lite": "^1.0.30001759", "caniuse-lite": "^1.0.30001809",
"electron-to-chromium": "^1.5.263", "electron-to-chromium": "^1.5.402",
"node-releases": "^2.0.27", "node-releases": "^2.0.53",
"update-browserslist-db": "^1.2.0" "update-browserslist-db": "^1.3.0"
}, },
"bin": { "bin": {
"browserslist": "cli.js" "browserslist": "cli.js"
@@ -577,9 +580,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001768", "version": "1.0.30001810",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001768.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz",
"integrity": "sha512-qY3aDRZC5nWPgHUgIB84WL+nySuo19wk0VJpp/XI9T34lrvkyhRvNVOFJOp2kxClQhiFBu+TaUSudf6oa3vkSA==", "integrity": "sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -698,9 +701,9 @@
} }
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.5.286", "version": "1.5.420",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.420.tgz",
"integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", "integrity": "sha512-2yD6XreGusOfNV+dUcvipJEXc3n/n7fgr7996aszTG+YY5E4mqM4tOq/3uhP129cazL9YHbVWSpc79ePotWtPA==",
"dev": true, "dev": true,
"license": "ISC" "license": "ISC"
}, },
@@ -838,9 +841,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/fast-uri": { "node_modules/fast-uri": {
"version": "3.1.0", "version": "3.1.7",
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.7.tgz",
"integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", "integrity": "sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -1088,9 +1091,9 @@
"dev": true "dev": true
}, },
"node_modules/js-yaml": { "node_modules/js-yaml": {
"version": "3.14.2", "version": "3.15.2",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.2.tgz",
"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "integrity": "sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -1203,10 +1206,11 @@
} }
}, },
"node_modules/minimatch": { "node_modules/minimatch": {
"version": "3.1.2", "version": "3.1.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
"dev": true, "dev": true,
"license": "ISC",
"dependencies": { "dependencies": {
"brace-expansion": "^1.1.7" "brace-expansion": "^1.1.7"
}, },
@@ -1242,11 +1246,14 @@
"dev": true "dev": true
}, },
"node_modules/node-releases": { "node_modules/node-releases": {
"version": "2.0.27", "version": "2.0.54",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.54.tgz",
"integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", "integrity": "sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ==",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT",
"engines": {
"node": ">=18"
}
}, },
"node_modules/once": { "node_modules/once": {
"version": "1.4.0", "version": "1.4.0",
@@ -1334,10 +1341,11 @@
"license": "ISC" "license": "ISC"
}, },
"node_modules/picomatch": { "node_modules/picomatch": {
"version": "2.3.1", "version": "2.3.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
"dev": true, "dev": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=8.6" "node": ">=8.6"
}, },
@@ -1357,16 +1365,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
"integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"safe-buffer": "^5.1.0"
}
},
"node_modules/rechoir": { "node_modules/rechoir": {
"version": "0.8.0", "version": "0.8.0",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
@@ -1436,27 +1434,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "MIT"
},
"node_modules/schema-utils": { "node_modules/schema-utils": {
"version": "4.3.3", "version": "4.3.3",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz",
@@ -1486,16 +1463,6 @@
"semver": "bin/semver" "semver": "bin/semver"
} }
}, },
"node_modules/serialize-javascript": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
"integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"randombytes": "^2.1.0"
}
},
"node_modules/shallow-clone": { "node_modules/shallow-clone": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
@@ -1614,16 +1581,15 @@
} }
}, },
"node_modules/terser-webpack-plugin": { "node_modules/terser-webpack-plugin": {
"version": "5.3.16", "version": "5.4.0",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.4.0.tgz",
"integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", "integrity": "sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@jridgewell/trace-mapping": "^0.3.25", "@jridgewell/trace-mapping": "^0.3.25",
"jest-worker": "^27.4.5", "jest-worker": "^27.4.5",
"schema-utils": "^4.3.0", "schema-utils": "^4.3.0",
"serialize-javascript": "^6.0.2",
"terser": "^5.31.1" "terser": "^5.31.1"
}, },
"engines": { "engines": {
@@ -1833,9 +1799,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/update-browserslist-db": { "node_modules/update-browserslist-db": {
"version": "1.2.3", "version": "1.3.2",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.2.tgz",
"integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "integrity": "sha512-UQ+MSxlhRm1bzjhU+DcuXfjFO1FzNtqhK5+9Yvlp90ItDLk5vT932A0rFu619nf7RVS+Y/VeaUW1jaRDqZ8VJw==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
+14
View File
@@ -17,6 +17,20 @@ race_top:BindConnectThreadForIPv4
race_top:BindConnectThreadForIPv6 race_top:BindConnectThreadForIPv6
race_top:BindConnectEx5 race_top:BindConnectEx5
# Thread Sanitizer reports data races on PoolHalting in THREAD, shared between ThreadPoolProc and WaitThread.
# But if WaitThread reads false, synchronization is ensured by Wait from the PoolWaitList. If it reads true,
# WaitThread simply returns.
race_top:ThreadPoolProc
## Accept/Disconnect cancellation
# Thread Sanitizer reports two data races on CancelAccept and CallingThread in SOCK, shared between
# Accept(Accept6) and Disconnect. These are used when interrupting an Accept operation from a Disconnect.
# They are race-safe because they work correctly even if both fields have old values.
race_top:^Accept$
race_top:^Accept6$
race_top:^Disconnect$
## Manual PTHREAD_MUTEX_RECURSIVE ## Manual PTHREAD_MUTEX_RECURSIVE
# The Lock/Unlock mechanism on Unix is a manual, hand-coded implementation of PTHREAD_MUTEX_RECURSIVE. # The Lock/Unlock mechanism on Unix is a manual, hand-coded implementation of PTHREAD_MUTEX_RECURSIVE.