summaryrefslogtreecommitdiffstats
path: root/usr/local/www/firewall_shaper_vinterface.php
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2011-02-09 21:40:00 +0000
committerErmal <eri@pfsense.org>2011-02-09 21:41:10 +0000
commit1cbe86f032a6dc1480c5b62d1d9a641a29105bac (patch)
treedd8caaf968d05c6fa5e5e2dd6b38378f0a1fe241 /usr/local/www/firewall_shaper_vinterface.php
parentdabcf28c6af506268941d2612d738815247e9fb8 (diff)
downloadpfsense-1cbe86f032a6dc1480c5b62d1d9a641a29105bac.zip
pfsense-1cbe86f032a6dc1480c5b62d1d9a641a29105bac.tar.gz
Fixes #1207. Allow renaming a limiter. Also prevent a limiter to be deleted if it is referenced in filter rules.
Diffstat (limited to 'usr/local/www/firewall_shaper_vinterface.php')
-rw-r--r--usr/local/www/firewall_shaper_vinterface.php27
1 files changed, 21 insertions, 6 deletions
diff --git a/usr/local/www/firewall_shaper_vinterface.php b/usr/local/www/firewall_shaper_vinterface.php
index 865f048..5222771 100644
--- a/usr/local/www/firewall_shaper_vinterface.php
+++ b/usr/local/www/firewall_shaper_vinterface.php
@@ -71,10 +71,12 @@ if ($_GET) {
if ($_POST) {
if ($_POST['name'])
$qname = htmlspecialchars(trim($_POST['name']));
+ else if ($_POST['newname'])
+ $qname = htmlspecialchars(trim($_POST['name']));
if ($_POST['pipe'])
$pipe = htmlspecialchars(trim($_POST['pipe']));
else
- $pipe = htmlspecialchars(trim($_POST['name']));
+ $pipe = htmlspecialchars(trim($qname));
if ($_POST['parentqueue'])
$parentqueue = htmlspecialchars(trim($_POST['parentqueue']));
}
@@ -94,12 +96,25 @@ if ($_GET) {
switch ($action) {
case "delete":
if ($queue) {
- $queue->delete_queue();
- write_config();
- mark_subsystem_dirty('shaper');
+ if (is_array($config['filter']['rule'])) {
+ foreach ($config['filter']['rule'] as $rule) {
+ if ($rule['dnpipe'] == $queue->GetNumber() || $rule['pdnpipe'] == $queue->GetNumber())
+ $input_errors[] = gettext("This pipe/queue is referenced in filter rules, please remove references from there before deleteing.");
+ }
+ }
+ if (!$input_errors) {
+ $queue->delete_queue();
+ write_config();
+ mark_subsystem_dirty('shaper');
+ header("Location: firewall_shaper_vinterface.php");
+ exit;
+ }
+ $output_form .= $queue->build_form();
+ } else {
+ $input_errors[] = gettext("No queue with name {$qname} was found!");
+ $output_form .= "<p class=\"pgtitle\">" . $dn_default_shaper_msg."</p>";
+ $dontshow = true;
}
- header("Location: firewall_shaper_vinterface.php");
- exit;
break;
case "resetall":
foreach ($dummynet_pipe_list as $dn)
OpenPOWER on IntegriCloud