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 # For passing custom options to tunctl use something like the following. This
# example sets the owner to adm # example sets the owner to adm
#tunctl_tun1="-u 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) # Bridging (802.1d)

View File

@ -32,12 +32,25 @@ tuntap_pre_start()
# Set the base metric to 1000 # Set the base metric to 1000
metric=1000 metric=1000
if type tunctl >/dev/null 2>&1; then local o_opts= t_opts= do_open=false do_tunctl=false
local opts= eval o_opts=\$openvpn_${IFVAR}
eval opts=\$tunctl_${IFVAR} eval t_opts=\$tunctl_${IFVAR}
tunctl ${opts} -t "${IFACE}" >/dev/null
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 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 fi
eend $? && _up && service_set_value tuntap "${tuntap}" eend $? && _up && service_set_value tuntap "${tuntap}"
} }