see #2296 added log records for access-list lines

This commit is contained in:
Vadim Kurland
2011-04-01 11:39:45 -07:00
parent 8a7ef98a4a
commit b4a8266b64
3 changed files with 56 additions and 21 deletions
-3
View File
@@ -522,9 +522,6 @@ void Importer::pushRule()
assert(current_rule!=NULL);
// populate all elements of the rule
//qDebug() << QString("Adding rule from line %1").arg(getCurrentLineNumber())
// << "current_rule=" << current_rule;
PolicyRule *rule = PolicyRule::cast(current_rule);
FWOptions *ropt = current_rule->getOptionsObject();
+56 -4
View File
@@ -280,14 +280,66 @@ void PIXImporter::addLogging()
void PIXImporter::pushRule()
{
// assert(current_ruleset!=NULL);
if (current_rule==NULL) return;
if (rule_type == NATRule::Unknown)
IOSImporter::pushRule();
pushPolicyRule();
else
pushNATRule();
assert(current_rule!=NULL);
if (error_tracker->hasErrors())
{
QStringList err = error_tracker->getErrors();
addMessageToLog("Error: " + err.join("\n"));
markCurrentRuleBad();
}
current_rule = NULL;
rule_comment = "";
clear();
}
void PIXImporter::pushPolicyRule()
{
assert(current_ruleset!=NULL);
assert(current_rule!=NULL);
// populate all elements of the rule
addMessageToLog(QString("access list rule, action %1").arg(action.c_str()));
PolicyRule *rule = PolicyRule::cast(current_rule);
FWOptions *ropt = current_rule->getOptionsObject();
assert(ropt!=NULL);
if (action=="permit")
{
rule->setAction(PolicyRule::Accept);
ropt->setBool("stateless", false);
}
if (action=="deny")
{
rule->setAction(PolicyRule::Deny);
ropt->setBool("stateless", true);
}
rule->setDirection(PolicyRule::Both);
addSrc();
addDst();
addSrv();
addLogging();
// then add it to the current ruleset
current_ruleset->ruleset->add(current_rule);
addStandardImportComment(
current_rule, QString::fromUtf8(rule_comment.c_str()));
}
/*
* Rearrange vlan interfaces. Importer creates all interfaces as
-14
View File
@@ -111,20 +111,6 @@ void PIXImporter::pushNATRule()
default:
assert(rule_type!=NATRule::DNAT && rule_type!=NATRule::SNAT);
}
assert(current_rule!=NULL);
if (error_tracker->hasErrors())
{
QStringList err = error_tracker->getErrors();
addMessageToLog("Error: " + err.join("\n"));
markCurrentRuleBad();
}
current_rule = NULL;
rule_comment = "";
clear();
}
/*