diff options
author | jim-p <jimp@pfsense.org> | 2011-05-24 13:39:38 -0400 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2011-05-24 13:39:38 -0400 |
commit | 4e12754d1ae3405a8910686a7fa0bb012c01d8da (patch) | |
tree | 992e1af1d1bdabb1b3886412e9778f75c93e98c5 /etc | |
parent | bdb6bd30651fc219acf5a0171752164d680a1c7b (diff) | |
download | pfsense-4e12754d1ae3405a8910686a7fa0bb012c01d8da.zip pfsense-4e12754d1ae3405a8910686a7fa0bb012c01d8da.tar.gz |
Fix automatic and manual outbound NAT for PPTP. Fixes #954
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/filter.inc | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc index bdb3541..f0c718a 100644 --- a/etc/inc/filter.inc +++ b/etc/inc/filter.inc @@ -1326,12 +1326,10 @@ function filter_nat_rules_generate() { } } /* PPTP subnet */ - if(isset($FilterIflist['pptp']) && $FilterIflist['pptp']['mode'] == "server" ) { - $pptp_subnet = $FilterIflist['pptp']['sn']; - if(is_private_ip($FilterIflist['pptp']['sa']) && !empty($pptp_subnet)) { - $numberofnathosts++; - $tonathosts .= "{$FilterIflist['pptp']['sa']}/{$pptp_subnet} "; - } + if(($config['pptpd']['mode'] == "server" ) && is_private_ip($config['pptpd']['remoteip'])) { + $pptp_subnets = ip_range_to_subnet_array($config['pptpd']['remoteip'], long2ip32(ip2long($config['pptpd']['remoteip'])+$config['pptpd']['n_pptp_units'])); + $numberofnathosts += count($pptp_subnets); + $tonathosts .= implode(" ", $pptp_subnets) . " "; } /* PPPoE subnet */ if(isset($FilterIflist['pppoe']) && $FilterIflist['pppoe']['mode'] == "server") { |