Allow openvpn options to be specified. If options exist then for tunctl then we prefer that to openvpn, unless openvpn options exist.

This commit is contained in:
Roy Marples 2008-01-30 10:26:52 +00:00
parent ee9476223d
commit e675b2e005
2 changed files with 21 additions and 6 deletions

View File

@ -768,7 +768,9 @@
# For passing custom options to tunctl use something like the following. This
# example sets the owner to adm
#tunctl_tun1="-u adm"
# When using openvpn, there are no options
# OpenVPN-2.1_rc6 and newer allow --user and --group to set owner and group
# of the node as well
#openvpn_tun1="--user foo --group bar"
#-----------------------------------------------------------------------------
# Bridging (802.1d)

View File

@ -32,12 +32,25 @@ tuntap_pre_start()
# Set the base metric to 1000
metric=1000
if type tunctl >/dev/null 2>&1; then
local opts=
eval opts=\$tunctl_${IFVAR}
tunctl ${opts} -t "${IFACE}" >/dev/null
local o_opts= t_opts= do_open=false do_tunctl=false
eval o_opts=\$openvpn_${IFVAR}
eval t_opts=\$tunctl_${IFVAR}
if [ -n "${o_opts}" ] && type openvpn >/dev/null 2>&1; then
do_open=true
elif [ -n "${t_opts}" ] && type tunctl >/dev/null 2>&1; then
do_tunctl=true
elif type openvpn >/dev/null 2>&1; then
do_openvpn=true
else
openvpn --mktun --dev-type "${tuntap}" --dev "${IFACE}" >/dev/null
do_tunctl=true
fi
if ${do_openvpn}; then
openvpn --mktun --dev-type "${tuntap}" --dev "${IFACE}" \
${o_opts} >/dev/null
else
tunctl ${t_opts} -t "${IFACE}" >/dev/null
fi
eend $? && _up && service_set_value tuntap "${tuntap}"
}