local dir="$2"
local conf="$3"
- procd_open_instance
+ procd_open_instance "$name"
procd_set_param command "$PROG" \
--syslog "openvpn($name)" \
--status "/var/run/openvpn.$name.status" \
}
start_service() {
+ local instance="$1"
+ local instance_found=0
+
+ config_cb() {
+ local type="$1"
+ local name="$2"
+ if [ "$type" = "openvpn" ]; then
+ if [ -n "$instance" -a "$instance" = "$name" ]; then
+ instance_found=1
+ fi
+ fi
+ }
+
. /usr/share/openvpn/openvpn.options
config_load 'openvpn'
- config_foreach start_instance 'openvpn'
- local path name
- for path in /etc/openvpn/*.conf; do
- if [ -f "$path" ]; then
- name="${path##*/}"; name="${name%.conf}"
+ if [ -n "$instance" ]; then
+ [ "$instance_found" -gt 0 ] || return
+ start_instance "$instance"
+ else
+ config_foreach start_instance 'openvpn'
- # don't start configs again that are already started by uci
- if echo "$UCI_STARTED" | grep -qxF "$path"; then
- continue
+ local path name
+ for path in /etc/openvpn/*.conf; do
+ if [ -f "$path" ]; then
+ name="${path##*/}"; name="${name%.conf}"
- # don't start configs which are set to disabled in uci
- elif echo "$UCI_DISABLED" | grep -qxF "$path"; then
- logger -t openvpn "$name.conf is disabled in /etc/config/openvpn"
- continue
- fi
+ # don't start configs again that are already started by uci
+ if echo "$UCI_STARTED" | grep -qxF "$path"; then
+ continue
- openvpn_add_instance "$name" "${path%/*}" "$path"
- fi
- done
+ # don't start configs which are set to disabled in uci
+ elif echo "$UCI_DISABLED" | grep -qxF "$path"; then
+ logger -t openvpn "$name.conf is disabled in /etc/config/openvpn"
+ continue
+ fi
+
+ openvpn_add_instance "$name" "${path%/*}" "$path"
+ fi
+ done
+ fi
}
service_triggers() {
--- a/configure.ac
+++ b/configure.ac
-@@ -1076,37 +1076,14 @@ dnl
+@@ -1068,62 +1068,15 @@ dnl
AC_ARG_VAR([LZ4_CFLAGS], [C compiler flags for lz4])
AC_ARG_VAR([LZ4_LIBS], [linker flags for lz4])
if test "$enable_lz4" = "yes" && test "$enable_comp_stub" = "no"; then
-- AC_CHECKING([for LZ4 Library and Header files])
-- havelz4lib=1
-
+- if test -z "${LZ4_CFLAGS}" -a -z "${LZ4_LIBS}"; then
+- # if the user did not explicitly specify flags, try to autodetect
+- PKG_CHECK_MODULES([LZ4],
+- [liblz4 >= 1.7.1],
+- [have_lz4="yes"],
+- [] # If this fails, we will do another test next
+- )
+- fi
+
+ saved_CFLAGS="${CFLAGS}"
+ saved_LIBS="${LIBS}"
+ CFLAGS="${CFLAGS} ${LZ4_CFLAGS}"
+ LIBS="${LIBS} ${LZ4_LIBS}"
+
+- # If pkgconfig check failed or LZ4_CFLAGS/LZ4_LIBS env vars
+- # are used, check the version directly in the LZ4 include file
+- if test "${have_lz4}" != "yes"; then
+- AC_CHECK_HEADERS([lz4.h],
+- [have_lz4h="yes"],
+- [])
+-
+- if test "${have_lz4h}" = "yes" ; then
+- AC_MSG_CHECKING([additionally if system LZ4 version >= 1.7.1])
+- AC_COMPILE_IFELSE(
+- [AC_LANG_PROGRAM([[
+-#include <lz4.h>
+- ]],
+- [[
+-/* Version encoding: MMNNPP (Major miNor Patch) - see lz4.h for details */
+-#if LZ4_VERSION_NUMBER < 10701L
+-#error LZ4 is too old
+-#endif
+- ]]
+- )],
+- [
+- AC_MSG_RESULT([ok])
+- have_lz4="yes"
+- ],
+- [AC_MSG_RESULT([system LZ4 library is too old])]
+- )
+- fi
+- fi
+-
- # if LZ4_LIBS is set, we assume it will work, otherwise test
- if test -z "${LZ4_LIBS}"; then
-- AC_CHECK_LIB(lz4, LZ4_compress,
-- [ LZ4_LIBS="-llz4" ],
-- [
-- AC_MSG_RESULT([LZ4 library not found.])
-- havelz4lib=0
-- ])
+- AC_CHECK_LIB([lz4],
+- [LZ4_compress],
+- [LZ4_LIBS="-llz4"],
+- [have_lz4="no"])
- fi
-+ AC_MSG_RESULT([Using LZ4 library in src/compat/compat-lz4.*])
-+ AC_DEFINE([NEED_COMPAT_LZ4], [1], [use copy of LZ4 source in compat/])
-+ LZ4_LIBS=""
-
-- saved_CFLAGS="${CFLAGS}"
-- CFLAGS="${CFLAGS} ${LZ4_CFLAGS}"
-- AC_CHECK_HEADERS(lz4.h,
-- ,
-- [
-- AC_MSG_RESULT([LZ4 headers not found.])
-- havelz4lib=0
-- ])
-
-- if test $havelz4lib = 0 ; then
-- AC_MSG_RESULT([LZ4 library or header not found, using version in src/compat/compat-lz4.*])
+- if test "${have_lz4}" != "yes" ; then
+- AC_MSG_RESULT([ usuable LZ4 library or header not found, using version in src/compat/compat-lz4.*])
- AC_DEFINE([NEED_COMPAT_LZ4], [1], [use copy of LZ4 source in compat/])
- LZ4_LIBS=""
- fi
++ AC_MSG_RESULT([ usuable LZ4 library or header not found, using version in src/compat/compat-lz4.*])
++ AC_DEFINE([NEED_COMPAT_LZ4], [1], [use copy of LZ4 source in compat/])
++ LZ4_LIBS=""
OPTIONAL_LZ4_CFLAGS="${LZ4_CFLAGS}"
OPTIONAL_LZ4_LIBS="${LZ4_LIBS}"
- AC_DEFINE(ENABLE_LZ4, 1, [Enable LZ4 compression library])
-- CFLAGS="${saved_CFLAGS}"
- fi
-
-
+ AC_DEFINE(ENABLE_LZ4, [1], [Enable LZ4 compression library])