From 58ca57a2d2708af66b081900c9777c3e04370a79 Mon Sep 17 00:00:00 2001 From: Markham Date: Sun, 17 Apr 2022 09:42:59 +0200 Subject: [PATCH] add targets for lzo-2.10 and openvpn-2.5.6 --- Makefile | 1 + archive-patches/openvpn/files/client.conf | 8 ++ archive-patches/openvpn/files/openvpn.init | 97 ++++++++++++++++++++++ archive-patches/openvpn/files/server.conf | 8 ++ make/archives.mk | 6 ++ make/libraries.mk | 16 ++++ make/openvpn.mk | 41 +++++++++ make/versions.mk | 6 ++ 8 files changed, 183 insertions(+) create mode 100644 archive-patches/openvpn/files/client.conf create mode 100755 archive-patches/openvpn/files/openvpn.init create mode 100644 archive-patches/openvpn/files/server.conf create mode 100644 make/openvpn.mk diff --git a/Makefile b/Makefile index 345c743..ba585af 100755 --- a/Makefile +++ b/Makefile @@ -27,6 +27,7 @@ else include make/custom.mk endif include make/samba.mk +include make/openvpn.mk include make/plugins-lua.mk include make/multimedia.mk include make/rootfs.mk diff --git a/archive-patches/openvpn/files/client.conf b/archive-patches/openvpn/files/client.conf new file mode 100644 index 0000000..a6ed486 --- /dev/null +++ b/archive-patches/openvpn/files/client.conf @@ -0,0 +1,8 @@ +# OpenVPN-Client +proto udp +secret /var/etc/openvpn/static.key +keepalive 10 120 +remote myremote.mydomain 1194 +ifconfig 10.8.0.2 10.8.0.1 +dev tun +cipher AES-256-CBC diff --git a/archive-patches/openvpn/files/openvpn.init b/archive-patches/openvpn/files/openvpn.init new file mode 100755 index 0000000..bdff488 --- /dev/null +++ b/archive-patches/openvpn/files/openvpn.init @@ -0,0 +1,97 @@ +#!/bin/sh + +#set -v -x + +DAEMON=openvpn +CONFIG_DIR=/var/etc/openvpn +test -x $DAEMON || exit 0 +test -d $CONFIG_DIR || exit 0 +modprobe tun >/dev/null 2>&1 || true + +start_vpn () { + $DAEMON --daemon --writepid /var/run/openvpn.$NAME.pid \ + --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || echo -n " FAILED->" + echo -n " $NAME" +} +stop_vpn () { + kill `cat $PIDFILE` || true + rm $PIDFILE +} + +case "$1" in +start) + echo -n "Starting openvpn:" + + if test -z $2 ; then + for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do + NAME=${CONFIG%%.conf} + start_vpn + done + else + if test -e $CONFIG_DIR/$2.conf ; then + NAME=$2 + start_vpn + else + echo -n " No such VPN: $2" + fi + fi + echo "." + + ;; +stop) + echo -n "Stopping openvpn:" + + if test -z $2 ; then + for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do + NAME=`echo $PIDFILE | cut -c18-` + NAME=${NAME%%.pid} + stop_vpn + echo -n " $NAME" + done + else + if test -e /var/run/openvpn.$2.pid ; then + PIDFILE=`ls /var/run/openvpn.$2.pid 2> /dev/null` + NAME=`echo $PIDFILE | cut -c18-` + NAME=${NAME%%.pid} + stop_vpn + echo -n " $NAME" + else + echo -n " No such VPN: $2" + fi + fi + echo "." + ;; +# We only 'reload' for running VPNs. New ones will only start with 'start' or 'restart'. +reload|force-reload) + echo -n "Reloading openvpn:" + for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do + NAME=`echo $PIDFILE | cut -c18-` + NAME=${NAME%%.pid} +# If openvpn if running under a different user than root we'll need to restart + if egrep '^( |\t)*user' $CONFIG_DIR/$NAME.conf > /dev/null 2>&1 ; then + stop_vpn + sleep 1 + start_vpn + echo -n "(restarted)" + else + kill -HUP `cat $PIDFILE` || true +# start-stop-daemon --stop --signal HUP --quiet --oknodo \ +# --exec $DAEMON --pidfile $PIDFILE + echo -n " $NAME" + fi + done + echo "." + ;; + +restart) + $0 stop $2 + sleep 1 + $0 start $2 + ;; +*) + echo "Usage: $0 {start|stop|reload|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/archive-patches/openvpn/files/server.conf b/archive-patches/openvpn/files/server.conf new file mode 100644 index 0000000..b116133 --- /dev/null +++ b/archive-patches/openvpn/files/server.conf @@ -0,0 +1,8 @@ +# OpenVPN-Server +proto udp +secret /var/etc/openvpn/static.key +keepalive 10 120 +ifconfig 10.8.0.1 10.8.0.2 +port 1194 +dev tun +cipher AES-256-CBC diff --git a/make/archives.mk b/make/archives.mk index 2f50722..214bc7e 100755 --- a/make/archives.mk +++ b/make/archives.mk @@ -112,6 +112,9 @@ $(ARCHIVE)/openssl-$(OPENSSL_VER)$(OPENSSL_SUBVER).tar.gz: $(ARCHIVE)/OpenThreads-$(LIBOPENTHREADS_VER).tar.gz: $(WGET) https://sourceforge.net/projects/mxedeps/files/OpenThreads-$(LIBOPENTHREADS_VER).tar.gz +$(ARCHIVE)/openvpn-$(OPENVPN_VER).tar.xz: + $(WGET) http://build.openvpn.net/downloads/releases/openvpn-$(OPENVPN_VER).tar.xz + $(ARCHIVE)/libogg-$(LIBOGG_VER).tar.gz: $(WGET) https://ftp.osuosl.org/pub/xiph/releases/ogg/libogg-$(LIBOGG_VER).tar.gz @@ -276,6 +279,9 @@ $(ARCHIVE)/libusb-compat-$(LIBUSB_COMPAT_VER).tar.bz2: $(ARCHIVE)/libexif-$(LIBEXIF_VER).tar.gz: $(WGET) https://sourceforge.net/projects/libexif/files/libexif/$(LIBEXIF_VER)/libexif-$(LIBEXIF_VER).tar.gz +$(ARCHIVE)/lzo-$(LZO_VER).tar.gz: + $(WGET) https://www.oberhumer.com/opensource/lzo/download/lzo-$(LZO_VER).tar.gz + $(ARCHIVE)/minidlna-$(MINIDLNA_VER).tar.gz: $(WGET) https://sourceforge.net/projects/minidlna/files/minidlna/$(MINIDLNA_VER)/minidlna-$(MINIDLNA_VER).tar.gz diff --git a/make/libraries.mk b/make/libraries.mk index f6506a8..f5b78fb 100755 --- a/make/libraries.mk +++ b/make/libraries.mk @@ -1305,6 +1305,22 @@ $(D)/libglib2: $(D)/zlib $(D)/libffi $(LIBGLIB2_DEPS) $(ARCHIVE)/glib-$(LIBGLIB2 $(REMOVE)/glib-$(LIBGLIB2_VER) $(TOUCH) +$(D)/lzo: $(ARCHIVE)/lzo-$(LZO_VER).tar.gz | $(TARGETPREFIX) + $(START_BUILD) + $(REMOVE)/lzo-$(LZO_VER) + $(UNTAR)/lzo-$(LZO_VER).tar.gz + pushd $(BUILD_TMP)/lzo-$(LZO_VER); \ + $(CONFIGURE) \ + --prefix= \ + --docdir=/.remove \ + --enable-shared; \ + $(MAKE) && \ + $(MAKE) install DESTDIR=$(TARGETPREFIX) + $(REWRITE_LIBTOOL)/liblzo2.la + $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/lzo2.pc + $(REMOVE)/lzo-$(LZO_VER) + $(TOUCH) + $(D)/timezone: $(ARCHIVE)/tzdata$(TZ_VER).tar.gz | find-zic $(TARGETPREFIX) $(START_BUILD) mkdir -p $(BUILD_TMP)/timezone $(BUILD_TMP)/timezone/zoneinfo diff --git a/make/openvpn.mk b/make/openvpn.mk new file mode 100644 index 0000000..c77915d --- /dev/null +++ b/make/openvpn.mk @@ -0,0 +1,41 @@ +# +# OPENVPN +# + +OPENVPN_TARGET=$(BUILD_TMP)/openvpn +$(D)/openvpn: $(D)/openssl $(D)/lzo $(ARCHIVE)/openvpn-$(OPENVPN_VER).tar.xz | $(TARGETPREFIX) + $(START_BUILD) + rm -rf $(OPENVPN_TARGET) + mkdir -p $(OPENVPN_TARGET)/var/etc/init.d + mkdir -p $(OPENVPN_TARGET)/var/etc/openvpn + $(UNTAR)/openvpn-$(OPENVPN_VER).tar.xz + pushd $(BUILD_TMP)/openvpn-$(OPENVPN_VER) && \ + LZO_LIBS="-L$(TARGETPREFIX)/lib -llzo2" && \ + $(CONFIGURE) \ + --prefix= \ + --mandir=/.remove \ + --docdir=/.remove \ + --infodir=/.remove \ + --enable-shared \ + --disable-static \ + --enable-small \ + --enable-management \ + --disable-debug \ + --disable-lz4 \ + --disable-selinux \ + --disable-systemd \ + --disable-plugins \ + --disable-pkcs11 \ + NETSTAT="/bin/netstat" \ + IFCONFIG="/sbin/ifconfig" \ + IPROUTE="/sbin/ip" \ + ROUTE="/sbin/route"; \ + $(MAKE) all && \ + $(MAKE) install DESTDIR=$(OPENVPN_TARGET) + install -m 755 $(PATCHES)/openvpn/files/openvpn.init $(OPENVPN_TARGET)/var/etc/init.d/openvpn + install -m 755 $(PATCHES)/openvpn/files/*.conf $(OPENVPN_TARGET)/var/etc/openvpn/ + ln -sf openvpn $(OPENVPN_TARGET)/var/etc/init.d/S99openvpn + ln -sf openvpn $(OPENVPN_TARGET)/var/etc/init.d/K05openvpn + $(TARGET)-strip $(OPENVPN_TARGET)/sbin/* +# $(REMOVE)/openvpn-$(OPENVPN_VER) +# $(TOUCH) diff --git a/make/versions.mk b/make/versions.mk index 2a31d12..7c853cb 100644 --- a/make/versions.mk +++ b/make/versions.mk @@ -172,6 +172,9 @@ LUA_FEEDPARSER_VER=0.71 LUASOCKET_VER = 2.0.2 LUASOCKET_GIT = 5a17f79 +# LZO is a portable lossless data compression library. Offers pretty fast compression and *extremely* fast decompression. +LZO_VER = 2.10 + # Midnight Commander MC_VER = 4.8.21 @@ -203,6 +206,9 @@ OFGWRITE_VER = b2823ee OPENSSL_VER=1.0.2 OPENSSL_SUBVER=u +# OpenVPN -- A Secure tunneling daemon +OPENVPN_VER = 2.5.6 + # parted PARTED_VER = 3.2 -- 2.39.5