소스 검색

Filter work

Adam Ierymenko 12 년 전
부모
커밋
366f556e5b
1개의 변경된 파일9개의 추가작업 그리고 3개의 파일을 삭제
  1. 9 3
      node/Filter.cpp

+ 9 - 3
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('*');