summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorstilez <stilez@users.noreply.github.com>2016-09-13 20:11:48 +0100
committerRenato Botelho <renato@netgate.com>2016-09-15 09:48:32 -0300
commit6779b24d5c1f321afe9c67052813ab68c995d1c4 (patch)
treeb353b64275ccefff966ee2adfd9fe3cd23722c4e /src
parent49f5e806ee7e2e705a84bf77c6c1d375e8906fa4 (diff)
downloadpfsense-6779b24d5c1f321afe9c67052813ab68c995d1c4.zip
pfsense-6779b24d5c1f321afe9c67052813ab68c995d1c4.tar.gz
Simplify icmp conversion
pprior code "converts" every icmp type - of which only 3 actually get changed (rest keep same value anyhow!). If also uses a SWITCH {} construct rather than lookup + foreach, which is longer and less efficient. (cherry picked from commit 0ce1667bc6fe80ef8e6b4d0d6d38d9859d5f4d94)
Diffstat (limited to 'src')
-rw-r--r--src/usr/local/www/diag_backup.php47
1 files changed, 4 insertions, 43 deletions
diff --git a/src/usr/local/www/diag_backup.php b/src/usr/local/www/diag_backup.php
index ae12518..383c82b 100644
--- a/src/usr/local/www/diag_backup.php
+++ b/src/usr/local/www/diag_backup.php
@@ -433,49 +433,10 @@ if ($_POST) {
}
// Convert icmp types
// http://www.openbsd.org/cgi-bin/man.cgi?query=icmp&sektion=4&arch=i386&apropos=0&manpath=OpenBSD+Current
- for ($i = 0; isset($config["filter"]["rule"][$i]); $i++) {
- if ($config["filter"]["rule"][$i]['icmptype']) {
- switch ($config["filter"]["rule"][$i]['icmptype']) {
- case "echo":
- $config["filter"]["rule"][$i]['icmptype'] = "echoreq";
- break;
- case "unreach":
- $config["filter"]["rule"][$i]['icmptype'] = "unreach";
- break;
- case "echorep":
- $config["filter"]["rule"][$i]['icmptype'] = "echorep";
- break;
- case "squench":
- $config["filter"]["rule"][$i]['icmptype'] = "squench";
- break;
- case "redir":
- $config["filter"]["rule"][$i]['icmptype'] = "redir";
- break;
- case "timex":
- $config["filter"]["rule"][$i]['icmptype'] = "timex";
- break;
- case "paramprob":
- $config["filter"]["rule"][$i]['icmptype'] = "paramprob";
- break;
- case "timest":
- $config["filter"]["rule"][$i]['icmptype'] = "timereq";
- break;
- case "timestrep":
- $config["filter"]["rule"][$i]['icmptype'] = "timerep";
- break;
- case "inforeq":
- $config["filter"]["rule"][$i]['icmptype'] = "inforeq";
- break;
- case "inforep":
- $config["filter"]["rule"][$i]['icmptype'] = "inforep";
- break;
- case "maskreq":
- $config["filter"]["rule"][$i]['icmptype'] = "maskreq";
- break;
- case "maskrep":
- $config["filter"]["rule"][$i]['icmptype'] = "maskrep";
- break;
- }
+ $convert = array('echo' => 'echoreq', 'timest' => 'timereq', 'timestrep' => 'timerep');
+ foreach ($config["filter"]["rule"] as $ruleid => &$ruledata) {
+ if ($convert[$ruledata['icmptype']]) {
+ $ruledata['icmptype'] = $convert[$ruledata['icmptype']];
}
}
$config['diag']['ipv6nat'] = true;
OpenPOWER on IntegriCloud