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

@@ -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}"
}