see #2497 added an error on import of "include" word in pf.conf files

This commit is contained in:
Vadim Kurland
2011-06-09 16:15:36 -07:00
parent 677173e030
commit c77796ebd0
7 changed files with 1652 additions and 1510 deletions
+1
View File
@@ -81,6 +81,7 @@
- Import of IPv6 addresses and ICMPv6 matches in pf.conf is not
supported at this time.
- Import of TCP flag matches for flags 'E' and 'W' is not supported.
- Import of "include" clause is not supported
2011-05-26 Vadim Kurland <vadim@netcitadel.com>
+313 -312
View File
@@ -44,214 +44,215 @@ PFCfgLexer::PFCfgLexer(const ANTLR_USE_NAMESPACE(antlr)LexerSharedInputState& st
void PFCfgLexer::initLiterals()
{
literals["badhead"] = 197;
literals["notifications"] = 231;
literals["state-policy"] = 25;
literals["floating"] = 27;
literals["no"] = 83;
literals["counters"] = 71;
literals["esp"] = 125;
literals["routersol"] = 156;
literals["frags"] = 59;
literals["reply-to"] = 138;
literals["icmp.first"] = 48;
literals["string-key"] = 98;
literals["gre"] = 124;
literals["pass"] = 85;
literals["scrub"] = 64;
literals["warnings"] = 232;
literals["skip"] = 31;
literals["timeout"] = 12;
literals["eigrp"] = 127;
literals["icmp-type"] = 147;
literals["transit"] = 195;
literals["inet"] = 114;
literals["no-df"] = 142;
literals["network"] = 76;
literals["photuris"] = 172;
literals["igmp"] = 119;
literals["unreach"] = 150;
literals["range"] = 224;
literals["rsvp"] = 123;
literals["debugging"] = 227;
literals["host-tos"] = 185;
literals["paramprob"] = 158;
literals["user"] = 111;
literals["interface"] = 213;
literals["adaptive.end"] = 57;
literals["limit"] = 20;
literals["state-defaults"] = 28;
literals["hex-key"] = 97;
literals["net-unk"] = 179;
literals["antispoof"] = 8;
literals["udp.single"] = 46;
literals["inforeq"] = 161;
literals["ipv6-here"] = 169;
literals["redir"] = 152;
literals["static-port"] = 87;
literals["common-adv"] = 194;
literals["loginterface"] = 21;
literals["ip"] = 117;
literals["mobregreq"] = 170;
literals["conservative"] = 16;
literals["ospf"] = 128;
literals["proto-unr"] = 175;
literals["peer"] = 78;
literals["inforep"] = 162;
literals["errors"] = 229;
literals["tables-entries"] = 63;
literals["any"] = 135;
literals["mobregrep"] = 171;
literals["label"] = 210;
literals["pptp"] = 220;
literals["synproxy"] = 208;
literals["debug"] = 36;
literals["alerts"] = 225;
literals["all"] = 110;
literals["state"] = 209;
literals["tag"] = 205;
literals["in"] = 107;
literals["tables"] = 62;
literals["file"] = 72;
literals["nos"] = 217;
literals["src-nodes"] = 61;
literals["ipv6-where"] = 168;
literals["require-order"] = 29;
literals["udp"] = 121;
literals["states"] = 60;
literals["sticky-address"] = 100;
literals["return-icmp"] = 105;
literals["redir-tos-net"] = 191;
literals["pim"] = 219;
literals["emergencies"] = 228;
literals["squench"] = 151;
literals["disable"] = 233;
literals["flags"] = 146;
literals["tcp"] = 120;
literals["net-tos"] = 184;
literals["reassemble"] = 37;
literals["adaptive.start"] = 56;
literals["frag"] = 53;
literals["port"] = 91;
literals["icmp"] = 118;
literals["to"] = 112;
literals["return-rst"] = 103;
literals["normal-adv"] = 193;
literals["optimization"] = 14;
literals["log"] = 109;
literals["fragment"] = 139;
literals["snp"] = 222;
literals["broadcast"] = 77;
literals["icmp6-type"] = 203;
literals["normal"] = 18;
literals["code"] = 148;
literals["if-bound"] = 26;
literals["src.track"] = 55;
literals["drop-ovl"] = 141;
literals["routeradv"] = 155;
literals["other.single"] = 51;
literals["bitmask"] = 94;
literals["maskreq"] = 163;
literals["ipip"] = 129;
literals["tcp.closed"] = 44;
literals["block"] = 102;
literals["high-latency"] = 17;
literals["udp.first"] = 45;
literals["badlen"] = 199;
literals["tcp.first"] = 39;
literals["host-unr"] = 174;
literals["ah"] = 126;
literals["random-id"] = 145;
literals["modulate"] = 207;
literals["interval"] = 54;
literals["maskrep"] = 164;
literals["ruleset-optimization"] = 13;
literals["trace"] = 165;
literals["rip"] = 221;
literals["urpf-failed"] = 134;
literals["set"] = 11;
literals["source-hash"] = 96;
literals["critical"] = 226;
literals["quit"] = 212;
literals["icmp.error"] = 49;
literals["const"] = 70;
literals["altq"] = 9;
literals["tcp.closing"] = 42;
literals["port-unr"] = 176;
literals["table"] = 66;
literals["redir-tos-host"] = 192;
literals["fingerprints"] = 30;
literals["return"] = 24;
literals["optmiss"] = 198;
literals["match"] = 65;
literals["keep"] = 206;
literals["net-prohib"] = 182;
literals["inet6"] = 115;
literals["from"] = 133;
literals["tcp.finwait"] = 43;
literals["hostid"] = 38;
literals["proto"] = 116;
literals["vrrp"] = 130;
literals["drop"] = 23;
literals["l2tp"] = 131;
literals["max-mss"] = 144;
literals["isolate"] = 181;
literals["timereq"] = 159;
literals["aggressive"] = 15;
literals["icmp6"] = 214;
literals["echoreq"] = 154;
literals["tcp.established"] = 41;
literals["decrypt-fail"] = 202;
literals["mobredir"] = 167;
literals["other.first"] = 50;
literals["ipsec"] = 216;
literals["no-route"] = 136;
literals["random"] = 95;
literals["binat"] = 101;
literals["srcfail"] = 178;
literals["self"] = 79;
literals["timerep"] = 160;
literals["crop"] = 140;
literals["host-preced"] = 187;
literals["host"] = 223;
literals["echorep"] = 149;
literals["other.multiple"] = 52;
literals["althost"] = 153;
literals["udp.multiple"] = 47;
literals["cutoff-preced"] = 188;
literals["redir-host"] = 190;
literals["rdr"] = 88;
literals["tagged"] = 204;
literals["on"] = 32;
literals["round-robin"] = 99;
literals["pcp"] = 218;
literals["block-policy"] = 22;
literals["persist"] = 69;
literals["unknown-ind"] = 200;
literals["redir-net"] = 189;
literals["filter-prohib"] = 186;
literals["nat"] = 84;
literals["satellite"] = 19;
literals["informational"] = 230;
literals["needfrag"] = 177;
literals["tcp.opening"] = 40;
literals["igrp"] = 215;
literals["quick"] = 113;
literals["timex"] = 157;
literals["host-unk"] = 180;
literals["route-to"] = 137;
literals["dataconv"] = 166;
literals["rdp"] = 122;
literals["net-unr"] = 173;
literals["queue"] = 10;
literals["isis"] = 132;
literals["reassemb"] = 196;
literals["inactive"] = 234;
literals["out"] = 108;
literals["min-ttl"] = 143;
literals["auth-fail"] = 201;
literals["exit"] = 211;
literals["host-prohib"] = 183;
literals["badhead"] = 198;
literals["notifications"] = 232;
literals["state-policy"] = 26;
literals["floating"] = 28;
literals["no"] = 84;
literals["counters"] = 72;
literals["esp"] = 126;
literals["routersol"] = 157;
literals["frags"] = 60;
literals["reply-to"] = 139;
literals["icmp.first"] = 49;
literals["string-key"] = 99;
literals["gre"] = 125;
literals["pass"] = 86;
literals["scrub"] = 65;
literals["warnings"] = 233;
literals["include"] = 6;
literals["skip"] = 32;
literals["timeout"] = 13;
literals["eigrp"] = 128;
literals["icmp-type"] = 148;
literals["transit"] = 196;
literals["inet"] = 115;
literals["no-df"] = 143;
literals["network"] = 77;
literals["photuris"] = 173;
literals["igmp"] = 120;
literals["unreach"] = 151;
literals["range"] = 225;
literals["rsvp"] = 124;
literals["debugging"] = 228;
literals["host-tos"] = 186;
literals["paramprob"] = 159;
literals["user"] = 112;
literals["interface"] = 214;
literals["adaptive.end"] = 58;
literals["limit"] = 21;
literals["state-defaults"] = 29;
literals["hex-key"] = 98;
literals["net-unk"] = 180;
literals["antispoof"] = 9;
literals["udp.single"] = 47;
literals["inforeq"] = 162;
literals["ipv6-here"] = 170;
literals["redir"] = 153;
literals["static-port"] = 88;
literals["common-adv"] = 195;
literals["loginterface"] = 22;
literals["ip"] = 118;
literals["mobregreq"] = 171;
literals["conservative"] = 17;
literals["ospf"] = 129;
literals["proto-unr"] = 176;
literals["peer"] = 79;
literals["inforep"] = 163;
literals["errors"] = 230;
literals["tables-entries"] = 64;
literals["any"] = 136;
literals["mobregrep"] = 172;
literals["label"] = 211;
literals["pptp"] = 221;
literals["synproxy"] = 209;
literals["debug"] = 37;
literals["alerts"] = 226;
literals["all"] = 111;
literals["state"] = 210;
literals["tag"] = 206;
literals["in"] = 108;
literals["tables"] = 63;
literals["file"] = 73;
literals["nos"] = 218;
literals["src-nodes"] = 62;
literals["ipv6-where"] = 169;
literals["require-order"] = 30;
literals["udp"] = 122;
literals["states"] = 61;
literals["sticky-address"] = 101;
literals["return-icmp"] = 106;
literals["redir-tos-net"] = 192;
literals["pim"] = 220;
literals["emergencies"] = 229;
literals["squench"] = 152;
literals["disable"] = 234;
literals["flags"] = 147;
literals["tcp"] = 121;
literals["net-tos"] = 185;
literals["reassemble"] = 38;
literals["adaptive.start"] = 57;
literals["frag"] = 54;
literals["port"] = 92;
literals["icmp"] = 119;
literals["to"] = 113;
literals["return-rst"] = 104;
literals["normal-adv"] = 194;
literals["optimization"] = 15;
literals["log"] = 110;
literals["fragment"] = 140;
literals["snp"] = 223;
literals["broadcast"] = 78;
literals["icmp6-type"] = 204;
literals["normal"] = 19;
literals["code"] = 149;
literals["if-bound"] = 27;
literals["src.track"] = 56;
literals["drop-ovl"] = 142;
literals["routeradv"] = 156;
literals["other.single"] = 52;
literals["bitmask"] = 95;
literals["maskreq"] = 164;
literals["ipip"] = 130;
literals["tcp.closed"] = 45;
literals["block"] = 103;
literals["high-latency"] = 18;
literals["udp.first"] = 46;
literals["badlen"] = 200;
literals["tcp.first"] = 40;
literals["host-unr"] = 175;
literals["ah"] = 127;
literals["random-id"] = 146;
literals["modulate"] = 208;
literals["interval"] = 55;
literals["maskrep"] = 165;
literals["ruleset-optimization"] = 14;
literals["trace"] = 166;
literals["rip"] = 222;
literals["urpf-failed"] = 135;
literals["set"] = 12;
literals["source-hash"] = 97;
literals["critical"] = 227;
literals["quit"] = 213;
literals["icmp.error"] = 50;
literals["const"] = 71;
literals["altq"] = 10;
literals["tcp.closing"] = 43;
literals["port-unr"] = 177;
literals["table"] = 67;
literals["redir-tos-host"] = 193;
literals["fingerprints"] = 31;
literals["return"] = 25;
literals["optmiss"] = 199;
literals["match"] = 66;
literals["keep"] = 207;
literals["net-prohib"] = 183;
literals["inet6"] = 116;
literals["from"] = 134;
literals["tcp.finwait"] = 44;
literals["hostid"] = 39;
literals["proto"] = 117;
literals["vrrp"] = 131;
literals["drop"] = 24;
literals["l2tp"] = 132;
literals["max-mss"] = 145;
literals["isolate"] = 182;
literals["timereq"] = 160;
literals["aggressive"] = 16;
literals["icmp6"] = 215;
literals["echoreq"] = 155;
literals["tcp.established"] = 42;
literals["decrypt-fail"] = 203;
literals["mobredir"] = 168;
literals["other.first"] = 51;
literals["ipsec"] = 217;
literals["no-route"] = 137;
literals["random"] = 96;
literals["binat"] = 102;
literals["srcfail"] = 179;
literals["self"] = 80;
literals["timerep"] = 161;
literals["crop"] = 141;
literals["host-preced"] = 188;
literals["host"] = 224;
literals["echorep"] = 150;
literals["other.multiple"] = 53;
literals["althost"] = 154;
literals["udp.multiple"] = 48;
literals["cutoff-preced"] = 189;
literals["redir-host"] = 191;
literals["rdr"] = 89;
literals["tagged"] = 205;
literals["on"] = 33;
literals["round-robin"] = 100;
literals["pcp"] = 219;
literals["block-policy"] = 23;
literals["persist"] = 70;
literals["unknown-ind"] = 201;
literals["redir-net"] = 190;
literals["filter-prohib"] = 187;
literals["nat"] = 85;
literals["satellite"] = 20;
literals["informational"] = 231;
literals["needfrag"] = 178;
literals["tcp.opening"] = 41;
literals["igrp"] = 216;
literals["quick"] = 114;
literals["timex"] = 158;
literals["host-unk"] = 181;
literals["route-to"] = 138;
literals["dataconv"] = 167;
literals["rdp"] = 123;
literals["net-unr"] = 174;
literals["queue"] = 11;
literals["isis"] = 133;
literals["reassemb"] = 197;
literals["inactive"] = 235;
literals["out"] = 109;
literals["min-ttl"] = 144;
literals["auth-fail"] = 202;
literals["exit"] = 212;
literals["host-prohib"] = 184;
}
ANTLR_USE_NAMESPACE(antlr)RefToken PFCfgLexer::nextToken()
@@ -559,11 +560,11 @@ void PFCfgLexer::mLINE_COMMENT(bool _createToken) {
}
}
else {
goto _loop255;
goto _loop256;
}
}
_loop255:;
_loop256:;
} // ( ... )*
mNEWLINE(false);
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
@@ -595,9 +596,9 @@ void PFCfgLexer::mNEWLINE(bool _createToken) {
}
if ( inputState->guessing==0 ) {
#line 1918 "pf.g"
#line 1933 "pf.g"
newline();
#line 601 "PFCfgLexer.cpp"
#line 602 "PFCfgLexer.cpp"
}
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
_token = makeToken(_ttype);
@@ -676,9 +677,9 @@ void PFCfgLexer::mWhitespace(bool _createToken) {
}
}
if ( inputState->guessing==0 ) {
#line 1913 "pf.g"
#line 1928 "pf.g"
_ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP;
#line 682 "PFCfgLexer.cpp"
#line 683 "PFCfgLexer.cpp"
}
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
_token = makeToken(_ttype);
@@ -903,10 +904,10 @@ void PFCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
_ttype = NUMBER_ADDRESS_OR_WORD;
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
bool synPredMatched308 = false;
bool synPredMatched309 = false;
if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_3.member(LA(2))) && (_tokenSet_3.member(LA(3))))) {
int _m308 = mark();
synPredMatched308 = true;
int _m309 = mark();
synPredMatched309 = true;
inputState->guessing++;
try {
{
@@ -917,12 +918,12 @@ void PFCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
synPredMatched308 = false;
synPredMatched309 = false;
}
rewind(_m308);
rewind(_m309);
inputState->guessing--;
}
if ( synPredMatched308 ) {
if ( synPredMatched309 ) {
{
mNUM_3DIGIT(false);
match('.' /* charlit */ );
@@ -933,144 +934,144 @@ void PFCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
mNUM_3DIGIT(false);
}
if ( inputState->guessing==0 ) {
#line 1973 "pf.g"
#line 1988 "pf.g"
_ttype = IPV4;
#line 939 "PFCfgLexer.cpp"
#line 940 "PFCfgLexer.cpp"
}
}
else {
bool synPredMatched315 = false;
bool synPredMatched316 = false;
if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_3.member(LA(2))) && (_tokenSet_3.member(LA(3))))) {
int _m315 = mark();
synPredMatched315 = true;
int _m316 = mark();
synPredMatched316 = true;
inputState->guessing++;
try {
{
{ // ( ... )+
int _cnt312=0;
int _cnt313=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
mDIGIT(false);
}
else {
if ( _cnt312>=1 ) { goto _loop312; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
if ( _cnt313>=1 ) { goto _loop313; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt312++;
_cnt313++;
}
_loop312:;
_loop313:;
} // ( ... )+
match('.' /* charlit */ );
{ // ( ... )+
int _cnt314=0;
int _cnt315=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
mDIGIT(false);
}
else {
if ( _cnt314>=1 ) { goto _loop314; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
if ( _cnt315>=1 ) { goto _loop315; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt314++;
_cnt315++;
}
_loop314:;
_loop315:;
} // ( ... )+
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
synPredMatched315 = false;
synPredMatched316 = false;
}
rewind(_m315);
rewind(_m316);
inputState->guessing--;
}
if ( synPredMatched315 ) {
if ( synPredMatched316 ) {
{
{ // ( ... )+
int _cnt318=0;
int _cnt319=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
mDIGIT(false);
}
else {
if ( _cnt318>=1 ) { goto _loop318; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
if ( _cnt319>=1 ) { goto _loop319; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt318++;
_cnt319++;
}
_loop318:;
_loop319:;
} // ( ... )+
match('.' /* charlit */ );
{ // ( ... )+
int _cnt320=0;
int _cnt321=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
mDIGIT(false);
}
else {
if ( _cnt320>=1 ) { goto _loop320; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
if ( _cnt321>=1 ) { goto _loop321; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt320++;
_cnt321++;
}
_loop320:;
_loop321:;
} // ( ... )+
}
if ( inputState->guessing==0 ) {
#line 1976 "pf.g"
#line 1991 "pf.g"
_ttype = NUMBER;
#line 1022 "PFCfgLexer.cpp"
#line 1023 "PFCfgLexer.cpp"
}
}
else {
bool synPredMatched283 = false;
bool synPredMatched284 = false;
if (((_tokenSet_2.member(LA(1))) && (_tokenSet_4.member(LA(2))) && (true))) {
int _m283 = mark();
synPredMatched283 = true;
int _m284 = mark();
synPredMatched284 = true;
inputState->guessing++;
try {
{
{ // ( ... )+
int _cnt282=0;
int _cnt283=0;
for (;;) {
if ((_tokenSet_2.member(LA(1)))) {
mHEX_DIGIT(false);
}
else {
if ( _cnt282>=1 ) { goto _loop282; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
if ( _cnt283>=1 ) { goto _loop283; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt282++;
_cnt283++;
}
_loop282:;
_loop283:;
} // ( ... )+
match(':' /* charlit */ );
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
synPredMatched283 = false;
synPredMatched284 = false;
}
rewind(_m283);
rewind(_m284);
inputState->guessing--;
}
if ( synPredMatched283 ) {
if ( synPredMatched284 ) {
{
{
{ // ( ... )+
int _cnt287=0;
int _cnt288=0;
for (;;) {
if ((_tokenSet_2.member(LA(1)))) {
mHEX_DIGIT(false);
}
else {
if ( _cnt287>=1 ) { goto _loop287; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
if ( _cnt288>=1 ) { goto _loop288; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt287++;
_cnt288++;
}
_loop287:;
_loop288:;
} // ( ... )+
{ // ( ... )+
int _cnt291=0;
int _cnt292=0;
for (;;) {
if ((LA(1) == 0x3a /* ':' */ )) {
match(':' /* charlit */ );
@@ -1080,34 +1081,34 @@ void PFCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
mHEX_DIGIT(false);
}
else {
goto _loop290;
goto _loop291;
}
}
_loop290:;
_loop291:;
} // ( ... )*
}
else {
if ( _cnt291>=1 ) { goto _loop291; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
if ( _cnt292>=1 ) { goto _loop292; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt291++;
_cnt292++;
}
_loop291:;
_loop292:;
} // ( ... )+
}
if ( inputState->guessing==0 ) {
#line 1958 "pf.g"
#line 1973 "pf.g"
_ttype = IPV6;
#line 1103 "PFCfgLexer.cpp"
#line 1104 "PFCfgLexer.cpp"
}
}
}
else {
bool synPredMatched293 = false;
bool synPredMatched294 = false;
if (((LA(1) == 0x3a /* ':' */ ))) {
int _m293 = mark();
synPredMatched293 = true;
int _m294 = mark();
synPredMatched294 = true;
inputState->guessing++;
try {
{
@@ -1115,93 +1116,93 @@ void PFCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
synPredMatched293 = false;
synPredMatched294 = false;
}
rewind(_m293);
rewind(_m294);
inputState->guessing--;
}
if ( synPredMatched293 ) {
if ( synPredMatched294 ) {
{
bool synPredMatched298 = false;
bool synPredMatched299 = false;
if (((LA(1) == 0x3a /* ':' */ ) && (LA(2) == 0x3a /* ':' */ ) && (_tokenSet_2.member(LA(3))))) {
int _m298 = mark();
synPredMatched298 = true;
int _m299 = mark();
synPredMatched299 = true;
inputState->guessing++;
try {
{
match(':' /* charlit */ );
match(':' /* charlit */ );
{ // ( ... )+
int _cnt297=0;
int _cnt298=0;
for (;;) {
if ((_tokenSet_2.member(LA(1)))) {
mHEX_DIGIT(false);
}
else {
if ( _cnt297>=1 ) { goto _loop297; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
if ( _cnt298>=1 ) { goto _loop298; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt297++;
_cnt298++;
}
_loop297:;
_loop298:;
} // ( ... )+
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
synPredMatched298 = false;
synPredMatched299 = false;
}
rewind(_m298);
rewind(_m299);
inputState->guessing--;
}
if ( synPredMatched298 ) {
if ( synPredMatched299 ) {
{
match(':' /* charlit */ );
match(':' /* charlit */ );
{ // ( ... )+
int _cnt301=0;
int _cnt302=0;
for (;;) {
if ((_tokenSet_2.member(LA(1)))) {
mHEX_DIGIT(false);
}
else {
if ( _cnt301>=1 ) { goto _loop301; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
if ( _cnt302>=1 ) { goto _loop302; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt301++;
_cnt302++;
}
_loop301:;
_loop302:;
} // ( ... )+
{ // ( ... )*
for (;;) {
if ((LA(1) == 0x3a /* ':' */ )) {
match(':' /* charlit */ );
{ // ( ... )+
int _cnt304=0;
int _cnt305=0;
for (;;) {
if ((_tokenSet_2.member(LA(1)))) {
mHEX_DIGIT(false);
}
else {
if ( _cnt304>=1 ) { goto _loop304; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
if ( _cnt305>=1 ) { goto _loop305; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt304++;
_cnt305++;
}
_loop304:;
_loop305:;
} // ( ... )+
}
else {
goto _loop305;
goto _loop306;
}
}
_loop305:;
_loop306:;
} // ( ... )*
}
if ( inputState->guessing==0 ) {
#line 1964 "pf.g"
#line 1979 "pf.g"
_ttype = IPV6;
#line 1205 "PFCfgLexer.cpp"
#line 1206 "PFCfgLexer.cpp"
}
}
else if ((LA(1) == 0x3a /* ':' */ ) && (LA(2) == 0x3a /* ':' */ ) && (true)) {
@@ -1210,17 +1211,17 @@ void PFCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
match(':' /* charlit */ );
}
if ( inputState->guessing==0 ) {
#line 1966 "pf.g"
#line 1981 "pf.g"
_ttype = IPV6;
#line 1216 "PFCfgLexer.cpp"
#line 1217 "PFCfgLexer.cpp"
}
}
else if ((LA(1) == 0x3a /* ':' */ ) && (true)) {
match(':' /* charlit */ );
if ( inputState->guessing==0 ) {
#line 1968 "pf.g"
#line 1983 "pf.g"
_ttype = COLON;
#line 1224 "PFCfgLexer.cpp"
#line 1225 "PFCfgLexer.cpp"
}
}
else {
@@ -1231,23 +1232,23 @@ void PFCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
}
else if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true)) {
{ // ( ... )+
int _cnt322=0;
int _cnt323=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
mDIGIT(false);
}
else {
if ( _cnt322>=1 ) { goto _loop322; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
if ( _cnt323>=1 ) { goto _loop323; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt322++;
_cnt323++;
}
_loop322:;
_loop323:;
} // ( ... )+
if ( inputState->guessing==0 ) {
#line 1978 "pf.g"
#line 1993 "pf.g"
_ttype = INT_CONST;
#line 1251 "PFCfgLexer.cpp"
#line 1252 "PFCfgLexer.cpp"
}
}
else if ((_tokenSet_5.member(LA(1))) && (true) && (true)) {
@@ -1463,16 +1464,16 @@ void PFCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
}
default:
{
goto _loop325;
goto _loop326;
}
}
}
_loop325:;
_loop326:;
} // ( ... )*
if ( inputState->guessing==0 ) {
#line 1989 "pf.g"
#line 2004 "pf.g"
_ttype = WORD;
#line 1476 "PFCfgLexer.cpp"
#line 1477 "PFCfgLexer.cpp"
}
}
else {
@@ -1500,11 +1501,11 @@ void PFCfgLexer::mSTRING(bool _createToken) {
matchNot('\"' /* charlit */ );
}
else {
goto _loop328;
goto _loop329;
}
}
_loop328:;
_loop329:;
} // ( ... )*
match('\"' /* charlit */ );
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
File diff suppressed because it is too large Load Diff
+3 -2
View File
@@ -91,6 +91,7 @@ public:
}
public: void cfgfile();
public: void comment();
public: void include_command();
public: void macro_definition();
public: void altq_rule();
public: void antispoof_rule();
@@ -195,10 +196,10 @@ protected:
private:
static const char* tokenNames[];
#ifndef NO_STATIC_CONSTS
static const int NUM_TOKENS = 259;
static const int NUM_TOKENS = 260;
#else
enum {
NUM_TOKENS = 259
NUM_TOKENS = 260
};
#endif
+254 -253
View File
@@ -14,259 +14,260 @@ struct CUSTOM_API PFCfgParserTokenTypes {
EOF_ = 1,
NEWLINE = 4,
LINE_COMMENT = 5,
WORD = 6,
EQUAL = 7,
ANTISPOOF = 8,
ALTQ = 9,
QUEUE = 10,
SET = 11,
TIMEOUT = 12,
// "ruleset-optimization" = 13
LITERAL_optimization = 14,
LITERAL_aggressive = 15,
LITERAL_conservative = 16,
// "high-latency" = 17
LITERAL_normal = 18,
LITERAL_satellite = 19,
LITERAL_limit = 20,
LITERAL_loginterface = 21,
// "block-policy" = 22
DROP = 23,
RETURN = 24,
// "state-policy" = 25
// "if-bound" = 26
LITERAL_floating = 27,
// "state-defaults" = 28
// "require-order" = 29
LITERAL_fingerprints = 30,
LITERAL_skip = 31,
ON = 32,
OPENING_BRACE = 33,
COMMA = 34,
CLOSING_BRACE = 35,
LITERAL_debug = 36,
LITERAL_reassemble = 37,
LITERAL_hostid = 38,
// "tcp.first" = 39
// "tcp.opening" = 40
// "tcp.established" = 41
// "tcp.closing" = 42
// "tcp.finwait" = 43
// "tcp.closed" = 44
// "udp.first" = 45
// "udp.single" = 46
// "udp.multiple" = 47
// "icmp.first" = 48
// "icmp.error" = 49
// "other.first" = 50
// "other.single" = 51
// "other.multiple" = 52
LITERAL_frag = 53,
LITERAL_interval = 54,
// "src.track" = 55
// "adaptive.start" = 56
// "adaptive.end" = 57
INT_CONST = 58,
LITERAL_frags = 59,
LITERAL_states = 60,
// "src-nodes" = 61
LITERAL_tables = 62,
// "tables-entries" = 63
SCRUB = 64,
MATCH = 65,
TABLE = 66,
LESS_THAN = 67,
GREATER_THAN = 68,
PERSIST = 69,
CONST_WORD = 70,
COUNTERS = 71,
FILE = 72,
STRING = 73,
EXLAMATION = 74,
COLON = 75,
NETWORK = 76,
BROADCAST = 77,
PEER = 78,
SELF = 79,
IPV4 = 80,
NUMBER = 81,
SLASH = 82,
NO = 83,
NAT = 84,
PASS = 85,
MINUS = 86,
STATIC_PORT = 87,
RDR = 88,
OPENING_PAREN = 89,
CLOSING_PAREN = 90,
PORT = 91,
IPV6 = 92,
STAR = 93,
BITMASK = 94,
RANDOM = 95,
SOURCE_HASH = 96,
HEX_KEY = 97,
STRING_KEY = 98,
ROUND_ROBIN = 99,
STICKY_ADDRESS = 100,
BINAT = 101,
BLOCK = 102,
RETURN_RST = 103,
TTL = 104,
RETURN_ICMP = 105,
RETURN_ICMP6 = 106,
IN_WORD = 107,
OUT_WORD = 108,
LOG = 109,
ALL = 110,
USER = 111,
TO = 112,
QUICK = 113,
INET = 114,
INET6 = 115,
PROTO = 116,
IP = 117,
ICMP = 118,
IGMP = 119,
TCP = 120,
UDP = 121,
RDP = 122,
RSVP = 123,
GRE = 124,
ESP = 125,
AH = 126,
EIGRP = 127,
OSPF = 128,
IPIP = 129,
VRRP = 130,
L2TP = 131,
ISIS = 132,
FROM = 133,
URPF_FAILED = 134,
ANY = 135,
NO_ROUTE = 136,
ROUTE_TO = 137,
REPLY_TO = 138,
LITERAL_fragment = 139,
LITERAL_crop = 140,
// "drop-ovl" = 141
// "no-df" = 142
// "min-ttl" = 143
// "max-mss" = 144
// "random-id" = 145
FLAGS = 146,
ICMP_TYPE = 147,
ICMP_CODE = 148,
LITERAL_echorep = 149,
LITERAL_unreach = 150,
LITERAL_squench = 151,
LITERAL_redir = 152,
LITERAL_althost = 153,
LITERAL_echoreq = 154,
LITERAL_routeradv = 155,
LITERAL_routersol = 156,
LITERAL_timex = 157,
LITERAL_paramprob = 158,
LITERAL_timereq = 159,
LITERAL_timerep = 160,
LITERAL_inforeq = 161,
LITERAL_inforep = 162,
LITERAL_maskreq = 163,
LITERAL_maskrep = 164,
LITERAL_trace = 165,
LITERAL_dataconv = 166,
LITERAL_mobredir = 167,
// "ipv6-where" = 168
// "ipv6-here" = 169
LITERAL_mobregreq = 170,
LITERAL_mobregrep = 171,
LITERAL_photuris = 172,
// "net-unr" = 173
// "host-unr" = 174
// "proto-unr" = 175
// "port-unr" = 176
LITERAL_needfrag = 177,
LITERAL_srcfail = 178,
// "net-unk" = 179
// "host-unk" = 180
LITERAL_isolate = 181,
// "net-prohib" = 182
// "host-prohib" = 183
// "net-tos" = 184
// "host-tos" = 185
// "filter-prohib" = 186
// "host-preced" = 187
// "cutoff-preced" = 188
// "redir-net" = 189
// "redir-host" = 190
// "redir-tos-net" = 191
// "redir-tos-host" = 192
// "normal-adv" = 193
// "common-adv" = 194
LITERAL_transit = 195,
LITERAL_reassemb = 196,
LITERAL_badhead = 197,
LITERAL_optmiss = 198,
LITERAL_badlen = 199,
// "unknown-ind" = 200
// "auth-fail" = 201
// "decrypt-fail" = 202
ICMP6_TYPE = 203,
TAGGED = 204,
TAG = 205,
KEEP = 206,
MODULATE = 207,
SYNPROXY = 208,
STATE = 209,
LABEL = 210,
EXIT = 211,
QUIT = 212,
INTRFACE = 213,
ICMP6 = 214,
IGRP = 215,
IPSEC = 216,
NOS = 217,
PCP = 218,
PIM = 219,
PPTP = 220,
RIP = 221,
SNP = 222,
HOST = 223,
RANGE = 224,
LOG_LEVEL_ALERTS = 225,
LOG_LEVEL_CRITICAL = 226,
LOG_LEVEL_DEBUGGING = 227,
LOG_LEVEL_EMERGENCIES = 228,
LOG_LEVEL_ERRORS = 229,
LOG_LEVEL_INFORMATIONAL = 230,
LOG_LEVEL_NOTIFICATIONS = 231,
LOG_LEVEL_WARNINGS = 232,
LOG_LEVEL_DISABLE = 233,
LOG_LEVEL_INACTIVE = 234,
Whitespace = 235,
HEX_CONST = 236,
NEG_INT_CONST = 237,
HEX_DIGIT = 238,
DIGIT = 239,
NUM_3DIGIT = 240,
NUM_HEX_4DIGIT = 241,
NUMBER_ADDRESS_OR_WORD = 242,
PIPE_CHAR = 243,
NUMBER_SIGN = 244,
PERCENT = 245,
AMPERSAND = 246,
APOSTROPHE = 247,
PLUS = 248,
DOT = 249,
SEMICOLON = 250,
QUESTION = 251,
COMMERCIAL_AT = 252,
OPENING_SQUARE = 253,
CLOSING_SQUARE = 254,
CARET = 255,
UNDERLINE = 256,
TILDE = 257,
DOUBLE_QUOTE = 258,
INCLUDE_COMMAND = 6,
WORD = 7,
EQUAL = 8,
ANTISPOOF = 9,
ALTQ = 10,
QUEUE = 11,
SET = 12,
TIMEOUT = 13,
// "ruleset-optimization" = 14
LITERAL_optimization = 15,
LITERAL_aggressive = 16,
LITERAL_conservative = 17,
// "high-latency" = 18
LITERAL_normal = 19,
LITERAL_satellite = 20,
LITERAL_limit = 21,
LITERAL_loginterface = 22,
// "block-policy" = 23
DROP = 24,
RETURN = 25,
// "state-policy" = 26
// "if-bound" = 27
LITERAL_floating = 28,
// "state-defaults" = 29
// "require-order" = 30
LITERAL_fingerprints = 31,
LITERAL_skip = 32,
ON = 33,
OPENING_BRACE = 34,
COMMA = 35,
CLOSING_BRACE = 36,
LITERAL_debug = 37,
LITERAL_reassemble = 38,
LITERAL_hostid = 39,
// "tcp.first" = 40
// "tcp.opening" = 41
// "tcp.established" = 42
// "tcp.closing" = 43
// "tcp.finwait" = 44
// "tcp.closed" = 45
// "udp.first" = 46
// "udp.single" = 47
// "udp.multiple" = 48
// "icmp.first" = 49
// "icmp.error" = 50
// "other.first" = 51
// "other.single" = 52
// "other.multiple" = 53
LITERAL_frag = 54,
LITERAL_interval = 55,
// "src.track" = 56
// "adaptive.start" = 57
// "adaptive.end" = 58
INT_CONST = 59,
LITERAL_frags = 60,
LITERAL_states = 61,
// "src-nodes" = 62
LITERAL_tables = 63,
// "tables-entries" = 64
SCRUB = 65,
MATCH = 66,
TABLE = 67,
LESS_THAN = 68,
GREATER_THAN = 69,
PERSIST = 70,
CONST_WORD = 71,
COUNTERS = 72,
FILE = 73,
STRING = 74,
EXLAMATION = 75,
COLON = 76,
NETWORK = 77,
BROADCAST = 78,
PEER = 79,
SELF = 80,
IPV4 = 81,
NUMBER = 82,
SLASH = 83,
NO = 84,
NAT = 85,
PASS = 86,
MINUS = 87,
STATIC_PORT = 88,
RDR = 89,
OPENING_PAREN = 90,
CLOSING_PAREN = 91,
PORT = 92,
IPV6 = 93,
STAR = 94,
BITMASK = 95,
RANDOM = 96,
SOURCE_HASH = 97,
HEX_KEY = 98,
STRING_KEY = 99,
ROUND_ROBIN = 100,
STICKY_ADDRESS = 101,
BINAT = 102,
BLOCK = 103,
RETURN_RST = 104,
TTL = 105,
RETURN_ICMP = 106,
RETURN_ICMP6 = 107,
IN_WORD = 108,
OUT_WORD = 109,
LOG = 110,
ALL = 111,
USER = 112,
TO = 113,
QUICK = 114,
INET = 115,
INET6 = 116,
PROTO = 117,
IP = 118,
ICMP = 119,
IGMP = 120,
TCP = 121,
UDP = 122,
RDP = 123,
RSVP = 124,
GRE = 125,
ESP = 126,
AH = 127,
EIGRP = 128,
OSPF = 129,
IPIP = 130,
VRRP = 131,
L2TP = 132,
ISIS = 133,
FROM = 134,
URPF_FAILED = 135,
ANY = 136,
NO_ROUTE = 137,
ROUTE_TO = 138,
REPLY_TO = 139,
LITERAL_fragment = 140,
LITERAL_crop = 141,
// "drop-ovl" = 142
// "no-df" = 143
// "min-ttl" = 144
// "max-mss" = 145
// "random-id" = 146
FLAGS = 147,
ICMP_TYPE = 148,
ICMP_CODE = 149,
LITERAL_echorep = 150,
LITERAL_unreach = 151,
LITERAL_squench = 152,
LITERAL_redir = 153,
LITERAL_althost = 154,
LITERAL_echoreq = 155,
LITERAL_routeradv = 156,
LITERAL_routersol = 157,
LITERAL_timex = 158,
LITERAL_paramprob = 159,
LITERAL_timereq = 160,
LITERAL_timerep = 161,
LITERAL_inforeq = 162,
LITERAL_inforep = 163,
LITERAL_maskreq = 164,
LITERAL_maskrep = 165,
LITERAL_trace = 166,
LITERAL_dataconv = 167,
LITERAL_mobredir = 168,
// "ipv6-where" = 169
// "ipv6-here" = 170
LITERAL_mobregreq = 171,
LITERAL_mobregrep = 172,
LITERAL_photuris = 173,
// "net-unr" = 174
// "host-unr" = 175
// "proto-unr" = 176
// "port-unr" = 177
LITERAL_needfrag = 178,
LITERAL_srcfail = 179,
// "net-unk" = 180
// "host-unk" = 181
LITERAL_isolate = 182,
// "net-prohib" = 183
// "host-prohib" = 184
// "net-tos" = 185
// "host-tos" = 186
// "filter-prohib" = 187
// "host-preced" = 188
// "cutoff-preced" = 189
// "redir-net" = 190
// "redir-host" = 191
// "redir-tos-net" = 192
// "redir-tos-host" = 193
// "normal-adv" = 194
// "common-adv" = 195
LITERAL_transit = 196,
LITERAL_reassemb = 197,
LITERAL_badhead = 198,
LITERAL_optmiss = 199,
LITERAL_badlen = 200,
// "unknown-ind" = 201
// "auth-fail" = 202
// "decrypt-fail" = 203
ICMP6_TYPE = 204,
TAGGED = 205,
TAG = 206,
KEEP = 207,
MODULATE = 208,
SYNPROXY = 209,
STATE = 210,
LABEL = 211,
EXIT = 212,
QUIT = 213,
INTRFACE = 214,
ICMP6 = 215,
IGRP = 216,
IPSEC = 217,
NOS = 218,
PCP = 219,
PIM = 220,
PPTP = 221,
RIP = 222,
SNP = 223,
HOST = 224,
RANGE = 225,
LOG_LEVEL_ALERTS = 226,
LOG_LEVEL_CRITICAL = 227,
LOG_LEVEL_DEBUGGING = 228,
LOG_LEVEL_EMERGENCIES = 229,
LOG_LEVEL_ERRORS = 230,
LOG_LEVEL_INFORMATIONAL = 231,
LOG_LEVEL_NOTIFICATIONS = 232,
LOG_LEVEL_WARNINGS = 233,
LOG_LEVEL_DISABLE = 234,
LOG_LEVEL_INACTIVE = 235,
Whitespace = 236,
HEX_CONST = 237,
NEG_INT_CONST = 238,
HEX_DIGIT = 239,
DIGIT = 240,
NUM_3DIGIT = 241,
NUM_HEX_4DIGIT = 242,
NUMBER_ADDRESS_OR_WORD = 243,
PIPE_CHAR = 244,
NUMBER_SIGN = 245,
PERCENT = 246,
AMPERSAND = 247,
APOSTROPHE = 248,
PLUS = 249,
DOT = 250,
SEMICOLON = 251,
QUESTION = 252,
COMMERCIAL_AT = 253,
OPENING_SQUARE = 254,
CLOSING_SQUARE = 255,
CARET = 256,
UNDERLINE = 257,
TILDE = 258,
DOUBLE_QUOTE = 259,
NULL_TREE_LOOKAHEAD = 3
};
#ifdef __cplusplus
+254 -253
View File
@@ -2,256 +2,257 @@
PFCfgParser // output token vocab name
NEWLINE=4
LINE_COMMENT=5
WORD=6
EQUAL=7
ANTISPOOF="antispoof"=8
ALTQ="altq"=9
QUEUE="queue"=10
SET="set"=11
TIMEOUT="timeout"=12
"ruleset-optimization"=13
LITERAL_optimization="optimization"=14
LITERAL_aggressive="aggressive"=15
LITERAL_conservative="conservative"=16
"high-latency"=17
LITERAL_normal="normal"=18
LITERAL_satellite="satellite"=19
LITERAL_limit="limit"=20
LITERAL_loginterface="loginterface"=21
"block-policy"=22
DROP="drop"=23
RETURN="return"=24
"state-policy"=25
"if-bound"=26
LITERAL_floating="floating"=27
"state-defaults"=28
"require-order"=29
LITERAL_fingerprints="fingerprints"=30
LITERAL_skip="skip"=31
ON="on"=32
OPENING_BRACE=33
COMMA=34
CLOSING_BRACE=35
LITERAL_debug="debug"=36
LITERAL_reassemble="reassemble"=37
LITERAL_hostid="hostid"=38
"tcp.first"=39
"tcp.opening"=40
"tcp.established"=41
"tcp.closing"=42
"tcp.finwait"=43
"tcp.closed"=44
"udp.first"=45
"udp.single"=46
"udp.multiple"=47
"icmp.first"=48
"icmp.error"=49
"other.first"=50
"other.single"=51
"other.multiple"=52
LITERAL_frag="frag"=53
LITERAL_interval="interval"=54
"src.track"=55
"adaptive.start"=56
"adaptive.end"=57
INT_CONST=58
LITERAL_frags="frags"=59
LITERAL_states="states"=60
"src-nodes"=61
LITERAL_tables="tables"=62
"tables-entries"=63
SCRUB="scrub"=64
MATCH="match"=65
TABLE="table"=66
LESS_THAN=67
GREATER_THAN=68
PERSIST="persist"=69
CONST_WORD="const"=70
COUNTERS="counters"=71
FILE="file"=72
STRING=73
EXLAMATION=74
COLON=75
NETWORK="network"=76
BROADCAST="broadcast"=77
PEER="peer"=78
SELF="self"=79
IPV4=80
NUMBER=81
SLASH=82
NO="no"=83
NAT="nat"=84
PASS="pass"=85
MINUS=86
STATIC_PORT="static-port"=87
RDR="rdr"=88
OPENING_PAREN=89
CLOSING_PAREN=90
PORT="port"=91
IPV6=92
STAR=93
BITMASK="bitmask"=94
RANDOM="random"=95
SOURCE_HASH="source-hash"=96
HEX_KEY="hex-key"=97
STRING_KEY="string-key"=98
ROUND_ROBIN="round-robin"=99
STICKY_ADDRESS="sticky-address"=100
BINAT="binat"=101
BLOCK="block"=102
RETURN_RST="return-rst"=103
TTL=104
RETURN_ICMP="return-icmp"=105
RETURN_ICMP6=106
IN_WORD="in"=107
OUT_WORD="out"=108
LOG="log"=109
ALL="all"=110
USER="user"=111
TO="to"=112
QUICK="quick"=113
INET="inet"=114
INET6="inet6"=115
PROTO="proto"=116
IP="ip"=117
ICMP="icmp"=118
IGMP="igmp"=119
TCP="tcp"=120
UDP="udp"=121
RDP="rdp"=122
RSVP="rsvp"=123
GRE="gre"=124
ESP="esp"=125
AH="ah"=126
EIGRP="eigrp"=127
OSPF="ospf"=128
IPIP="ipip"=129
VRRP="vrrp"=130
L2TP="l2tp"=131
ISIS="isis"=132
FROM="from"=133
URPF_FAILED="urpf-failed"=134
ANY="any"=135
NO_ROUTE="no-route"=136
ROUTE_TO="route-to"=137
REPLY_TO="reply-to"=138
LITERAL_fragment="fragment"=139
LITERAL_crop="crop"=140
"drop-ovl"=141
"no-df"=142
"min-ttl"=143
"max-mss"=144
"random-id"=145
FLAGS="flags"=146
ICMP_TYPE="icmp-type"=147
ICMP_CODE="code"=148
LITERAL_echorep="echorep"=149
LITERAL_unreach="unreach"=150
LITERAL_squench="squench"=151
LITERAL_redir="redir"=152
LITERAL_althost="althost"=153
LITERAL_echoreq="echoreq"=154
LITERAL_routeradv="routeradv"=155
LITERAL_routersol="routersol"=156
LITERAL_timex="timex"=157
LITERAL_paramprob="paramprob"=158
LITERAL_timereq="timereq"=159
LITERAL_timerep="timerep"=160
LITERAL_inforeq="inforeq"=161
LITERAL_inforep="inforep"=162
LITERAL_maskreq="maskreq"=163
LITERAL_maskrep="maskrep"=164
LITERAL_trace="trace"=165
LITERAL_dataconv="dataconv"=166
LITERAL_mobredir="mobredir"=167
"ipv6-where"=168
"ipv6-here"=169
LITERAL_mobregreq="mobregreq"=170
LITERAL_mobregrep="mobregrep"=171
LITERAL_photuris="photuris"=172
"net-unr"=173
"host-unr"=174
"proto-unr"=175
"port-unr"=176
LITERAL_needfrag="needfrag"=177
LITERAL_srcfail="srcfail"=178
"net-unk"=179
"host-unk"=180
LITERAL_isolate="isolate"=181
"net-prohib"=182
"host-prohib"=183
"net-tos"=184
"host-tos"=185
"filter-prohib"=186
"host-preced"=187
"cutoff-preced"=188
"redir-net"=189
"redir-host"=190
"redir-tos-net"=191
"redir-tos-host"=192
"normal-adv"=193
"common-adv"=194
LITERAL_transit="transit"=195
LITERAL_reassemb="reassemb"=196
LITERAL_badhead="badhead"=197
LITERAL_optmiss="optmiss"=198
LITERAL_badlen="badlen"=199
"unknown-ind"=200
"auth-fail"=201
"decrypt-fail"=202
ICMP6_TYPE="icmp6-type"=203
TAGGED="tagged"=204
TAG="tag"=205
KEEP="keep"=206
MODULATE="modulate"=207
SYNPROXY="synproxy"=208
STATE="state"=209
LABEL="label"=210
EXIT="exit"=211
QUIT="quit"=212
INTRFACE="interface"=213
ICMP6="icmp6"=214
IGRP="igrp"=215
IPSEC="ipsec"=216
NOS="nos"=217
PCP="pcp"=218
PIM="pim"=219
PPTP="pptp"=220
RIP="rip"=221
SNP="snp"=222
HOST="host"=223
RANGE="range"=224
LOG_LEVEL_ALERTS="alerts"=225
LOG_LEVEL_CRITICAL="critical"=226
LOG_LEVEL_DEBUGGING="debugging"=227
LOG_LEVEL_EMERGENCIES="emergencies"=228
LOG_LEVEL_ERRORS="errors"=229
LOG_LEVEL_INFORMATIONAL="informational"=230
LOG_LEVEL_NOTIFICATIONS="notifications"=231
LOG_LEVEL_WARNINGS="warnings"=232
LOG_LEVEL_DISABLE="disable"=233
LOG_LEVEL_INACTIVE="inactive"=234
Whitespace=235
HEX_CONST=236
NEG_INT_CONST=237
HEX_DIGIT=238
DIGIT=239
NUM_3DIGIT=240
NUM_HEX_4DIGIT=241
NUMBER_ADDRESS_OR_WORD=242
PIPE_CHAR=243
NUMBER_SIGN=244
PERCENT=245
AMPERSAND=246
APOSTROPHE=247
PLUS=248
DOT=249
SEMICOLON=250
QUESTION=251
COMMERCIAL_AT=252
OPENING_SQUARE=253
CLOSING_SQUARE=254
CARET=255
UNDERLINE=256
TILDE=257
DOUBLE_QUOTE=258
INCLUDE_COMMAND="include"=6
WORD=7
EQUAL=8
ANTISPOOF="antispoof"=9
ALTQ="altq"=10
QUEUE="queue"=11
SET="set"=12
TIMEOUT="timeout"=13
"ruleset-optimization"=14
LITERAL_optimization="optimization"=15
LITERAL_aggressive="aggressive"=16
LITERAL_conservative="conservative"=17
"high-latency"=18
LITERAL_normal="normal"=19
LITERAL_satellite="satellite"=20
LITERAL_limit="limit"=21
LITERAL_loginterface="loginterface"=22
"block-policy"=23
DROP="drop"=24
RETURN="return"=25
"state-policy"=26
"if-bound"=27
LITERAL_floating="floating"=28
"state-defaults"=29
"require-order"=30
LITERAL_fingerprints="fingerprints"=31
LITERAL_skip="skip"=32
ON="on"=33
OPENING_BRACE=34
COMMA=35
CLOSING_BRACE=36
LITERAL_debug="debug"=37
LITERAL_reassemble="reassemble"=38
LITERAL_hostid="hostid"=39
"tcp.first"=40
"tcp.opening"=41
"tcp.established"=42
"tcp.closing"=43
"tcp.finwait"=44
"tcp.closed"=45
"udp.first"=46
"udp.single"=47
"udp.multiple"=48
"icmp.first"=49
"icmp.error"=50
"other.first"=51
"other.single"=52
"other.multiple"=53
LITERAL_frag="frag"=54
LITERAL_interval="interval"=55
"src.track"=56
"adaptive.start"=57
"adaptive.end"=58
INT_CONST=59
LITERAL_frags="frags"=60
LITERAL_states="states"=61
"src-nodes"=62
LITERAL_tables="tables"=63
"tables-entries"=64
SCRUB="scrub"=65
MATCH="match"=66
TABLE="table"=67
LESS_THAN=68
GREATER_THAN=69
PERSIST="persist"=70
CONST_WORD="const"=71
COUNTERS="counters"=72
FILE="file"=73
STRING=74
EXLAMATION=75
COLON=76
NETWORK="network"=77
BROADCAST="broadcast"=78
PEER="peer"=79
SELF="self"=80
IPV4=81
NUMBER=82
SLASH=83
NO="no"=84
NAT="nat"=85
PASS="pass"=86
MINUS=87
STATIC_PORT="static-port"=88
RDR="rdr"=89
OPENING_PAREN=90
CLOSING_PAREN=91
PORT="port"=92
IPV6=93
STAR=94
BITMASK="bitmask"=95
RANDOM="random"=96
SOURCE_HASH="source-hash"=97
HEX_KEY="hex-key"=98
STRING_KEY="string-key"=99
ROUND_ROBIN="round-robin"=100
STICKY_ADDRESS="sticky-address"=101
BINAT="binat"=102
BLOCK="block"=103
RETURN_RST="return-rst"=104
TTL=105
RETURN_ICMP="return-icmp"=106
RETURN_ICMP6=107
IN_WORD="in"=108
OUT_WORD="out"=109
LOG="log"=110
ALL="all"=111
USER="user"=112
TO="to"=113
QUICK="quick"=114
INET="inet"=115
INET6="inet6"=116
PROTO="proto"=117
IP="ip"=118
ICMP="icmp"=119
IGMP="igmp"=120
TCP="tcp"=121
UDP="udp"=122
RDP="rdp"=123
RSVP="rsvp"=124
GRE="gre"=125
ESP="esp"=126
AH="ah"=127
EIGRP="eigrp"=128
OSPF="ospf"=129
IPIP="ipip"=130
VRRP="vrrp"=131
L2TP="l2tp"=132
ISIS="isis"=133
FROM="from"=134
URPF_FAILED="urpf-failed"=135
ANY="any"=136
NO_ROUTE="no-route"=137
ROUTE_TO="route-to"=138
REPLY_TO="reply-to"=139
LITERAL_fragment="fragment"=140
LITERAL_crop="crop"=141
"drop-ovl"=142
"no-df"=143
"min-ttl"=144
"max-mss"=145
"random-id"=146
FLAGS="flags"=147
ICMP_TYPE="icmp-type"=148
ICMP_CODE="code"=149
LITERAL_echorep="echorep"=150
LITERAL_unreach="unreach"=151
LITERAL_squench="squench"=152
LITERAL_redir="redir"=153
LITERAL_althost="althost"=154
LITERAL_echoreq="echoreq"=155
LITERAL_routeradv="routeradv"=156
LITERAL_routersol="routersol"=157
LITERAL_timex="timex"=158
LITERAL_paramprob="paramprob"=159
LITERAL_timereq="timereq"=160
LITERAL_timerep="timerep"=161
LITERAL_inforeq="inforeq"=162
LITERAL_inforep="inforep"=163
LITERAL_maskreq="maskreq"=164
LITERAL_maskrep="maskrep"=165
LITERAL_trace="trace"=166
LITERAL_dataconv="dataconv"=167
LITERAL_mobredir="mobredir"=168
"ipv6-where"=169
"ipv6-here"=170
LITERAL_mobregreq="mobregreq"=171
LITERAL_mobregrep="mobregrep"=172
LITERAL_photuris="photuris"=173
"net-unr"=174
"host-unr"=175
"proto-unr"=176
"port-unr"=177
LITERAL_needfrag="needfrag"=178
LITERAL_srcfail="srcfail"=179
"net-unk"=180
"host-unk"=181
LITERAL_isolate="isolate"=182
"net-prohib"=183
"host-prohib"=184
"net-tos"=185
"host-tos"=186
"filter-prohib"=187
"host-preced"=188
"cutoff-preced"=189
"redir-net"=190
"redir-host"=191
"redir-tos-net"=192
"redir-tos-host"=193
"normal-adv"=194
"common-adv"=195
LITERAL_transit="transit"=196
LITERAL_reassemb="reassemb"=197
LITERAL_badhead="badhead"=198
LITERAL_optmiss="optmiss"=199
LITERAL_badlen="badlen"=200
"unknown-ind"=201
"auth-fail"=202
"decrypt-fail"=203
ICMP6_TYPE="icmp6-type"=204
TAGGED="tagged"=205
TAG="tag"=206
KEEP="keep"=207
MODULATE="modulate"=208
SYNPROXY="synproxy"=209
STATE="state"=210
LABEL="label"=211
EXIT="exit"=212
QUIT="quit"=213
INTRFACE="interface"=214
ICMP6="icmp6"=215
IGRP="igrp"=216
IPSEC="ipsec"=217
NOS="nos"=218
PCP="pcp"=219
PIM="pim"=220
PPTP="pptp"=221
RIP="rip"=222
SNP="snp"=223
HOST="host"=224
RANGE="range"=225
LOG_LEVEL_ALERTS="alerts"=226
LOG_LEVEL_CRITICAL="critical"=227
LOG_LEVEL_DEBUGGING="debugging"=228
LOG_LEVEL_EMERGENCIES="emergencies"=229
LOG_LEVEL_ERRORS="errors"=230
LOG_LEVEL_INFORMATIONAL="informational"=231
LOG_LEVEL_NOTIFICATIONS="notifications"=232
LOG_LEVEL_WARNINGS="warnings"=233
LOG_LEVEL_DISABLE="disable"=234
LOG_LEVEL_INACTIVE="inactive"=235
Whitespace=236
HEX_CONST=237
NEG_INT_CONST=238
HEX_DIGIT=239
DIGIT=240
NUM_3DIGIT=241
NUM_HEX_4DIGIT=242
NUMBER_ADDRESS_OR_WORD=243
PIPE_CHAR=244
NUMBER_SIGN=245
PERCENT=246
AMPERSAND=247
APOSTROPHE=248
PLUS=249
DOT=250
SEMICOLON=251
QUESTION=252
COMMERCIAL_AT=253
OPENING_SQUARE=254
CLOSING_SQUARE=255
CARET=256
UNDERLINE=257
TILDE=258
DOUBLE_QUOTE=259
+15
View File
@@ -113,6 +113,8 @@ options
cfgfile :
(
comment
|
include_command
|
macro_definition
|
@@ -151,6 +153,17 @@ cfgfile :
//****************************************************************
comment : LINE_COMMENT ;
//****************************************************************
include_command : INCLUDE_COMMAND
{
importer->clear();
importer->setCurrentLineNumber(LT(0)->getLine());
importer->addMessageToLog(
QString("Error: import of 'include' commands is not supported."));
consumeUntil(NEWLINE);
}
;
//****************************************************************
macro_definition : WORD EQUAL
{
@@ -1773,6 +1786,8 @@ options
tokens
{
INCLUDE_COMMAND = "include";
EXIT = "exit";
QUIT = "quit";