diff options
author | Renato Botelho <garga@FreeBSD.org> | 2014-11-22 17:12:42 -0200 |
---|---|---|
committer | Renato Botelho <garga@FreeBSD.org> | 2014-11-22 17:13:02 -0200 |
commit | 15fbb5ecf35ac794b4bf357c1cd821a1413cdaa9 (patch) | |
tree | 6ec7acb4a06eeee9b713477b07a7be148bcc6efd /usr/local/sbin | |
parent | 68ce5a28f8486984803dd73e5332fad496c9f373 (diff) | |
download | pfsense-15fbb5ecf35ac794b4bf357c1cd821a1413cdaa9.zip pfsense-15fbb5ecf35ac794b4bf357c1cd821a1413cdaa9.tar.gz |
Fix ovpn-linkup for tun + topology subnet case setting router as ifconfig_local envvaar when route_vpn_gateway and ifconfig_remote are both not defined. Keep using 5th parameter as a seatbelt in last case. While I'm here, improve sh syntax. It should fix #3968
Diffstat (limited to 'usr/local/sbin')
-rwxr-xr-x | usr/local/sbin/ovpn-linkup | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/usr/local/sbin/ovpn-linkup b/usr/local/sbin/ovpn-linkup index 2f3246e..7c9817a 100755 --- a/usr/local/sbin/ovpn-linkup +++ b/usr/local/sbin/ovpn-linkup @@ -4,14 +4,18 @@ #/usr/local/sbin/pfSctl -c "interface newip $interface" if [ "${dev_type}" = "tun" ]; then - if [ "" != "$route_vpn_gateway" ]; then - /bin/echo $route_vpn_gateway > /tmp/$1_router + if [ -n "${route_vpn_gateway}" ]; then + /bin/echo ${route_vpn_gateway} > /tmp/${1}_router + elif [ -n "${ifconfig_remote}" ]; then + /bin/echo ${ifconfig_remote} > /tmp/${1}_router + elif [ -n "${ifconfig_local}" ]; then + /bin/echo ${ifconfig_local} > /tmp/${1}_router else - /bin/echo $5 > /tmp/$1_router + /bin/echo ${5} > /tmp/${1}_router fi fi -/usr/bin/touch /tmp/$1up +/usr/bin/touch /tmp/${1}up # reload filter -/usr/local/sbin/pfSctl -c "interface newip $1" +/usr/local/sbin/pfSctl -c "interface newip ${1}" exit 0 |