Add net/softether v5.02.5181

SoftEther VPN is an open-source multi-protocol VPN server and client.
This commit is contained in:
hauke 2024-03-07 11:48:34 +00:00
parent f5328e46d6
commit 2c6c47b6e7
12 changed files with 275 additions and 1 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.1562 2024/03/01 03:29:56 riastradh Exp $
# $NetBSD: Makefile,v 1.1563 2024/03/07 11:48:34 hauke Exp $
#
COMMENT= Networking tools
@ -918,6 +918,7 @@ SUBDIR+= snowflake
SUBDIR+= socat
SUBDIR+= socket++
SUBDIR+= socks4
SUBDIR+= softether
SUBDIR+= solaris-tap
SUBDIR+= speedtest-cli
SUBDIR+= speedtouch

1
net/softether/DESCR Normal file
View File

@ -0,0 +1 @@
SoftEther VPN is an open-source multi-protocol VPN server and client.

62
net/softether/Makefile Normal file
View File

@ -0,0 +1,62 @@
# $NetBSD: Makefile,v 1.1 2024/03/07 11:48:35 hauke Exp $
NAME= softether
VERSION= 5.02.5181
PKGNAME= ${NAME}-${VERSION}
DISTNAME= ${GITHUB_PROJECT}-${GITHUB_RELEASE}
CATEGORIES= net
MASTER_SITES= ${MASTER_SITE_GITHUB:=SoftEtherVPN/}
GITHUB_PROJECT= SoftEtherVPN
GITHUB_RELEASE= ${VERSION}
EXTRACT_SUFX= .tar.xz
DIST_SUBDIR= ${GITHUB_PROJECT}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://www.softether.org/
COMMENT= Powerful and easy-to-use multi-protocol VPN software
LICENSE= apache-2.0
USE_TOOLS+= pkg-config cmake
USE_CMAKE= yes
USE_LANGUAGES= c
DOC_FILES= DISCLAIMER.md README.md SECURITY.md LICENSE AUTHORS.TXT
RCD_SCRIPTS= softether_bridge softether_client softether_server
FILES_SUBST+= SE_PIDDIR=${SE_PIDDIR}
BUILD_DEFS+= VARBASE
CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DSE_DBDIR="${SE_DBDIR}" \
-DSE_LOGDIR="${SE_LOGDIR}" \
-DSE_PIDDIR="${SE_PIDDIR}"
SE_DBDIR?= ${VARBASE}/db/${NAME}
SE_LOGDIR?= ${VARBASE}/log/${NAME}
SE_PIDDIR?= ${VARBASE}/run/${NAME}
INSTALLATION_DIRS+= bin share/doc/${NAME}
OWN_DIRS+= ${SE_DBDIR}
OWN_DIRS+= ${SE_LOGDIR}
post-install:
.for x in ${DOC_FILES}
${INSTALL_DATA} ${WRKSRC}/${x} \
${DESTDIR}${PREFIX}/share/doc/${NAME}/${x}
.endfor
.include "../../mk/curses.buildlink3.mk"
.include "../../mk/readline.buildlink3.mk"
.include "../../converters/libiconv/buildlink3.mk"
.include "../../security/libsodium/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../net/libpcap/buildlink3.mk"
.include "../../devel/cpu_features/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

20
net/softether/PLIST Normal file
View File

@ -0,0 +1,20 @@
@comment $NetBSD: PLIST,v 1.1 2024/03/07 11:48:35 hauke Exp $
bin/vpnbridge
bin/vpnclient
bin/vpncmd
bin/vpnserver
lib/libcedar.so
lib/libmayaqua.so
libexec/softether/vpnbridge/hamcore.se2
libexec/softether/vpnbridge/vpnbridge
libexec/softether/vpnclient/hamcore.se2
libexec/softether/vpnclient/vpnclient
libexec/softether/vpncmd/hamcore.se2
libexec/softether/vpncmd/vpncmd
libexec/softether/vpnserver/hamcore.se2
libexec/softether/vpnserver/vpnserver
share/doc/softether/AUTHORS.TXT
share/doc/softether/DISCLAIMER.md
share/doc/softether/LICENSE
share/doc/softether/README.md
share/doc/softether/SECURITY.md

