summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2005-05-05 18:36:45 +0000
committerScott Ullrich <sullrich@pfsense.org>2005-05-05 18:36:45 +0000
commit92ffa1cfe3208477e1dd15a839ebca16a4c9d4ce (patch)
tree55776ec7a0dc9567f3bd23fd312e080f349ef0b8
parentad49bef08c69bdc8719af2bbee0e0fbd77b2bc5b (diff)
downloadpfsense-92ffa1cfe3208477e1dd15a839ebca16a4c9d4ce.zip
pfsense-92ffa1cfe3208477e1dd15a839ebca16a4c9d4ce.tar.gz
Enhanced error checking for user rules.
If for some reason the person assigns the interfaces and there are LESS interfaces before this can somewhat lead to the rules being inconsistent. Make sure the USER_RULE passed back does not start with "label", IE: a real rule exists.
-rw-r--r--etc/inc/filter.inc6
1 files changed, 3 insertions, 3 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index 3e4a317..c972663 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -1030,8 +1030,8 @@ function generate_user_filter_rule($rule, $ngcounter) {
if (strstr($rule['interface'], "opt")) {
if (!array_key_exists($rule['interface'], $optcfg)) {
$item = "";
- foreach($optcfg as $oc) $item .= $oc;
- return "# {$item} {$rule['interface']} array key does not exist for " . $rule['descr'] . "\n";
+ foreach($optcfg as $oc) $item .= $oc['if'];
+ return "# {$real_int} {$item} {$rule['interface']} array key does not exist for " . $rule['descr'] . "\n";
return;
}
}
@@ -1666,7 +1666,7 @@ EOD;
$line = generate_user_filter_rule($rule, 0);
if (!isset($rule['disabled'])) {
// label
- if($rule['descr'] <> "" and $line <> "") {
+ if($rule['descr'] <> "" and $line <> "" and strpos($line, "label" > 0) {
$line .= "label \"USER_RULE: " . $rule['descr'] . "\" ";
} else {
$line .= "# could not process \"USER_RULE: " . $rule['descr'] . "\" ";
OpenPOWER on IntegriCloud