Branch oldpackages for 14.07
[14.07/packages.git] / net / vpnc / patches / 002-vpn_script.patch
1 --- a/vpnc-script.in
2 +++ b/vpnc-script.in
3 @@ -97,7 +97,7 @@ do_ifconfig() {
4         fi
5  
6         # Point to point interface require a netmask of 255.255.255.255 on some systems
7 -       ifconfig "$TUNDEV" inet "$INTERNAL_IP4_ADDRESS" $ifconfig_syntax_ptp "$INTERNAL_IP4_ADDRESS" netmask 255.255.255.255 mtu ${MTU} up
8 +       ifconfig "$TUNDEV" "$INTERNAL_IP4_ADDRESS" $ifconfig_syntax_ptp "$INTERNAL_IP4_ADDRESS" netmask 255.255.255.255 mtu ${MTU} up
9  
10         if [ -n "$INTERNAL_IP4_NETMASK" ]; then
11                 set_network_route $INTERNAL_IP4_NETADDR $INTERNAL_IP4_NETMASK $INTERNAL_IP4_NETMASKLEN
12 @@ -503,6 +503,18 @@ do_disconnect() {
13         destroy_tun_device
14  }
15  
16 +start_vpn_nat() {
17 +       iptables -A forwarding_rule -o $TUNDEV -j ACCEPT
18 +       iptables -A forwarding_rule -i $TUNDEV -j ACCEPT
19 +       iptables -t nat -A postrouting_rule -o $TUNDEV -j MASQUERADE
20 +}
21 +
22 +stop_vpn_nat() {
23 +       iptables -t nat -D postrouting_rule -o $TUNDEV -j MASQUERADE
24 +       iptables -D forwarding_rule -i $TUNDEV -j ACCEPT
25 +       iptables -D forwarding_rule -o $TUNDEV -j ACCEPT
26 +}
27 +
28  #### Main
29  
30  if [ -z "$reason" ]; then
31 @@ -516,8 +528,10 @@ case "$reason" in
32                 ;;
33         connect)
34                 do_connect
35 +               start_vpn_nat
36                 ;;
37         disconnect)
38 +               stop_vpn_nat
39                 do_disconnect
40                 ;;
41         *)