summaryrefslogtreecommitdiffstats
path: root/src/etc/inc/filter.inc
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2015-09-15 17:45:00 -0300
committerRenato Botelho <renato@netgate.com>2015-09-15 18:20:59 -0300
commitc9d46a8e801650dccea466f86c81df3fa626713c (patch)
tree725930cf412266bf2cb27ecef4ad8d08ac175489 /src/etc/inc/filter.inc
parentb8bb09bd4b55047f10e01c7ec91b3d29e1f70016 (diff)
downloadpfsense-c9d46a8e801650dccea466f86c81df3fa626713c.zip
pfsense-c9d46a8e801650dccea466f86c81df3fa626713c.tar.gz
Retire PPTP server, fixes #4226:
- Remove PPTP server and all related code - Bump config version 12.2 - Write upgrade config code to remove pptpd section and also cleanup firewall and NAT rules using PPTP interface or src/des
Diffstat (limited to 'src/etc/inc/filter.inc')
-rw-r--r--src/etc/inc/filter.inc99
1 files changed, 2 insertions, 97 deletions
diff --git a/src/etc/inc/filter.inc b/src/etc/inc/filter.inc
index 55208a0..fb57cde 100644
--- a/src/etc/inc/filter.inc
+++ b/src/etc/inc/filter.inc
@@ -1133,21 +1133,6 @@ function filter_generate_optcfg_array() {
$FilterIflist[$if] = $oic;
}
- if ($config['pptpd']['mode'] == "server" || $config['pptpd']['mode'] == "redir") {
- $oic = array();
- $oic['if'] = 'pptp';
- $oic['descr'] = 'pptp';
- $oic['ip'] = $config['pptpd']['localip'];
- $oic['sa'] = $config['pptpd']['remoteip'];
- $oic['mode'] = $config['pptpd']['mode'];
- $oic['virtual'] = true;
- if ($config['pptpd']['pptp_subnet'] <> "") {
- $oic['sn'] = $config['pptpd']['pptp_subnet'];
- } else {
- $oic['sn'] = "32";
- }
- $FilterIflist['pptp'] = $oic;
- }
if ($config['l2tp']['mode'] == "server") {
$oic = array();
$oic['if'] = 'l2tp';
@@ -1607,22 +1592,6 @@ function filter_nat_rules_automatic_tonathosts($with_descr = false) {
}
}
- /* PPTP subnet */
- if (($config['pptpd']['mode'] == "server") && is_private_ip($config['pptpd']['remoteip'])) {
- if (isset($config['pptpd']['n_pptp_units']) && is_numeric($config['pptpd']['n_pptp_units'])) {
- $pptp_subnets = ip_range_to_subnet_array($config['pptpd']['remoteip'],
- long2ip32(ip2long($config['pptpd']['remoteip'])+($config['pptpd']['n_pptp_units']-1)));
- } else {
- $pptp_subnets = ip_range_to_subnet_array($config['pptpd']['remoteip'],
- long2ip32(ip2long($config['pptpd']['remoteip'])));
- }
-
- foreach ($pptp_subnets as $subnet) {
- $tonathosts[] = $subnet;
- $descriptions[] = gettext("PPTP server");
- }
- }
-
/* PPPoE subnet */
if (is_array($FilterIflist['pppoe'])) {
foreach ($FilterIflist['pppoe'] as $pppoe) {
@@ -2315,15 +2284,6 @@ function filter_nat_rules_generate() {
}
fclose($inetd_fd); // Close file handle
- if (isset($config['pptpd']['mode']) && ($config['pptpd']['mode'] != "off")) {
- if ($config['pptpd']['mode'] == "redir") {
- $pptpdtarget = $config['pptpd']['redir'];
- $natrules .= "# PPTP\n";
- $natrules .= "rdr on \${$FilterIflist['wan']['descr']} proto gre from any to any -> {$pptpdtarget}\n";
- $natrules .= "rdr on \${$FilterIflist['wan']['descr']} proto tcp from any to any port 1723 -> {$pptpdtarget}\n";
- }
- }
-
$natrules .= discover_pkg_rules("nat");
$natrules .= "# UPnPd rdr anchor\n";
@@ -2521,11 +2481,6 @@ function filter_generate_address(& $rule, $target = "source", $isnat = false) {
case '(self)':
$src = "(self)";
break;
- case 'pptp':
- $pptpsav6 = gen_subnetv6($FilterIflist['pptp']['sav6'], $FilterIflist['pptp']['snv6']);
- $pptpsnv6 = $FilterIflist['pptp']['snv6'];
- $src = "{$pptpsav6}/{$pptpsnv6}";
- break;
case 'pppoe':
if (is_array($FilterIflist['pppoe'])) {
$pppoesav6 = gen_subnetv6($FilterIflist['pppoe'][0]['ipv6'], $FilterIflist['pppoe'][0]['snv6']);
@@ -2563,22 +2518,6 @@ function filter_generate_address(& $rule, $target = "source", $isnat = false) {
case '(self)':
$src = "(self)";
break;
- case 'pptp':
- if (isset($config['pptpd']['n_pptp_units']) && is_numeric($config['pptpd']['n_pptp_units'])) {
- $pptp_subnets = ip_range_to_subnet_array($config['pptpd']['remoteip'], long2ip32(ip2long($config['pptpd']['remoteip'])+($config['pptpd']['n_pptp_units']-1)));
- } else {
- $pptp_subnets = ip_range_to_subnet_array($config['pptpd']['remoteip'], long2ip32(ip2long($config['pptpd']['remoteip'])));
- }
- if (empty($pptp_subnets)) {
- return "";
- }
- if (isset($rule[$target]['not'])) {
- array_walk($pptp_subnets, function (&$value, $key) {
- $value="!{$value}";
- });
- }
- $src = "{ " . implode(" ", $pptp_subnets) . " }";
- break;
case 'pppoe':
/* XXX: This needs to be fixed somehow! */
if (is_array($FilterIflist['pppoe'])) {
@@ -2630,7 +2569,6 @@ function filter_generate_user_rule($rule) {
return "# rule " . $rule['descr'] . " disabled \n";
}
update_filter_reload_status("Creating filter rules {$rule['descr']} ...");
- $pptpdcfg = $config['pptpd'];
$int = "";
$aline = array();
@@ -2666,12 +2604,6 @@ function filter_generate_user_rule($rule) {
$aline['interface'] = " on \$" . $FilterIflist[$rule['interface']]['descr'] . " ";
}
$ifcfg = $FilterIflist[$rule['interface']];
- if ($pptpdcfg['mode'] != "server") {
- if (($rule['source']['network'] == "pptp") ||
- ($rule['destination']['network'] == "pptp")) {
- return "# source network or destination network == pptp on " . $rule['descr'];
- }
- }
switch ($rule['ipprotocol']) {
case "inet":
@@ -2731,14 +2663,14 @@ function filter_generate_user_rule($rule) {
$rg = get_interface_gateway_v6($rule['interface']);
if (is_ipaddrv6($rg)) {
$aline['reply'] = "reply-to ( {$ifcfg['ifv6']} {$rg} ) ";
- } else if ($rule['interface'] <> "pptp") {
+ } else {
log_error(sprintf(gettext("Could not find IPv6 gateway for interface (%s)."), $rule['interface']));
}
} else {
$rg = get_interface_gateway($rule['interface']);
if (is_ipaddrv4($rg)) {
$aline['reply'] = "reply-to ( {$ifcfg['if']} {$rg} ) ";
- } else if ($rule['interface'] <> "pptp") {
+ } else {
log_error(sprintf(gettext("Could not find IPv4 gateway for interface (%s)."), $rule['interface']));
}
}
@@ -3083,8 +3015,6 @@ function filter_rules_generate() {
echo "filter_rules_generate() being called $mt\n";
}
- $pptpdcfg = $config['pptpd'];
-
$ipfrules = "";
$ipfrules .= discover_pkg_rules("pfearly");
@@ -3567,31 +3497,6 @@ EOD;
$saved_tracker += 10;
$tracker = $saved_tracker;
- /* PPTPd enabled? */
- if ($pptpdcfg['mode'] && ($pptpdcfg['mode'] != "off") && !isset($config['system']['disablevpnrules'])) {
- if ($pptpdcfg['mode'] == "server") {
- $pptpdtarget = get_interface_ip();
- } else {
- $pptpdtarget = $pptpdcfg['redir'];
- }
- if (is_ipaddr($pptpdtarget) and is_array($FilterIflist['wan'])) {
- $ipfrules .= <<<EOD
-# PPTPd rules
-pass in {$log['pass']} on \${$FilterIflist['wan']['descr']} proto tcp from any to $pptpdtarget port = 1723 tracker {$increment_tracker($tracker)} modulate state label "{$fix_rule_label("allow pptpd {$pptpdtarget}")}"
-pass in {$log['pass']} on \${$FilterIflist['wan']['descr']} proto gre from any to any tracker {$increment_tracker($tracker)} keep state label "allow gre pptpd"
-
-EOD;
-
- } else {
- /* this shouldnt ever happen but instead of breaking the clients ruleset
- * log an error.
- */
- log_error("ERROR! PPTP enabled but could not resolve the \$pptpdtarget");
- }
- }
-
- $saved_tracker += 10;
- $tracker = $saved_tracker;
if (isset($config['nat']['rule']) && is_array($config['nat']['rule'])) {
foreach ($config['nat']['rule'] as $rule) {
if ((!isset($config['system']['disablenatreflection']) || $rule['natreflection'] == "enable") &&
OpenPOWER on IntegriCloud