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