diff -ur a/files/openvpn-2.1.init b/files/openvpn-2.1.init --- a/files/openvpn-2.1.init 2017-03-17 14:56:14.000000000 +0100 +++ b/files/openvpn-2.1.init 2017-04-04 10:31:59.619984743 +0200 @@ -5,9 +5,9 @@ VPNDIR=${VPNDIR:-/etc/openvpn} VPN=${SVCNAME#*.} if [ -n "${VPN}" ] && [ ${SVCNAME} != "openvpn" ]; then - VPNPID="/var/run/openvpn.${VPN}.pid" + VPNPID="/run/openvpn/openvpn.${VPN}.pid" else - VPNPID="/var/run/openvpn.pid" + VPNPID="/run/openvpn/openvpn.pid" fi VPNCONF="${VPNDIR}/${VPN}.conf" @@ -106,6 +106,11 @@ grep -q "^[ ]*group[ ].*" "${VPNCONF}" || args="${args} --group openvpn" fi + local VPNUSR=`sed -n 's/^[ ]*user[ ]\(.*\)/\1/p' "${VPNCONF}"` + local VPNGRP=`sed -n 's/^[ ]*group[ ]\(.*\)/\1/p' "${VPNCONF}"` + + checkpath -d -o "${VPNUSR:-openvpn}":"${VPNGRP:-openvpn}" -m 0750 "${VPNPID%/*}" + # Ensure that our scripts get the PEER_DNS variable [ -n "${PEER_DNS}" ] && args="${args} --setenv PEER_DNS ${PEER_DNS}"