summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2008-01-05 05:04:57 +0000
committerScott Ullrich <sullrich@pfsense.org>2008-01-05 05:04:57 +0000
commit2f381b82fa67ad262c391d96230696a4f66f6653 (patch)
treec3ab53aaf9d05de31a431a6240213d60aea72125 /etc
parent3214bd9a4387d1bffca6d9da927e0762e1d5fe76 (diff)
downloadpfsense-2f381b82fa67ad262c391d96230696a4f66f6653.zip
pfsense-2f381b82fa67ad262c391d96230696a4f66f6653.tar.gz
Reapply patches from ticket #1532
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/filter.inc16
-rw-r--r--etc/inc/pfsense-utils.inc27
2 files changed, 21 insertions, 22 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index 6ef7870..6f23345 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -1337,10 +1337,12 @@ function generate_user_filter_rule_arr($rule, $ngcounter) {
$line = generate_user_filter_rule($rule, $ngcounter);
$ret['rule'] = $line;
$ret['interface'] = $rule['interface'];
- if($rule['descr'] != "" and $line != "")
- $ret['descr'] = "label \"USER_RULE: " . str_replace('"', '', $rule['descr']) . "\"";
- else
- $ret['descr'] = "label \"USER_RULE\"";
+ if ($line[0] != '#') {
+ if($rule['descr'] != "" and $line != "")
+ $ret['descr'] = "label \"USER_RULE: " . str_replace('"', '', $rule['descr']) . "\"";
+ else
+ $ret['descr'] = "label \"USER_RULE\"";
+ }
$ret['ackq'] = get_ack_queue($rule['interface']);
return $ret;
@@ -1393,7 +1395,7 @@ function generate_user_filter_rule($rule, $ngcounter) {
/* don't include disabled rules */
if (isset($rule['disabled'])) {
- return "# rule " . $rule['descr'] . " disabled \n";
+ return "# rule " . $rule['descr'] . " disabled ";
}
$pptpdcfg = $config['pptpd'];
@@ -1431,6 +1433,8 @@ function generate_user_filter_rule($rule, $ngcounter) {
if($config['pppoe']['n_pppoe_units'] <> "")
$nif = $config['pppoe']['n_pppoe_units'];
$ispppoe = true;
+ } else if(!isset($rule['interface'])) {
+ return '# Interface empty for rule: '.$rule['descr'];
} else {
/* Check to see if the interface is opt and in our opt list */
@@ -3294,4 +3298,4 @@ function return_vpn_subnet($adr) {
}
-?> \ No newline at end of file
+?>
diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc
index 38228bd..bfc3808 100644
--- a/etc/inc/pfsense-utils.inc
+++ b/etc/inc/pfsense-utils.inc
@@ -2452,21 +2452,15 @@ function cleanup_opt_interfaces_after_removal($opt_interface_num) {
unlink_if_exists("{$g['tmp_path']}/config.cache");
$config_file = file_get_contents("/cf/conf/config.xml");
/* loop through and reassign deleted items */
- for ($i = 500; isset ($config['interfaces']['opt' . $i]); $i--) {
- if ($i < $opt_interface_num)
- break;
- if ($i == $opt_interface_num) {
- /* item should be deleted */
- str_replace("opt" . $i, "optXXXX", $config_file);
- }
- }
- /* loop through and reassign optional items */
- for ($i = 500; isset ($config['interfaces']['opt' . $i]); $i--) {
- if ($i < $opt_interface_num)
- break;
- /* replace opt$i with $i -1 */
- str_replace("opt" . $i, "opt" . ($i -1), $config_file);
- }
+ $orig = array('opt'.$opt_interface_num,'OPT'.$opt_interface_num);
+ $repl = array('optXXXX','OPTXXXX');
+ for ($i = $opt_interface_num+1; isset ($config['interfaces']['opt' . $i]); $i++) {
+ array_push($orig,'opt'.$i);
+ array_push($repl,'opt'.($i -1));
+ array_push($orig,'OPT'.$i);
+ array_push($repl,'OPT'.($i -1));
+ }
+ $config_file = str_replace($orig, $repl, $config_file);
$fd = fopen("/cf/conf/config.xml", "w");
fwrite($fd, $config_file);
fclose($fd);
@@ -2490,6 +2484,7 @@ function cleanup_opt_interfaces_after_removal($opt_interface_num) {
if($config['nat']['rule'][$x]['interface'] == "optXXXX")
unset($config['nat']['rule'][$x]['interface']);
}
+ write_config();
conf_mount_ro();
config_unlock();
return true;
@@ -3622,4 +3617,4 @@ function is_wan_interface_up($interface) {
return false;
}
-?> \ No newline at end of file
+?>
OpenPOWER on IntegriCloud