From a8bc827706af476bb431d2b80e916fa24b520df3 Mon Sep 17 00:00:00 2001 From: korokke2 <101310197+korokke2@users.noreply.github.com> Date: Tue, 12 Nov 2024 12:06:06 +0900 Subject: [PATCH 1/6] Update description Updated with the most recent and appropriate description. --- description | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/description b/description index c608c84e..e4320043 100644 --- a/description +++ b/description @@ -2,4 +2,4 @@ SoftEther VPN ("SoftEther" means "Software Ethernet") is an open-source cross-pl Its protocol is very fast and it can be used in very restricted environments, as it's able to transfer packets over DNS and ICMP. The server includes a free Dynamic DNS service, which can be used to access the server even if the public IP address changes. A NAT-Traversal function is also available, very useful in case the required ports cannot be opened on the firewall. -The supported third party protocols are OpenVPN, L2TP/IPSec and SSTP. +The supported third party protocols are OpenVPN, L2TP/IPSec, SSTP and WireGuard. From 71b6aa7a8cecf42fe9e56722bdf8115e6069424e Mon Sep 17 00:00:00 2001 From: Koichiro Iwao Date: Tue, 14 Jan 2025 18:09:18 +0900 Subject: [PATCH 2/6] Update cpu_features to 0.9.0 --- src/Mayaqua/3rdparty/cpu_features | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mayaqua/3rdparty/cpu_features b/src/Mayaqua/3rdparty/cpu_features index 26133d3b..ba4bffa8 160000 --- a/src/Mayaqua/3rdparty/cpu_features +++ b/src/Mayaqua/3rdparty/cpu_features @@ -1 +1 @@ -Subproject commit 26133d3b620c2c27f31d571efd27371100f891e9 +Subproject commit ba4bffa86cbb5456bdb34426ad22b9551278e2c0 From e2e8193495d0569d9b174fb0df9785cd38449cc7 Mon Sep 17 00:00:00 2001 From: Koichiro Iwao Date: Tue, 14 Jan 2025 22:58:20 +0900 Subject: [PATCH 3/6] Improve the usage of cpu_features - Add USE_SYSTEM_CPU_FEATURES flag to use system's cpu_features instead of the bundled one - Allow the use of cpu_features for more architectures on Linux [1] [1] https://github.com/google/cpu_features/tree/v0.9.0?tab=readme-ov-file#whats-supported --- src/CMakeLists.txt | 3 +++ src/Mayaqua/CMakeLists.txt | 13 ++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c49a3c78..8f9f9843 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -127,6 +127,9 @@ if(UNIX) if(SE_PIDDIR) add_definitions(-DSE_PIDDIR="${SE_PIDDIR}") endif() + + # Use system libraries instead of bundled + set(USE_SYSTEM_CPU_FEATURES false CACHE BOOL "Use system cpu_features") endif() # Cedar communication module diff --git a/src/Mayaqua/CMakeLists.txt b/src/Mayaqua/CMakeLists.txt index 51acec0b..8544e45d 100644 --- a/src/Mayaqua/CMakeLists.txt +++ b/src/Mayaqua/CMakeLists.txt @@ -109,8 +109,19 @@ if(UNIX) $<$:${LIB_RT}> ) - if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7l|aarch64|s390x)$" OR NOT HAVE_SYS_AUXV OR SKIP_CPU_FEATURES) + if (NOT HAVE_SYS_AUXV OR SKIP_CPU_FEATURES) add_definitions(-DSKIP_CPU_FEATURES) + 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}") + add_definitions(-DSKIP_CPU_FEATURES) + elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" AND NOT CMAKE_SYSTEM_NAME MATCHES "^(arm64|x86_64)") + # macOS runs only on Intel or ARM architecrues, should not reach here + add_definitions(-DSKIP_CPU_FEATURES) + elseif(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS" OR ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD") + message("cpu_features is not available on ${CMAKE_SYSTEM_NAME}") + add_definitions(-DSKIP_CPU_FEATURES) + elseif(USE_SYSTEM_CPU_FEATURES) + target_link_libraries(mayaqua PRIVATE cpu_features) else() add_subdirectory(3rdparty/cpu_features) set_property(TARGET cpu_features PROPERTY POSITION_INDEPENDENT_CODE ON) From 10a2806f126c712ae44b13f6d401c1352b0824c4 Mon Sep 17 00:00:00 2001 From: Koichiro Iwao Date: Wed, 15 Jan 2025 00:05:46 +0900 Subject: [PATCH 4/6] CI: Use system's cpu_features in FreeBSD CI --- .cirrus.yml | 4 ++-- src/Mayaqua/CMakeLists.txt | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 07218cc8..822afa03 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -13,10 +13,10 @@ FreeBSD_task: freebsd_instance: image_family: freebsd-14-0 prepare_script: - - pkg install -y pkgconf cmake git libsodium $SSL + - pkg install -y pkgconf cmake git libsodium cpu_features $SSL - git submodule update --init --recursive configure_script: - - ./configure + - 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: diff --git a/src/Mayaqua/CMakeLists.txt b/src/Mayaqua/CMakeLists.txt index 8544e45d..9418b824 100644 --- a/src/Mayaqua/CMakeLists.txt +++ b/src/Mayaqua/CMakeLists.txt @@ -121,6 +121,8 @@ if(UNIX) message("cpu_features is not available on ${CMAKE_SYSTEM_NAME}") add_definitions(-DSKIP_CPU_FEATURES) elseif(USE_SYSTEM_CPU_FEATURES) + CHECK_INCLUDE_FILE(cpu_features_macros.h HAVE_CPU_FEATURES) + message("-- Using system's cpu_features") target_link_libraries(mayaqua PRIVATE cpu_features) else() add_subdirectory(3rdparty/cpu_features) From b4916f20af7d6f695f3a05c7b0a4eb52f3990a5d Mon Sep 17 00:00:00 2001 From: Ilia Shipitsin Date: Tue, 8 Apr 2025 23:00:13 +0200 Subject: [PATCH 5/6] CI: use system cpu_features --- .github/workflows/fedora-rawhide.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/fedora-rawhide.yml b/.github/workflows/fedora-rawhide.yml index 66c7116b..f2eb7cb3 100644 --- a/.github/workflows/fedora-rawhide.yml +++ b/.github/workflows/fedora-rawhide.yml @@ -25,10 +25,10 @@ jobs: submodules: true - name: Install dependencies run: | - dnf -y install git cmake ncurses-devel openssl-devel-engine libsodium-devel readline-devel zlib-devel gcc-c++ clang + dnf -y install git cmake ncurses-devel openssl-devel-engine libsodium-devel readline-devel zlib-devel gcc-c++ clang google-cpu_features-devel - name: Compile with ${{ matrix.cc }} run: | export CC=${{ matrix.cc }} - ./configure + CMAKE_FLAGS="-DUSE_SYSTEM_CPU_FEATURES=1" CFLAGS="-I/usr/include/cpu_features" ./configure make -C build From 80179d5cc55161c1573ee69ec50a59d0ebe0d773 Mon Sep 17 00:00:00 2001 From: weidi Date: Sun, 13 Apr 2025 21:13:32 +0200 Subject: [PATCH 6/6] Update docker-compose.yaml Fixes SoftEtherVPN/SoftetherVPN-docker#15 by configuring static hostname --- docker-compose.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 95544c5b..0f2aed67 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,8 +1,7 @@ -version: '3' - services: softether: image: softethervpn/vpnserver:latest + hostname: softethervpnserver cap_add: - NET_ADMIN restart: always