The wizards do not set the rule type and queues should be enabled even on block rules so add the queues to the rules even if the type of rule is not set(which means pass btw). This unbreaks the traffic shaper wizards and block shaping rules.

This commit is contained in:
Ermal Lui 2009-11-02 17:56:31 +00:00
parent 3b52c5afce
commit 361a1b3ed4

View File

@ -1527,26 +1527,24 @@ function filter_generate_user_rule($rule)
/* special reject packet */
$aline['flags'] .= "flags S/SA ";
}
if ($type == "pass") {
if ($rule['defaultqueue'] <> "") {
$aline['queue'] = " queue (".$rule['defaultqueue'];
if ($rule['ackqueue'] <> "")
$aline['queue'] .= ",".$rule['ackqueue'];
$aline['queue'] .= ") ";
}
if ($rule['dnpipe'] <> "") {
if ($rule['dnpipe'][0] == "?") {
$aline['dnpipe'] = " dnqueue( ";
$aline['dnpipe'] .= substr($rule['dnpipe'],1);
if ($rule['pdnpipe'] <> "")
$aline['dnpipe'] .= ",".substr($rule['pdnpipe'], 1);
} else {
$aline['dnpipe'] = " dnpipe ( " . $rule['dnpipe'];
if ($rule['pdnpipe'] <> "")
$aline['dnpipe'] .= ", " . $rule['pdnpipe'];
}
$aline['dnpipe'] .= ") ";
if ($rule['defaultqueue'] <> "") {
$aline['queue'] = " queue (".$rule['defaultqueue'];
if ($rule['ackqueue'] <> "")
$aline['queue'] .= ",".$rule['ackqueue'];
$aline['queue'] .= ") ";
}
if ($rule['dnpipe'] <> "") {
if ($rule['dnpipe'][0] == "?") {
$aline['dnpipe'] = " dnqueue( ";
$aline['dnpipe'] .= substr($rule['dnpipe'],1);
if ($rule['pdnpipe'] <> "")
$aline['dnpipe'] .= ",".substr($rule['pdnpipe'], 1);
} else {
$aline['dnpipe'] = " dnpipe ( " . $rule['dnpipe'];
if ($rule['pdnpipe'] <> "")
$aline['dnpipe'] .= ", " . $rule['pdnpipe'];
}
$aline['dnpipe'] .= ") ";
}
/* is a time based rule schedule attached? */