diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2005-05-05 18:36:45 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2005-05-05 18:36:45 +0000 |
commit | 92ffa1cfe3208477e1dd15a839ebca16a4c9d4ce (patch) | |
tree | 55776ec7a0dc9567f3bd23fd312e080f349ef0b8 | |
parent | ad49bef08c69bdc8719af2bbee0e0fbd77b2bc5b (diff) | |
download | pfsense-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.inc | 6 |
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'] . "\" "; |