summaryrefslogtreecommitdiff
path: root/node/Filter.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2013-07-08 20:05:29 -0400
committerAdam Ierymenko <adam.ierymenko@gmail.com>2013-07-08 20:05:29 -0400
commit366f556e5b80ee44edb575f51b48dde09874fad8 (patch)
treed01ada2b2c190fc40ecc11ff6a12629c63b14b16 /node/Filter.cpp
parente7f20ad5f9345d17f7699d2d5ffab2ca5de335c1 (diff)
downloadinfinitytier-366f556e5b80ee44edb575f51b48dde09874fad8.tar.gz
infinitytier-366f556e5b80ee44edb575f51b48dde09874fad8.zip
Filter work
Diffstat (limited to 'node/Filter.cpp')
-rw-r--r--node/Filter.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/node/Filter.cpp b/node/Filter.cpp
index 1f81a360..5cd295c3 100644
--- a/node/Filter.cpp
+++ b/node/Filter.cpp
@@ -167,21 +167,27 @@ std::string Filter::toString(const char *sep) const
s.push_back('[');
if (i->rule.etherType()) {
- sprintf(buf,"%u-%u",i->rule.etherType().start,i->rule.etherType().end);
+ if (i->rule.etherType().magnitude() > 1)
+ sprintf(buf,"%u-%u",i->rule.etherType().start,i->rule.etherType().end);
+ else sprintf(buf,"%u",i->rule.etherType().start);
s.append(buf);
} else s.push_back('*');
s.push_back(';');
if (i->rule.protocol()) {
- sprintf(buf,"%u-%u",i->rule.protocol().start,i->rule.protocol().end);
+ if (i->rule.protocol().magnitude() > 1)
+ sprintf(buf,"%u-%u",i->rule.protocol().start,i->rule.protocol().end);
+ else sprintf(buf,"%u",i->rule.protocol().start);
s.append(buf);
} else s.push_back('*');
s.push_back(';');
if (i->rule.port()) {
- sprintf(buf,"%u-%u",i->rule.port().start,i->rule.port().end);
+ if (i->rule.port().magnitude() > 1)
+ sprintf(buf,"%u-%u",i->rule.port().start,i->rule.port().end);
+ else sprintf(buf,"%u",i->rule.port().start);
s.append(buf);
} else s.push_back('*');