9
net/softether/distinfo Normal file
View File

@ -0,0 +1,9 @@
$NetBSD: distinfo,v 1.1 2024/03/07 11:48:35 hauke Exp $
BLAKE2s (SoftEtherVPN/SoftEtherVPN-5.02.5181.tar.xz) = 8cd9969ae71a9ff19b974aa2477d1233c620520d9ec3034be77554e8cf56a48d
SHA512 (SoftEtherVPN/SoftEtherVPN-5.02.5181.tar.xz) = bd263c24e3be886da1426553d91c93ff7b378167366e6cd5bdcf20d2e0687ecabbf986056e3a723a54a79da6e53de991b79f3edd3f4b8427b20be28a02e946c8
Size (SoftEtherVPN/SoftEtherVPN-5.02.5181.tar.xz) = 8472688 bytes
SHA1 (patch-src_CMakeLists.txt) = 4d05be1d08775d5ace7bf8b79cd07dc068b1150f
SHA1 (patch-src_Cedar_BridgeUnix.c) = b4a0aeefc96f0cd375e98509bf72cd986099809f
SHA1 (patch-src_Cedar_VLanUnix.c) = 5fad45434861af0837551b39106c273a7cdea672
SHA1 (patch-src_Mayaqua_Unix.c) = 7232c56f333d29b6b6a2f55577cc67760019d932

View File

@ -0,0 +1,26 @@
#!/bin/sh
#
# $NetBSD: softether_bridge.sh,v 1.1 2024/03/07 11:48:35 hauke Exp $
# PROVIDE: softether_bridge
# REQUIRE: DAEMON
. /etc/rc.subr
name="softether_bridge"
rcvar=$name
command="@PREFIX@/libexec/softether/vpnbridge/vpnbridge"
start_precmd="softether_bridge_precmd"
start_cmd="${command} start"
stop_cmd="${command} stop"
softether_bridge_precmd()
{
if ! [ -e "@SE_PIDDIR@" ]; then
mkdir -p "@SE_PIDDIR@"
fi
}
load_rc_config $name
run_rc_command "$1"

View File

@ -0,0 +1,26 @@
#!/bin/sh
#
# $NetBSD: softether_client.sh,v 1.1 2024/03/07 11:48:35 hauke Exp $
# PROVIDE: softether_client
# REQUIRE: DAEMON
. /etc/rc.subr
name="softether_client"
rcvar=$name
command="@PREFIX@/libexec/softether/vpnclient/vpnclient"
start_precmd="softether_client_precmd"
start_cmd="${command} start"
stop_cmd="${command} stop"
softether_client_precmd()
{
if ! [ -e "@SE_PIDDIR@" ]; then
mkdir -p "@SE_PIDDIR@"
fi
}
load_rc_config $name
run_rc_command "$1"

View File

@ -0,0 +1,26 @@
#!/bin/sh
#
# $NetBSD: softether_server.sh,v 1.1 2024/03/07 11:48:35 hauke Exp $
# PROVIDE: softether_server
# REQUIRE: DAEMON
. /etc/rc.subr
name="softether_server"
rcvar=$name
command="@PREFIX@/libexec/softether/vpnserver/vpnserver"
start_precmd="softether_server_precmd"
start_cmd="${command} start"
stop_cmd="${command} stop"
softether_server_precmd()
{
if ! [ -e "@SE_PIDDIR@" ]; then
mkdir -p "@SE_PIDDIR@"
fi
}
load_rc_config $name
run_rc_command "$1"

View File

