1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2026-03-20 02:07:23 +01:00

see #2435 tcp flags parsing

This commit is contained in:
Vadim Kurland 2011-05-27 14:35:37 -07:00
parent 8082f602b3
commit 83fc99f076
2 changed files with 15 additions and 12 deletions

View File

@ -206,12 +206,17 @@ void PFImporter::addSrv()
if (src_port_group.size() == 0 && dst_port_group.size() == 0)
{
// protocol has been defined but not ports to match
ObjectSignature sig(error_tracker);
if (protocol == "tcp")
sig.type_name = TCPService::TYPENAME;
else
sig.type_name = UDPService::TYPENAME;
buildTCPUDPObjectSingature(
&sig,
"",
"",
false, // dest.
protocol.c_str(),
flags_check.c_str(),
flags_mask.c_str());
re->addRef(commitObject(service_maker->createObject(sig)));
@ -237,8 +242,7 @@ void PFImporter::addSrv()
flags_check.c_str(),
flags_mask.c_str());
re->addRef(
commitObject(service_maker->createObject(sig)));
re->addRef(commitObject(service_maker->createObject(sig)));
if (ps.port_op == "!=") re->setNeg(true);
}
@ -261,8 +265,7 @@ void PFImporter::addSrv()
flags_check.c_str(),
flags_mask.c_str());
re->addRef(
commitObject(service_maker->createObject(sig)));
re->addRef(commitObject(service_maker->createObject(sig)));
if (ps.port_op == "!=") re->setNeg(true);
}

View File

@ -173,12 +173,12 @@ FWObject* ServiceObjectMaker::getTCPService(int srs, int sre,
nl << QString("tcp %1:%2 / %3:%4").arg(srs).arg(sre).arg(drs).arg(dre);
if (established) nl << "est";
if (!flags_mask.isEmpty() && !flags_comp.isEmpty())
if (!flags_mask.isEmpty() || !flags_comp.isEmpty())
{
QStringList f;
foreach(int x, flags_mask) f << tcp_flag_names[x];
f << "/";
foreach(int x, flags_comp) f << tcp_flag_names[x];
f << "/";
foreach(int x, flags_mask) f << tcp_flag_names[x];
nl << f.join("");
}
@ -190,7 +190,7 @@ FWObject* ServiceObjectMaker::getTCPService(int srs, int sre,
s->setDstRangeEnd(dre);
if (!flags_mask.isEmpty() && !flags_comp.isEmpty())
if (!flags_mask.isEmpty() || !flags_comp.isEmpty())
{
// TCP flags
foreach(int x, flags_mask)