@ -0,0 +1,19 @@
$NetBSD: patch-src_CMakeLists.txt,v 1.1 2024/03/07 11:48:35 hauke Exp $
Add NetBSD section
--- src/CMakeLists.txt.orig 2024-03-05 12:37:51.985800248 +0000
+++ src/CMakeLists.txt
@@ -91,6 +91,12 @@ if(UNIX)
endif()
endif()
+ if(${CMAKE_SYSTEM_NAME} STREQUAL "NetBSD")
+ add_definitions(-DUNIX_BSD -DUNIX_NETBSD -DBRIDGE_BPF -DBRIDGE_BCAP)
+ include_directories(SYSTEM)
+ link_directories(SYSTEM)
+ endif()
+
if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
add_definitions(-DUNIX_BSD -DBRIDGE_BPF)
include_directories(SYSTEM /usr/local/include)

View File

@ -0,0 +1,17 @@
$NetBSD: patch-src_Cedar_BridgeUnix.c,v 1.1 2024/03/07 11:48:35 hauke Exp $
Include netinet/if_ether.h for NetBSD in line with VLanUnix.c
--- src/Cedar/BridgeUnix.c.orig 2023-12-03 16:16:54.000000000 +0000
+++ src/Cedar/BridgeUnix.c
@@ -29,7 +29,9 @@
#include <sys/ioctl.h>
#include <sys/stat.h>
-#if !defined(UNIX_OPENBSD) && !defined(UNIX_SOLARIS)
+#if defined(UNIX_NETBSD) || defined(UNIX_OPENBSD) || defined(UNIX_SOLARIS)
+#include <netinet/if_ether.h>
+#else
#include <net/ethernet.h>
#endif

View File

@ -0,0 +1,49 @@
$NetBSD: patch-src_Cedar_VLanUnix.c,v 1.1 2024/03/07 11:48:35 hauke Exp $
Include netinet/if_ether.h for NetBSD
Conditionalize SIOCSIFLLADDR use
Special-case NetBSD's ifr buffer name
--- src/Cedar/VLanUnix.c.orig 2023-12-03 16:16:54.000000000 +0000
+++ src/Cedar/VLanUnix.c
@@ -29,7 +29,7 @@
#include <net/if.h>
#include <sys/ioctl.h>
-#if defined(UNIX_OPENBSD) || defined(UNIX_SOLARIS)
+#if defined(UNIX_NETBSD) || defined(UNIX_OPENBSD) || defined(UNIX_SOLARIS)
#include <netinet/if_ether.h>
#else
#include <net/ethernet.h>
@@ -463,6 +463,7 @@ int UnixCreateTapDeviceEx(char *name, ch
StrCpy(tap_name, sizeof(tap_name), ifr.ifr_name);
#endif // SIOCSIFNAME
+#ifdef SIOCSIFLLADDR
// Set the MAC address
if (mac_address != NULL)
{
@@ -473,14 +474,20 @@ int UnixCreateTapDeviceEx(char *name, ch
Copy(&ifr.ifr_addr.sa_data, mac_address, ETHER_ADDR_LEN);
ioctl(s, SIOCSIFLLADDR, &ifr);
}
+#endif
- // Set interface description
+// Set interface description
#ifdef SIOCSIFDESCR
{
char desc[] = CEDAR_PRODUCT_STR " Virtual Network Adapter";
+#ifdef UNIX_NETBSD
+ ifr.ifr_ifru.ifru_b.b_buf = desc;
+ ifr.ifr_ifru.ifru_b.b_buflen = StrLen(desc) + 1;
+#else
ifr.ifr_buffer.buffer = desc;
ifr.ifr_buffer.length = StrLen(desc) + 1;
+#endif
ioctl(s, SIOCSIFDESCR, &ifr);
}
#endif

View File

@ -0,0 +1,18 @@
$NetBSD: patch-src_Mayaqua_Unix.c,v 1.1 2024/03/07 11:48:35 hauke Exp $
*BSD have statvfs
--- src/Mayaqua/Unix.c.orig 2024-03-05 12:27:18.757261333 +0000
+++ src/Mayaqua/Unix.c
@@ -51,6 +51,11 @@
#include <sys/statvfs.h>
#endif
+#ifdef UNIX_BSD
+#define USE_STATVFS
+#include <sys/statvfs.h>
+#endif
+
#ifdef UNIX_MACOS
#ifdef NO_VLAN
// Struct statfs for MacOS X