From 59d38321665bcedd5f058b9bddfc6f71353fa739 Mon Sep 17 00:00:00 2001 From: Vadim Kurland Date: Fri, 8 Apr 2011 16:45:24 -0700 Subject: [PATCH] * pix.g (static_starts_with_tcp_udp): more fixes for import of PIX/ASA "static" command in different variations. See #2334 --- doc/ChangeLog | 3 + src/parsers/PIXCfgLexer.cpp | 316 +-- src/parsers/PIXCfgParser.cpp | 592 ++--- src/parsers/PIXCfgParserTokenTypes.hpp | 118 +- src/parsers/PIXCfgParserTokenTypes.txt | 118 +- src/parsers/pix.g | 35 +- .../PIXImporterTest/test_data/pix7-nat.fwb | 2116 ++++++++++++++--- .../PIXImporterTest/test_data/pix7-nat.output | 69 +- .../PIXImporterTest/test_data/pix7-nat.test | 55 + 9 files changed, 2514 insertions(+), 908 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 44d6ef686..dc26dafb5 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,5 +1,8 @@ 2011-04-08 vadim + * pix.g (static_starts_with_tcp_udp): more fixes for import of + PIX/ASA "static" command in different variations. See #2334 + * ObjectEditor.cpp (changed): see #2335 "GUI switches between data files upon closing editor panel". If user opened two data files in the GUI and was in the process of editing objects in one of them, diff --git a/src/parsers/PIXCfgLexer.cpp b/src/parsers/PIXCfgLexer.cpp index cfff0e090..d9f555d51 100644 --- a/src/parsers/PIXCfgLexer.cpp +++ b/src/parsers/PIXCfgLexer.cpp @@ -44,22 +44,22 @@ PIXCfgLexer::PIXCfgLexer(const ANTLR_USE_NAMESPACE(antlr)LexerSharedInputState& void PIXCfgLexer::initLiterals() { - literals["full"] = 126; - literals["parameter-problem"] = 92; + literals["full"] = 125; + literals["parameter-problem"] = 91; literals["FWSM"] = 67; literals["port-object"] = 54; - literals["notifications"] = 112; - literals["duplex"] = 132; + literals["notifications"] = 111; + literals["duplex"] = 131; literals["dns"] = 56; literals["no"] = 63; literals["static"] = 162; literals["esp"] = 18; - literals["time-range"] = 118; + literals["time-range"] = 117; literals["gre"] = 19; - literals["timestamp-request"] = 99; + literals["timestamp-request"] = 98; literals["echo"] = 81; - literals["speed"] = 131; - literals["warnings"] = 113; + literals["speed"] = 130; + literals["warnings"] = 112; literals["resetoutbound"] = 61; literals["timeout"] = 8; literals["eigrp"] = 17; @@ -71,44 +71,44 @@ void PIXCfgLexer::initLiterals() literals["range"] = 32; literals["destination"] = 44; literals["setroute"] = 165; - literals["vlan"] = 130; - literals["debugging"] = 108; - literals["controller"] = 119; - literals["interface"] = 102; + literals["vlan"] = 129; + literals["debugging"] = 107; + literals["controller"] = 118; + literals["interface"] = 101; literals["dhcp"] = 144; - literals["aui"] = 123; + literals["aui"] = 122; literals["Version"] = 68; - literals["auto"] = 124; + literals["auto"] = 123; literals["subnet"] = 33; - literals["time-exceeded"] = 97; - literals["outside"] = 120; + literals["time-exceeded"] = 96; + literals["outside"] = 119; literals["shutdown"] = 142; literals["group-object"] = 46; literals["eq"] = 77; - literals["fragments"] = 117; + literals["fragments"] = 116; literals["norandomseq"] = 163; - literals["unreachable"] = 101; - literals["delay"] = 135; + literals["unreachable"] = 100; + literals["delay"] = 134; literals["ip"] = 6; literals["security-level"] = 141; - literals["mobile-redirect"] = 91; + literals["mobile-redirect"] = 90; literals["ospf"] = 25; literals["name"] = 12; - literals["errors"] = 110; - literals["mask-request"] = 90; + literals["errors"] = 109; + literals["mask-request"] = 89; literals["PIX"] = 65; - literals["any"] = 103; + literals["any"] = 102; literals["ASA"] = 66; literals["pptp"] = 27; - literals["redirect"] = 93; - literals["forward"] = 134; - literals["timestamp-reply"] = 98; + literals["redirect"] = 92; + literals["forward"] = 133; + literals["timestamp-reply"] = 97; literals["description"] = 30; - literals["alerts"] = 106; + literals["alerts"] = 105; literals["netmask"] = 161; literals["lt"] = 79; literals["internal"] = 58; - literals["bnc"] = 125; + literals["bnc"] = 124; literals["global"] = 159; literals["nos"] = 24; literals["extended"] = 73; @@ -116,17 +116,17 @@ void PIXCfgLexer::initLiterals() literals["service"] = 34; literals["telnet"] = 37; literals["udp"] = 42; - literals["hold-time"] = 136; - literals["baseT"] = 127; + literals["hold-time"] = 135; + literals["baseT"] = 126; literals["ipinip"] = 22; literals["standby"] = 145; literals["crypto"] = 55; literals["object"] = 29; literals["pim"] = 9; literals["secondary"] = 164; - literals["emergencies"] = 109; - literals["disable"] = 114; - literals["mask-reply"] = 89; + literals["emergencies"] = 108; + literals["disable"] = 113; + literals["mask-reply"] = 88; literals["tcp"] = 41; literals["tcp-udp"] = 52; literals["source"] = 43; @@ -134,63 +134,63 @@ void PIXCfgLexer::initLiterals() literals["icmp"] = 38; literals["http"] = 35; literals["call-home"] = 57; - literals["log"] = 104; + literals["log"] = 103; literals["snp"] = 28; - literals["mac-address"] = 138; - literals["established"] = 83; + literals["mac-address"] = 137; + literals["established"] = 82; literals["deny"] = 75; - literals["information-request"] = 88; + literals["information-request"] = 87; literals["ssh"] = 36; literals["protocol-object"] = 49; literals["gt"] = 78; literals["ah"] = 16; - literals["interval"] = 116; + literals["interval"] = 115; literals["resetoutside"] = 62; - literals["ddns"] = 133; - literals["ipv6"] = 137; - literals["rip"] = 82; - literals["baseTX"] = 128; + literals["ddns"] = 132; + literals["ipv6"] = 136; + literals["rip"] = 140; + literals["baseTX"] = 127; literals["access-group"] = 153; - literals["critical"] = 107; + literals["critical"] = 106; literals["standard"] = 76; literals["quit"] = 5; literals["community-list"] = 7; literals["network-object"] = 47; literals["hostname"] = 70; literals["server"] = 151; - literals["information-reply"] = 87; + literals["information-reply"] = 86; literals["icmp6"] = 40; literals["authentication-certificate"] = 150; literals["switchport"] = 146; literals["ipsec"] = 23; - literals["conversion-error"] = 85; + literals["conversion-error"] = 84; literals["host"] = 31; - literals["echo-reply"] = 86; - literals["nameif"] = 129; + literals["echo-reply"] = 85; + literals["nameif"] = 128; literals["pcp"] = 26; literals["service-object"] = 53; literals["nat"] = 155; literals["access-list"] = 72; - literals["informational"] = 111; + literals["informational"] = 110; literals["igrp"] = 21; - literals["traceroute"] = 100; + literals["traceroute"] = 99; literals["address"] = 143; - literals["log-input"] = 105; - literals["router-advertisement"] = 94; + literals["log-input"] = 104; + literals["router-advertisement"] = 93; literals["resetinbound"] = 60; - literals["router-solicitation"] = 95; + literals["router-solicitation"] = 94; literals["access"] = 147; literals["icmp-object"] = 50; - literals["source-quench"] = 96; + literals["source-quench"] = 95; literals["scopy"] = 148; literals["protocol"] = 48; literals["object-group"] = 45; - literals["inactive"] = 115; - literals["multicast"] = 139; - literals["exit"] = 122; + literals["inactive"] = 114; + literals["multicast"] = 138; + literals["exit"] = 121; literals["version"] = 149; literals["neq"] = 80; - literals["alternate-address"] = 84; + literals["alternate-address"] = 83; literals["password-recovery"] = 59; } @@ -505,11 +505,11 @@ void PIXCfgLexer::mLINE_COMMENT(bool _createToken) { } } else { - goto _loop286; + goto _loop287; } } - _loop286:; + _loop287:; } // ( ... )* mNEWLINE(false); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -541,7 +541,7 @@ void PIXCfgLexer::mNEWLINE(bool _createToken) { } if ( inputState->guessing==0 ) { -#line 2460 "pix.g" +#line 2483 "pix.g" newline(); #line 547 "PIXCfgLexer.cpp" } @@ -567,11 +567,11 @@ void PIXCfgLexer::mCOLON_COMMENT(bool _createToken) { } } else { - goto _loop290; + goto _loop291; } } - _loop290:; + _loop291:; } // ( ... )* mNEWLINE(false); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -665,7 +665,7 @@ void PIXCfgLexer::mWhitespace(bool _createToken) { } } if ( inputState->guessing==0 ) { -#line 2455 "pix.g" +#line 2478 "pix.g" _ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP; #line 671 "PIXCfgLexer.cpp" } @@ -763,15 +763,15 @@ void PIXCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) { ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; { - bool synPredMatched339 = false; + bool synPredMatched340 = false; if (((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2))) && (true))) { - int _m339 = mark(); - synPredMatched339 = true; + int _m340 = mark(); + synPredMatched340 = true; inputState->guessing++; try { { { // ( ... )+ - int _cnt338=0; + int _cnt339=0; for (;;) { switch ( LA(1)) { case 0x61 /* 'a' */ : @@ -800,27 +800,27 @@ void PIXCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) { } default: { - if ( _cnt338>=1 ) { goto _loop338; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt339>=1 ) { goto _loop339; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } } - _cnt338++; + _cnt339++; } - _loop338:; + _loop339:; } // ( ... )+ mCOLON(false); } } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) { - synPredMatched339 = false; + synPredMatched340 = false; } - rewind(_m339); + rewind(_m340); inputState->guessing--; } - if ( synPredMatched339 ) { + if ( synPredMatched340 ) { { { { // ( ... )+ - int _cnt343=0; + int _cnt344=0; for (;;) { switch ( LA(1)) { case 0x61 /* 'a' */ : @@ -849,15 +849,15 @@ void PIXCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) { } default: { - if ( _cnt343>=1 ) { goto _loop343; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt344>=1 ) { goto _loop344; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } } - _cnt343++; + _cnt344++; } - _loop343:; + _loop344:; } // ( ... )+ { // ( ... )+ - int _cnt347=0; + int _cnt348=0; for (;;) { if ((LA(1) == 0x3a /* ':' */ )) { mCOLON(false); @@ -890,34 +890,34 @@ void PIXCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) { } default: { - goto _loop346; + goto _loop347; } } } - _loop346:; + _loop347:; } // ( ... )* } else { - if ( _cnt347>=1 ) { goto _loop347; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt348>=1 ) { goto _loop348; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt347++; + _cnt348++; } - _loop347:; + _loop348:; } // ( ... )+ } if ( inputState->guessing==0 ) { -#line 2501 "pix.g" +#line 2524 "pix.g" _ttype = IPV6; #line 913 "PIXCfgLexer.cpp" } } } else { - bool synPredMatched304 = false; + bool synPredMatched305 = false; if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true))) { - int _m304 = mark(); - synPredMatched304 = true; + int _m305 = mark(); + synPredMatched305 = true; inputState->guessing++; try { { @@ -925,240 +925,240 @@ void PIXCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) { } } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) { - synPredMatched304 = false; + synPredMatched305 = false; } - rewind(_m304); + rewind(_m305); inputState->guessing--; } - if ( synPredMatched304 ) { + if ( synPredMatched305 ) { { - bool synPredMatched313 = false; + bool synPredMatched314 = false; if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_4.member(LA(2))) && (_tokenSet_4.member(LA(3))))) { - int _m313 = mark(); - synPredMatched313 = true; + int _m314 = mark(); + synPredMatched314 = true; inputState->guessing++; try { { { // ( ... )+ - int _cnt308=0; + int _cnt309=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt308>=1 ) { goto _loop308; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt309>=1 ) { goto _loop309; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt308++; + _cnt309++; } - _loop308:; + _loop309:; } // ( ... )+ mDOT(false); { // ( ... )+ - int _cnt310=0; + int _cnt311=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt310>=1 ) { goto _loop310; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt311>=1 ) { goto _loop311; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt310++; + _cnt311++; } - _loop310:; + _loop311:; } // ( ... )+ mDOT(false); { // ( ... )+ - 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:; } // ( ... )+ } } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) { - synPredMatched313 = false; + synPredMatched314 = false; } - rewind(_m313); + rewind(_m314); inputState->guessing--; } - if ( synPredMatched313 ) { + if ( synPredMatched314 ) { { { // ( ... )+ - int _cnt316=0; + int _cnt317=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt316>=1 ) { goto _loop316; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt317>=1 ) { goto _loop317; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt316++; + _cnt317++; } - _loop316:; + _loop317:; } // ( ... )+ mDOT(false); { // ( ... )+ - 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:; } // ( ... )+ mDOT(false); { // ( ... )+ - 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:; } // ( ... )+ mDOT(false); { // ( ... )+ - 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 2489 "pix.g" +#line 2512 "pix.g" _ttype = IPV4; #line 1060 "PIXCfgLexer.cpp" } } else { - bool synPredMatched328 = false; + bool synPredMatched329 = false; if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_4.member(LA(2))) && (_tokenSet_4.member(LA(3))))) { - int _m328 = mark(); - synPredMatched328 = true; + int _m329 = mark(); + synPredMatched329 = true; inputState->guessing++; try { { { // ( ... )+ - int _cnt325=0; + int _cnt326=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt325>=1 ) { goto _loop325; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt326>=1 ) { goto _loop326; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt325++; + _cnt326++; } - _loop325:; + _loop326:; } // ( ... )+ mDOT(false); { // ( ... )+ - int _cnt327=0; + int _cnt328=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt327>=1 ) { goto _loop327; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt328>=1 ) { goto _loop328; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt327++; + _cnt328++; } - _loop327:; + _loop328:; } // ( ... )+ } } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) { - synPredMatched328 = false; + synPredMatched329 = false; } - rewind(_m328); + rewind(_m329); inputState->guessing--; } - if ( synPredMatched328 ) { + if ( synPredMatched329 ) { { { // ( ... )+ - int _cnt331=0; + int _cnt332=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt331>=1 ) { goto _loop331; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt332>=1 ) { goto _loop332; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt331++; + _cnt332++; } - _loop331:; + _loop332:; } // ( ... )+ mDOT(false); { // ( ... )+ - int _cnt333=0; + int _cnt334=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt333>=1 ) { goto _loop333; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt334>=1 ) { goto _loop334; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt333++; + _cnt334++; } - _loop333:; + _loop334:; } // ( ... )+ } if ( inputState->guessing==0 ) { -#line 2492 "pix.g" +#line 2515 "pix.g" _ttype = NUMBER; #line 1143 "PIXCfgLexer.cpp" } } else if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true)) { { // ( ... )+ - int _cnt335=0; + int _cnt336=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt335>=1 ) { goto _loop335; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt336>=1 ) { goto _loop336; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt335++; + _cnt336++; } - _loop335:; + _loop336:; } // ( ... )+ if ( inputState->guessing==0 ) { -#line 2494 "pix.g" +#line 2517 "pix.g" _ttype = INT_CONST; #line 1164 "PIXCfgLexer.cpp" } @@ -1413,14 +1413,14 @@ void PIXCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) { } default: { - goto _loop350; + goto _loop351; } } } - _loop350:; + _loop351:; } // ( ... )* if ( inputState->guessing==0 ) { -#line 2509 "pix.g" +#line 2532 "pix.g" _ttype = WORD; #line 1426 "PIXCfgLexer.cpp" } @@ -1464,11 +1464,11 @@ void PIXCfgLexer::mSTRING(bool _createToken) { matchNot('\"' /* charlit */ ); } else { - goto _loop353; + goto _loop354; } } - _loop353:; + _loop354:; } // ( ... )* match('\"' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { diff --git a/src/parsers/PIXCfgParser.cpp b/src/parsers/PIXCfgParser.cpp index 1b9e42db1..fac4d4d28 100644 --- a/src/parsers/PIXCfgParser.cpp +++ b/src/parsers/PIXCfgParser.cpp @@ -285,7 +285,7 @@ void PIXCfgParser::comment() { void PIXCfgParser::version() { Tracer traceInOut(this, "version"); -#line 876 "pix.g" +#line 874 "pix.g" std::string platform; #line 291 "PIXCfgParser.cpp" @@ -314,7 +314,7 @@ void PIXCfgParser::version() { } } if ( inputState->guessing==0 ) { -#line 880 "pix.g" +#line 878 "pix.g" platform = LT(0)->getText(); @@ -323,7 +323,7 @@ void PIXCfgParser::version() { match(VERSION_WORD_CAP); match(NUMBER); if ( inputState->guessing==0 ) { -#line 884 "pix.g" +#line 882 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->setDiscoveredPlatform(platform); @@ -368,7 +368,7 @@ void PIXCfgParser::hostname() { } } if ( inputState->guessing==0 ) { -#line 895 "pix.g" +#line 893 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->setHostName( LT(0)->getText() ); @@ -418,7 +418,7 @@ void PIXCfgParser::unknown_ip_command() { match(IP); match(WORD); if ( inputState->guessing==0 ) { -#line 816 "pix.g" +#line 814 "pix.g" consumeUntil(NEWLINE); @@ -465,7 +465,7 @@ void PIXCfgParser::intrface() { void PIXCfgParser::nameif_top_level() { Tracer traceInOut(this, "nameif_top_level"); -#line 1452 "pix.g" +#line 1450 "pix.g" std::string intf_name, intf_label, sec_level; @@ -475,24 +475,24 @@ void PIXCfgParser::nameif_top_level() { match(NAMEIF); match(WORD); if ( inputState->guessing==0 ) { -#line 1457 "pix.g" +#line 1455 "pix.g" intf_name = LT(0)->getText(); #line 481 "PIXCfgParser.cpp" } interface_label(); if ( inputState->guessing==0 ) { -#line 1458 "pix.g" +#line 1456 "pix.g" intf_label = LT(0)->getText(); #line 487 "PIXCfgParser.cpp" } match(WORD); if ( inputState->guessing==0 ) { -#line 1459 "pix.g" +#line 1457 "pix.g" sec_level = LT(0)->getText(); #line 493 "PIXCfgParser.cpp" } if ( inputState->guessing==0 ) { -#line 1460 "pix.g" +#line 1458 "pix.g" importer->setInterfaceParametes(intf_name, intf_label, sec_level); *dbg << " NAMEIF: " @@ -556,7 +556,7 @@ void PIXCfgParser::controller() { try { // for error handling match(CONTROLLER); if ( inputState->guessing==0 ) { -#line 1364 "pix.g" +#line 1362 "pix.g" importer->clearCurrentInterface(); consumeUntil(NEWLINE); @@ -583,7 +583,7 @@ void PIXCfgParser::access_list_commands() { name = LT(1); match(WORD); if ( inputState->guessing==0 ) { -#line 905 "pix.g" +#line 903 "pix.g" importer->clear(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -631,7 +631,7 @@ void PIXCfgParser::access_list_commands() { } } if ( inputState->guessing==0 ) { -#line 928 "pix.g" +#line 926 "pix.g" *dbg << LT(0)->getLine() << ":" << " ACL line end" << std::endl << std::endl; @@ -655,7 +655,7 @@ void PIXCfgParser::ssh_command() { try { // for error handling match(SSH); if ( inputState->guessing==0 ) { -#line 1708 "pix.g" +#line 1706 "pix.g" importer->clear(); @@ -670,7 +670,7 @@ void PIXCfgParser::ssh_command() { match(INT_CONST); } if ( inputState->guessing==0 ) { -#line 1713 "pix.g" +#line 1711 "pix.g" // set ssh timeout here @@ -699,7 +699,7 @@ void PIXCfgParser::ssh_command() { { hostaddr_expr(); if ( inputState->guessing==0 ) { -#line 1723 "pix.g" +#line 1721 "pix.g" importer->SaveTmpAddrToSrc(); @@ -708,7 +708,7 @@ void PIXCfgParser::ssh_command() { interface_label(); } if ( inputState->guessing==0 ) { -#line 1728 "pix.g" +#line 1726 "pix.g" std::string intf_label = LT(0)->getText(); std::string acl_name = "ssh_commands_" + intf_label; @@ -752,7 +752,7 @@ void PIXCfgParser::telnet_command() { try { // for error handling match(TELNET); if ( inputState->guessing==0 ) { -#line 1748 "pix.g" +#line 1746 "pix.g" importer->clear(); @@ -778,7 +778,7 @@ void PIXCfgParser::telnet_command() { { hostaddr_expr(); if ( inputState->guessing==0 ) { -#line 1755 "pix.g" +#line 1753 "pix.g" importer->SaveTmpAddrToSrc(); @@ -787,7 +787,7 @@ void PIXCfgParser::telnet_command() { interface_label(); } if ( inputState->guessing==0 ) { -#line 1760 "pix.g" +#line 1758 "pix.g" std::string intf_label = LT(0)->getText(); std::string acl_name = "telnet_commands_" + intf_label; @@ -831,7 +831,7 @@ void PIXCfgParser::http_command() { try { // for error handling match(HTTP); if ( inputState->guessing==0 ) { -#line 1782 "pix.g" +#line 1780 "pix.g" importer->clear(); @@ -867,7 +867,7 @@ void PIXCfgParser::http_command() { } } if ( inputState->guessing==0 ) { -#line 1787 "pix.g" +#line 1785 "pix.g" consumeUntil(NEWLINE); @@ -885,7 +885,7 @@ void PIXCfgParser::http_command() { { hostaddr_expr(); if ( inputState->guessing==0 ) { -#line 1793 "pix.g" +#line 1791 "pix.g" importer->SaveTmpAddrToSrc(); @@ -894,7 +894,7 @@ void PIXCfgParser::http_command() { interface_label(); } if ( inputState->guessing==0 ) { -#line 1798 "pix.g" +#line 1796 "pix.g" std::string intf_label = LT(0)->getText(); std::string acl_name = "http_commands_" + intf_label; @@ -947,7 +947,7 @@ void PIXCfgParser::icmp_top_level_command() { { match(UNREACHABLE); if ( inputState->guessing==0 ) { -#line 1828 "pix.g" +#line 1826 "pix.g" consumeUntil(NEWLINE); @@ -981,7 +981,7 @@ void PIXCfgParser::icmp_top_level_command() { } } if ( inputState->guessing==0 ) { -#line 1835 "pix.g" +#line 1833 "pix.g" importer->clear(); @@ -989,7 +989,7 @@ void PIXCfgParser::icmp_top_level_command() { } hostaddr_expr(); if ( inputState->guessing==0 ) { -#line 1839 "pix.g" +#line 1837 "pix.g" importer->SaveTmpAddrToSrc(); @@ -1019,7 +1019,7 @@ void PIXCfgParser::icmp_top_level_command() { } interface_label(); if ( inputState->guessing==0 ) { -#line 1844 "pix.g" +#line 1842 "pix.g" std::string intf_label = LT(0)->getText(); std::string acl_name = "icmp_commands_" + intf_label; @@ -1063,7 +1063,7 @@ void PIXCfgParser::nat_top_level_command() { match(NAT); match(OPENING_PAREN); if ( inputState->guessing==0 ) { -#line 1930 "pix.g" +#line 1928 "pix.g" importer->clear(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -1101,7 +1101,7 @@ void PIXCfgParser::global_top_level_command() { match(GLOBAL); match(OPENING_PAREN); if ( inputState->guessing==0 ) { -#line 2026 "pix.g" +#line 2024 "pix.g" importer->clear(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -1110,7 +1110,7 @@ void PIXCfgParser::global_top_level_command() { } interface_label(); if ( inputState->guessing==0 ) { -#line 2031 "pix.g" +#line 2029 "pix.g" importer->tmp_global_pool.pool_interface = LT(0)->getText(); @@ -1120,7 +1120,7 @@ void PIXCfgParser::global_top_level_command() { num = LT(1); match(INT_CONST); if ( inputState->guessing==0 ) { -#line 2036 "pix.g" +#line 2034 "pix.g" importer->tmp_global_pool.str_num = num->getText(); importer->tmp_global_pool.netmask = "255.255.255.255"; @@ -1137,7 +1137,7 @@ void PIXCfgParser::global_top_level_command() { { match(INTRFACE); if ( inputState->guessing==0 ) { -#line 2049 "pix.g" +#line 2047 "pix.g" importer->tmp_global_pool.start = LT(0)->getText(); importer->tmp_global_pool.end = LT(0)->getText(); @@ -1151,7 +1151,7 @@ void PIXCfgParser::global_top_level_command() { { single_addr(); if ( inputState->guessing==0 ) { -#line 2055 "pix.g" +#line 2053 "pix.g" importer->tmp_global_pool.start = importer->tmp_a; importer->tmp_global_pool.end = importer->tmp_a; @@ -1173,7 +1173,7 @@ void PIXCfgParser::global_top_level_command() { match(MINUS); single_addr(); if ( inputState->guessing==0 ) { -#line 2064 "pix.g" +#line 2062 "pix.g" importer->tmp_global_pool.end = importer->tmp_a; @@ -1199,7 +1199,7 @@ void PIXCfgParser::global_top_level_command() { match(NETMASK); match(IPV4); if ( inputState->guessing==0 ) { -#line 2073 "pix.g" +#line 2071 "pix.g" importer->tmp_global_pool.netmask = LT(0)->getText(); @@ -1219,7 +1219,7 @@ void PIXCfgParser::global_top_level_command() { } match(NEWLINE); if ( inputState->guessing==0 ) { -#line 2079 "pix.g" +#line 2077 "pix.g" importer->addGlobalPool(); *dbg << " " << importer->tmp_global_pool.start @@ -1247,7 +1247,7 @@ void PIXCfgParser::static_top_level_command() { match(STATIC); match(OPENING_PAREN); if ( inputState->guessing==0 ) { -#line 2091 "pix.g" +#line 2089 "pix.g" importer->clear(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -1256,20 +1256,20 @@ void PIXCfgParser::static_top_level_command() { } interface_label(); if ( inputState->guessing==0 ) { -#line 2095 "pix.g" +#line 2093 "pix.g" importer->prenat_interface = LT(0)->getText(); #line 1262 "PIXCfgParser.cpp" } match(COMMA); interface_label(); if ( inputState->guessing==0 ) { -#line 2097 "pix.g" +#line 2095 "pix.g" importer->postnat_interface = LT(0)->getText(); #line 1269 "PIXCfgParser.cpp" } match(CLOSING_PAREN); if ( inputState->guessing==0 ) { -#line 2099 "pix.g" +#line 2097 "pix.g" importer->newUnidirRuleSet("nat", libfwbuilder::NAT::TYPENAME ); *dbg << " DNAT rule "; @@ -1300,7 +1300,7 @@ void PIXCfgParser::static_top_level_command() { } match(NEWLINE); if ( inputState->guessing==0 ) { -#line 2114 "pix.g" +#line 2112 "pix.g" importer->pushNATRule(); *dbg << std::endl; @@ -1332,7 +1332,7 @@ void PIXCfgParser::access_group() { match(INTRFACE); interface_label(); if ( inputState->guessing==0 ) { -#line 1903 "pix.g" +#line 1901 "pix.g" std::string intf_label = LT(0)->getText(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -1381,7 +1381,7 @@ void PIXCfgParser::certificate() { match(CERTIFICATE); match(WORD); if ( inputState->guessing==0 ) { -#line 869 "pix.g" +#line 867 "pix.g" consumeUntil(NEWLINE); consumeUntil(QUIT); @@ -1483,7 +1483,7 @@ void PIXCfgParser::named_object_network() { match(WORD); match(NEWLINE); if ( inputState->guessing==0 ) { -#line 260 "pix.g" +#line 258 "pix.g" importer->clear(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -1537,7 +1537,7 @@ void PIXCfgParser::named_object_service() { match(OBJECT); match(SERVICE); if ( inputState->guessing==0 ) { -#line 373 "pix.g" +#line 371 "pix.g" importer->clear(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -1573,7 +1573,7 @@ void PIXCfgParser::named_object_service() { } } if ( inputState->guessing==0 ) { -#line 378 "pix.g" +#line 376 "pix.g" importer->newNamedObjectService(LT(0)->getText()); *dbg << " NAMED OBJECT " << LT(0)->getText() << std::endl; @@ -1618,7 +1618,7 @@ void PIXCfgParser::object_group_network() { match(WORD); match(NEWLINE); if ( inputState->guessing==0 ) { -#line 493 "pix.g" +#line 491 "pix.g" importer->clear(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -1695,7 +1695,7 @@ void PIXCfgParser::object_group_service() { } match(NEWLINE); if ( inputState->guessing==0 ) { -#line 715 "pix.g" +#line 713 "pix.g" importer->clear(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -1742,7 +1742,7 @@ void PIXCfgParser::object_group_protocol() { match(WORD); match(NEWLINE); if ( inputState->guessing==0 ) { -#line 591 "pix.g" +#line 589 "pix.g" importer->clear(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -1788,7 +1788,7 @@ void PIXCfgParser::object_group_icmp_8_0() { match(WORD); match(NEWLINE); if ( inputState->guessing==0 ) { -#line 646 "pix.g" +#line 644 "pix.g" importer->clear(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -1832,7 +1832,7 @@ void PIXCfgParser::object_group_icmp_8_3() { match(WORD); match(NEWLINE); if ( inputState->guessing==0 ) { -#line 659 "pix.g" +#line 657 "pix.g" importer->clear(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -1871,7 +1871,7 @@ void PIXCfgParser::crypto() { try { // for error handling match(CRYPTO); if ( inputState->guessing==0 ) { -#line 809 "pix.g" +#line 807 "pix.g" consumeUntil(NEWLINE); @@ -1894,7 +1894,7 @@ void PIXCfgParser::no_commands() { try { // for error handling match(NO); if ( inputState->guessing==0 ) { -#line 860 "pix.g" +#line 858 "pix.g" *dbg << " TOP LEVEL \"NO\" COMMAND: " << LT(0)->getText() << std::endl; @@ -1942,7 +1942,7 @@ void PIXCfgParser::dns_command() { try { // for error handling match(DNS); if ( inputState->guessing==0 ) { -#line 830 "pix.g" +#line 828 "pix.g" consumeUntil(NEWLINE); @@ -2003,7 +2003,7 @@ void PIXCfgParser::service_top_level_command() { } } if ( inputState->guessing==0 ) { -#line 853 "pix.g" +#line 851 "pix.g" consumeUntil(NEWLINE); @@ -2072,7 +2072,7 @@ void PIXCfgParser::unknown_command() { try { // for error handling match(WORD); if ( inputState->guessing==0 ) { -#line 823 "pix.g" +#line 821 "pix.g" consumeUntil(NEWLINE); @@ -2227,7 +2227,7 @@ void PIXCfgParser::named_object_nat() { try { // for error handling nat_top_level_command(); if ( inputState->guessing==0 ) { -#line 288 "pix.g" +#line 286 "pix.g" *dbg << "Named object with singleton nat command" << std::endl; importer->addMessageToLog( @@ -2255,7 +2255,7 @@ void PIXCfgParser::named_object_description() { try { // for error handling match(DESCRIPTION); if ( inputState->guessing==0 ) { -#line 299 "pix.g" +#line 297 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); *dbg << LT(1)->getLine() << ":"; @@ -2328,7 +2328,7 @@ void PIXCfgParser::host_addr() { match(HOST); single_addr(); if ( inputState->guessing==0 ) { -#line 315 "pix.g" +#line 313 "pix.g" importer->commitNamedAddressObject(); @@ -2359,7 +2359,7 @@ void PIXCfgParser::range_addr() { match(IPV4); } if ( inputState->guessing==0 ) { -#line 339 "pix.g" +#line 337 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->tmp_range_1 = r1->getText(); @@ -2415,7 +2415,7 @@ void PIXCfgParser::subnet_addr() { } } if ( inputState->guessing==0 ) { -#line 349 "pix.g" +#line 347 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); if (a) @@ -2472,7 +2472,7 @@ void PIXCfgParser::single_addr() { } } if ( inputState->guessing==0 ) { -#line 321 "pix.g" +#line 319 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); if (h) @@ -2552,7 +2552,7 @@ void PIXCfgParser::service_icmp() { icmp_type = LT(1); match(INT_CONST); if ( inputState->guessing==0 ) { -#line 408 "pix.g" +#line 406 "pix.g" importer->icmp_type = LT(0)->getText(); @@ -2582,7 +2582,7 @@ void PIXCfgParser::service_icmp() { { icmp_names(); if ( inputState->guessing==0 ) { -#line 413 "pix.g" +#line 411 "pix.g" importer->icmp_spec = LT(0)->getText(); @@ -2597,7 +2597,7 @@ void PIXCfgParser::service_icmp() { } } if ( inputState->guessing==0 ) { -#line 417 "pix.g" +#line 415 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->commitNamedICMPServiceObject(); @@ -2641,7 +2641,7 @@ void PIXCfgParser::service_icmp6() { } } if ( inputState->guessing==0 ) { -#line 425 "pix.g" +#line 423 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->addMessageToLog( @@ -2688,7 +2688,7 @@ void PIXCfgParser::service_tcp_udp() { } } if ( inputState->guessing==0 ) { -#line 437 "pix.g" +#line 435 "pix.g" importer->protocol = LT(0)->getText(); *dbg << "NAMED OBJECT SERVICE " << LT(0)->getText() << " "; @@ -2741,7 +2741,7 @@ void PIXCfgParser::service_tcp_udp() { } } if ( inputState->guessing==0 ) { -#line 443 "pix.g" +#line 441 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->commitNamedTCPUDPServiceObject(); @@ -2797,7 +2797,7 @@ void PIXCfgParser::service_other() { } } if ( inputState->guessing==0 ) { -#line 462 "pix.g" +#line 460 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->protocol = LT(0)->getText(); @@ -2824,7 +2824,7 @@ void PIXCfgParser::service_unknown() { match(SERVICE); match(WORD); if ( inputState->guessing==0 ) { -#line 477 "pix.g" +#line 475 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->protocol = "ip"; @@ -2973,7 +2973,7 @@ void PIXCfgParser::src_port_spec() { match(SOURCE); xoperator(); if ( inputState->guessing==0 ) { -#line 450 "pix.g" +#line 448 "pix.g" importer->SaveTmpPortToSrc(); @@ -3017,7 +3017,7 @@ void PIXCfgParser::dst_port_spec() { } xoperator(); if ( inputState->guessing==0 ) { -#line 456 "pix.g" +#line 454 "pix.g" importer->SaveTmpPortToDst(); @@ -3036,7 +3036,7 @@ void PIXCfgParser::dst_port_spec() { void PIXCfgParser::xoperator() { Tracer traceInOut(this, "xoperator"); -#line 1140 "pix.g" +#line 1138 "pix.g" importer->tmp_port_spec = ""; #line 3042 "PIXCfgParser.cpp" @@ -3116,7 +3116,7 @@ void PIXCfgParser::object_group_description() { try { // for error handling match(DESCRIPTION); if ( inputState->guessing==0 ) { -#line 517 "pix.g" +#line 515 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); *dbg << LT(1)->getLine() << ":"; @@ -3151,7 +3151,7 @@ void PIXCfgParser::group_object() { name = LT(1); match(WORD); if ( inputState->guessing==0 ) { -#line 532 "pix.g" +#line 530 "pix.g" importer->clearTempVars(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -3183,7 +3183,7 @@ void PIXCfgParser::network_object() { try { // for error handling match(NETWORK_OBJECT); if ( inputState->guessing==0 ) { -#line 541 "pix.g" +#line 539 "pix.g" importer->clearTempVars(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -3220,7 +3220,7 @@ void PIXCfgParser::network_object() { } } if ( inputState->guessing==0 ) { -#line 547 "pix.g" +#line 545 "pix.g" if (a) { @@ -3264,7 +3264,7 @@ void PIXCfgParser::network_object() { } } if ( inputState->guessing==0 ) { -#line 564 "pix.g" +#line 562 "pix.g" if (h) { @@ -3290,7 +3290,7 @@ void PIXCfgParser::network_object() { name = LT(1); match(WORD); if ( inputState->guessing==0 ) { -#line 581 "pix.g" +#line 579 "pix.g" importer->addNamedObjectToObjectGroup(name->getText()); *dbg << " GROUP MEMBER " << name->getLine() << std::endl; @@ -3362,7 +3362,7 @@ void PIXCfgParser::protocol_object() { try { // for error handling match(PROTOCOL_OBJECT); if ( inputState->guessing==0 ) { -#line 615 "pix.g" +#line 613 "pix.g" importer->clearTempVars(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -3439,7 +3439,7 @@ void PIXCfgParser::protocol_object() { } } if ( inputState->guessing==0 ) { -#line 621 "pix.g" +#line 619 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->protocol = LT(0)->getText(); @@ -3454,7 +3454,7 @@ void PIXCfgParser::protocol_object() { { match(ICMP6); if ( inputState->guessing==0 ) { -#line 629 "pix.g" +#line 627 "pix.g" importer->addMessageToLog( QString("Warning: IPv6 import is not supported. ")); @@ -3470,7 +3470,7 @@ void PIXCfgParser::protocol_object() { name = LT(1); match(WORD); if ( inputState->guessing==0 ) { -#line 636 "pix.g" +#line 634 "pix.g" importer->addNamedObjectToObjectGroup(name->getText()); *dbg << " GROUP MEMBER " << name->getLine() << std::endl; @@ -3543,7 +3543,7 @@ void PIXCfgParser::icmp_object() { try { // for error handling match(ICMP_OBJECT); if ( inputState->guessing==0 ) { -#line 683 "pix.g" +#line 681 "pix.g" importer->clearTempVars(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -3580,7 +3580,7 @@ void PIXCfgParser::icmp_object() { icmp_type = LT(1); match(INT_CONST); if ( inputState->guessing==0 ) { -#line 690 "pix.g" +#line 688 "pix.g" importer->icmp_type = LT(0)->getText(); @@ -3610,7 +3610,7 @@ void PIXCfgParser::icmp_object() { { icmp_names(); if ( inputState->guessing==0 ) { -#line 695 "pix.g" +#line 693 "pix.g" importer->icmp_spec = LT(0)->getText(); @@ -3625,7 +3625,7 @@ void PIXCfgParser::icmp_object() { } } if ( inputState->guessing==0 ) { -#line 699 "pix.g" +#line 697 "pix.g" importer->addICMPServiceToObjectGroup(); *dbg << " SERVICE ICMP " << LT(0)->getText() << " "; @@ -3640,7 +3640,7 @@ void PIXCfgParser::icmp_object() { name = LT(1); match(WORD); if ( inputState->guessing==0 ) { -#line 705 "pix.g" +#line 703 "pix.g" importer->addNamedObjectToObjectGroup(name->getText()); *dbg << " GROUP MEMBER " << name->getLine() << std::endl; @@ -3718,7 +3718,7 @@ void PIXCfgParser::service_object() { try { // for error handling match(SERVICE_OBJECT); if ( inputState->guessing==0 ) { -#line 744 "pix.g" +#line 742 "pix.g" importer->clearTempVars(); importer->setCurrentLineNumber(LT(0)->getLine()); @@ -3777,7 +3777,7 @@ void PIXCfgParser::service_object() { } } if ( inputState->guessing==0 ) { -#line 750 "pix.g" +#line 748 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->protocol = LT(0)->getText(); @@ -3816,7 +3816,7 @@ void PIXCfgParser::service_object() { } } if ( inputState->guessing==0 ) { -#line 758 "pix.g" +#line 756 "pix.g" importer->protocol = LT(0)->getText(); *dbg << " SERVICE TCP/UDP" << LT(0)->getText() << " "; @@ -3869,7 +3869,7 @@ void PIXCfgParser::service_object() { } } if ( inputState->guessing==0 ) { -#line 764 "pix.g" +#line 762 "pix.g" importer->addTCPUDPServiceToObjectGroup(); @@ -3887,7 +3887,7 @@ void PIXCfgParser::service_object() { icmp_type = LT(1); match(INT_CONST); if ( inputState->guessing==0 ) { -#line 771 "pix.g" +#line 769 "pix.g" importer->icmp_type = LT(0)->getText(); @@ -3917,7 +3917,7 @@ void PIXCfgParser::service_object() { { icmp_names(); if ( inputState->guessing==0 ) { -#line 776 "pix.g" +#line 774 "pix.g" importer->icmp_spec = LT(0)->getText(); @@ -3932,7 +3932,7 @@ void PIXCfgParser::service_object() { } } if ( inputState->guessing==0 ) { -#line 780 "pix.g" +#line 778 "pix.g" importer->addICMPServiceToObjectGroup(); *dbg << " SERVICE ICMP " << LT(0)->getText() << " "; @@ -3947,7 +3947,7 @@ void PIXCfgParser::service_object() { name = LT(1); match(WORD); if ( inputState->guessing==0 ) { -#line 786 "pix.g" +#line 784 "pix.g" importer->addNamedObjectToObjectGroup(name->getText()); *dbg << " GROUP MEMBER " << name->getLine() << std::endl; @@ -3975,7 +3975,7 @@ void PIXCfgParser::service_object() { void PIXCfgParser::port_object() { Tracer traceInOut(this, "port_object"); -#line 793 "pix.g" +#line 791 "pix.g" importer->tmp_port_spec = ""; importer->tmp_port_spec_2 = ""; @@ -3986,7 +3986,7 @@ void PIXCfgParser::port_object() { match(PORT_OBJECT); xoperator(); if ( inputState->guessing==0 ) { -#line 798 "pix.g" +#line 796 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); *dbg << " PORT OBJECT TCP/UDP " << LT(0)->getText() << " " << std::endl; @@ -4030,7 +4030,7 @@ void PIXCfgParser::permit_extended() { } match(PERMIT); if ( inputState->guessing==0 ) { -#line 936 "pix.g" +#line 934 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->newPolicyRule(); @@ -4042,7 +4042,7 @@ void PIXCfgParser::permit_extended() { rule_extended(); match(NEWLINE); if ( inputState->guessing==0 ) { -#line 943 "pix.g" +#line 941 "pix.g" importer->pushRule(); @@ -4082,7 +4082,7 @@ void PIXCfgParser::deny_extended() { } match(DENY); if ( inputState->guessing==0 ) { -#line 949 "pix.g" +#line 947 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->newPolicyRule(); @@ -4094,7 +4094,7 @@ void PIXCfgParser::deny_extended() { rule_extended(); match(NEWLINE); if ( inputState->guessing==0 ) { -#line 956 "pix.g" +#line 954 "pix.g" importer->pushRule(); @@ -4118,7 +4118,7 @@ void PIXCfgParser::permit_standard() { match(STANDARD); match(PERMIT); if ( inputState->guessing==0 ) { -#line 962 "pix.g" +#line 960 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->newPolicyRule(); @@ -4130,7 +4130,7 @@ void PIXCfgParser::permit_standard() { rule_standard(); match(NEWLINE); if ( inputState->guessing==0 ) { -#line 969 "pix.g" +#line 967 "pix.g" importer->pushRule(); @@ -4154,7 +4154,7 @@ void PIXCfgParser::deny_standard() { match(STANDARD); match(DENY); if ( inputState->guessing==0 ) { -#line 975 "pix.g" +#line 973 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->newPolicyRule(); @@ -4166,7 +4166,7 @@ void PIXCfgParser::deny_standard() { rule_standard(); match(NEWLINE); if ( inputState->guessing==0 ) { -#line 982 "pix.g" +#line 980 "pix.g" importer->pushRule(); @@ -4189,7 +4189,7 @@ void PIXCfgParser::remark() { try { // for error handling match(REMARK); if ( inputState->guessing==0 ) { -#line 1885 "pix.g" +#line 1883 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); *dbg << LT(1)->getLine() << ":"; @@ -4244,13 +4244,13 @@ void PIXCfgParser::rule_extended() { ip_protocols(); hostaddr_expr(); if ( inputState->guessing==0 ) { -#line 1007 "pix.g" +#line 1005 "pix.g" importer->SaveTmpAddrToSrc(); *dbg << "(src) "; #line 4250 "PIXCfgParser.cpp" } hostaddr_expr(); if ( inputState->guessing==0 ) { -#line 1008 "pix.g" +#line 1006 "pix.g" importer->SaveTmpAddrToDst(); *dbg << "(dst) "; #line 4256 "PIXCfgParser.cpp" } @@ -4317,7 +4317,7 @@ void PIXCfgParser::rule_extended() { { match(ICMP); if ( inputState->guessing==0 ) { -#line 1014 "pix.g" +#line 1012 "pix.g" importer->protocol = LT(0)->getText(); *dbg << "protocol " << LT(0)->getText() << " "; @@ -4326,13 +4326,13 @@ void PIXCfgParser::rule_extended() { } hostaddr_expr(); if ( inputState->guessing==0 ) { -#line 1018 "pix.g" +#line 1016 "pix.g" importer->SaveTmpAddrToSrc(); *dbg << "(src) "; #line 4332 "PIXCfgParser.cpp" } hostaddr_expr(); if ( inputState->guessing==0 ) { -#line 1019 "pix.g" +#line 1017 "pix.g" importer->SaveTmpAddrToDst(); *dbg << "(dst) "; #line 4338 "PIXCfgParser.cpp" } @@ -4448,7 +4448,7 @@ void PIXCfgParser::rule_extended() { } } if ( inputState->guessing==0 ) { -#line 1027 "pix.g" +#line 1025 "pix.g" *dbg << std::endl; @@ -4470,7 +4470,7 @@ void PIXCfgParser::rule_standard() { try { // for error handling if ( inputState->guessing==0 ) { -#line 992 "pix.g" +#line 990 "pix.g" importer->tmp_a = "0.0.0.0"; importer->tmp_nm = "0.0.0.0"; @@ -4480,7 +4480,7 @@ void PIXCfgParser::rule_standard() { } hostaddr_expr(); if ( inputState->guessing==0 ) { -#line 998 "pix.g" +#line 996 "pix.g" importer->SaveTmpAddrToDst(); *dbg << "(dst) " << std::endl; @@ -4512,7 +4512,7 @@ void PIXCfgParser::hostaddr_expr() { match(INTRFACE); interface_label(); if ( inputState->guessing==0 ) { -#line 1274 "pix.g" +#line 1272 "pix.g" importer->tmp_a = LT(0)->getText(); importer->tmp_nm = "interface"; @@ -4548,7 +4548,7 @@ void PIXCfgParser::hostaddr_expr() { match(WORD); } if ( inputState->guessing==0 ) { -#line 1281 "pix.g" +#line 1279 "pix.g" importer->tmp_a = name->getText(); importer->tmp_nm = ""; @@ -4566,7 +4566,7 @@ void PIXCfgParser::hostaddr_expr() { match(IPV4); } if ( inputState->guessing==0 ) { -#line 1288 "pix.g" +#line 1286 "pix.g" importer->tmp_a = h->getText(); importer->tmp_nm = "255.255.255.255"; @@ -4585,7 +4585,7 @@ void PIXCfgParser::hostaddr_expr() { match(IPV4); } if ( inputState->guessing==0 ) { -#line 1295 "pix.g" +#line 1293 "pix.g" importer->tmp_a = a->getText(); importer->tmp_nm = m->getText(); @@ -4599,7 +4599,7 @@ void PIXCfgParser::hostaddr_expr() { { match(ANY); if ( inputState->guessing==0 ) { -#line 1302 "pix.g" +#line 1300 "pix.g" importer->tmp_a = "0.0.0.0"; importer->tmp_nm = "0.0.0.0"; @@ -4682,7 +4682,7 @@ void PIXCfgParser::ip_protocols() { } } if ( inputState->guessing==0 ) { -#line 1221 "pix.g" +#line 1219 "pix.g" importer->protocol = LT(0)->getText(); *dbg << "protocol " << LT(0)->getText() << " "; @@ -4717,7 +4717,7 @@ void PIXCfgParser::ip_protocols() { match(WORD); } if ( inputState->guessing==0 ) { -#line 1227 "pix.g" +#line 1225 "pix.g" importer->protocol = name->getText(); *dbg << "protocol " << name->getText() << " "; @@ -4752,7 +4752,7 @@ void PIXCfgParser::time_range() { tr_name = LT(1); match(WORD); if ( inputState->guessing==0 ) { -#line 1354 "pix.g" +#line 1352 "pix.g" importer->time_range_name = tr_name->getText(); *dbg << "time_range " << tr_name->getText() << " "; @@ -4776,7 +4776,7 @@ void PIXCfgParser::fragments() { try { // for error handling match(FRAGMENTS); if ( inputState->guessing==0 ) { -#line 1347 "pix.g" +#line 1345 "pix.g" importer->fragments = true; *dbg << "fragments "; @@ -4817,7 +4817,7 @@ void PIXCfgParser::log() { } } if ( inputState->guessing==0 ) { -#line 1313 "pix.g" +#line 1311 "pix.g" importer->logging = true; @@ -4902,7 +4902,7 @@ void PIXCfgParser::log() { } } if ( inputState->guessing==0 ) { -#line 1330 "pix.g" +#line 1328 "pix.g" importer->log_level = LT(0)->getText(); #line 4908 "PIXCfgParser.cpp" } @@ -4928,7 +4928,7 @@ void PIXCfgParser::log() { match(INT_CONST); } if ( inputState->guessing==0 ) { -#line 1335 "pix.g" +#line 1333 "pix.g" importer->log_interval = LT(0)->getText(); #line 4934 "PIXCfgParser.cpp" } @@ -4946,7 +4946,7 @@ void PIXCfgParser::log() { } } if ( inputState->guessing==0 ) { -#line 1338 "pix.g" +#line 1336 "pix.g" // if (importer->log_level == "log") importer->log_level = ""; // if (importer->log_interval == "log") importer->log_interval = ""; @@ -4983,7 +4983,7 @@ void PIXCfgParser::icmp_spec() { match(INT_CONST); } if ( inputState->guessing==0 ) { -#line 1237 "pix.g" +#line 1235 "pix.g" importer->icmp_type = icmp_type->getText(); importer->icmp_code = icmp_code->getText(); @@ -5017,7 +5017,7 @@ void PIXCfgParser::icmp_spec() { { icmp_names(); if ( inputState->guessing==0 ) { -#line 1246 "pix.g" +#line 1244 "pix.g" importer->icmp_spec = LT(0)->getText(); *dbg << LT(0)->getText() << " "; @@ -5068,7 +5068,7 @@ void PIXCfgParser::tcp_udp_rule_extended() { } } if ( inputState->guessing==0 ) { -#line 1034 "pix.g" +#line 1032 "pix.g" importer->protocol = LT(0)->getText(); *dbg << "protocol " << LT(0)->getText() << " "; @@ -5077,7 +5077,7 @@ void PIXCfgParser::tcp_udp_rule_extended() { } hostaddr_expr(); if ( inputState->guessing==0 ) { -#line 1038 "pix.g" +#line 1036 "pix.g" importer->SaveTmpAddrToSrc(); *dbg << "(src) "; #line 5083 "PIXCfgParser.cpp" } @@ -5105,7 +5105,7 @@ void PIXCfgParser::tcp_udp_rule_extended() { src_grp_name = LT(1); match(WORD); if ( inputState->guessing==0 ) { -#line 1048 "pix.g" +#line 1046 "pix.g" importer->src_port_spec = src_grp_name->getText(); *dbg << "src port spec: " @@ -5115,7 +5115,7 @@ void PIXCfgParser::tcp_udp_rule_extended() { } hostaddr_expr_1(); if ( inputState->guessing==0 ) { -#line 1056 "pix.g" +#line 1054 "pix.g" importer->SaveTmpAddrToDst(); *dbg << "(dst) "; @@ -5127,7 +5127,7 @@ void PIXCfgParser::tcp_udp_rule_extended() { else if ((_tokenSet_21.member(LA(1))) && (_tokenSet_24.member(LA(2)))) { hostaddr_expr_2(); if ( inputState->guessing==0 ) { -#line 1065 "pix.g" +#line 1063 "pix.g" importer->SaveTmpAddrToDst(); *dbg << "(dst) "; @@ -5169,7 +5169,7 @@ void PIXCfgParser::tcp_udp_rule_extended() { } if ( inputState->guessing==0 ) { -#line 1074 "pix.g" +#line 1072 "pix.g" // looks like "object foo" at this point can only be dest addr. // (judging by cli prompts on 8.3) @@ -5193,7 +5193,7 @@ void PIXCfgParser::tcp_udp_rule_extended() { { xoperator(); if ( inputState->guessing==0 ) { -#line 1088 "pix.g" +#line 1086 "pix.g" importer->SaveTmpPortToSrc(); @@ -5218,7 +5218,7 @@ void PIXCfgParser::tcp_udp_rule_extended() { } hostaddr_expr_3(); if ( inputState->guessing==0 ) { -#line 1092 "pix.g" +#line 1090 "pix.g" importer->SaveTmpAddrToDst(); *dbg << "(dst) "; #line 5224 "PIXCfgParser.cpp" } @@ -5328,7 +5328,7 @@ void PIXCfgParser::acl_tcp_udp_dst_port_spec() { dst_port_group_name = LT(1); match(WORD); if ( inputState->guessing==0 ) { -#line 1110 "pix.g" +#line 1108 "pix.g" importer->dst_port_spec = dst_port_group_name->getText(); *dbg << "dst port spec: " @@ -5366,7 +5366,7 @@ void PIXCfgParser::acl_tcp_udp_dst_port_spec() { dst_port_obj_name = LT(1); match(WORD); if ( inputState->guessing==0 ) { -#line 1120 "pix.g" +#line 1118 "pix.g" importer->dst_port_spec = dst_port_obj_name->getText(); *dbg << "dst addr object " << dst_port_obj_name->getText() @@ -5497,7 +5497,7 @@ void PIXCfgParser::acl_xoperator_dst() { try { // for error handling xoperator(); if ( inputState->guessing==0 ) { -#line 1135 "pix.g" +#line 1133 "pix.g" importer->SaveTmpPortToDst(); @@ -5520,7 +5520,7 @@ void PIXCfgParser::established() { try { // for error handling match(ESTABLISHED); if ( inputState->guessing==0 ) { -#line 1210 "pix.g" +#line 1208 "pix.g" importer->established = true; *dbg << "established "; @@ -5587,7 +5587,7 @@ void PIXCfgParser::single_port_op() { } } if ( inputState->guessing==0 ) { -#line 1147 "pix.g" +#line 1145 "pix.g" importer->tmp_port_op = LT(0)->getText(); *dbg << LT(0)->getText() << " "; @@ -5613,7 +5613,7 @@ void PIXCfgParser::port_range() { match(RANGE); pair_of_ports_spec(); if ( inputState->guessing==0 ) { -#line 1166 "pix.g" +#line 1164 "pix.g" importer->tmp_port_op = "range"; *dbg << "range " << importer->tmp_port_spec; @@ -5636,7 +5636,7 @@ void PIXCfgParser::port_spec() { try { // for error handling if ( inputState->guessing==0 ) { -#line 1155 "pix.g" +#line 1153 "pix.g" importer->tmp_port_spec_2 = ""; @@ -5644,7 +5644,7 @@ void PIXCfgParser::port_spec() { } tcp_udp_port_spec(); if ( inputState->guessing==0 ) { -#line 1159 "pix.g" +#line 1157 "pix.g" importer->tmp_port_spec = std::string(" ") + importer->tmp_port_spec_2; *dbg << LT(0)->getText() << " " << importer->tmp_port_spec; @@ -5669,11 +5669,11 @@ void PIXCfgParser::tcp_udp_port_spec() { { switch ( LA(1)) { case PPTP: + case HTTP: case SSH: case TELNET: case HOSTNAME: case ECHO: - case RIP: { tcp_udp_port_names(); break; @@ -5695,7 +5695,7 @@ void PIXCfgParser::tcp_udp_port_spec() { } } if ( inputState->guessing==0 ) { -#line 1190 "pix.g" +#line 1188 "pix.g" importer->tmp_port_spec_2 = LT(0)->getText(); @@ -5717,7 +5717,7 @@ void PIXCfgParser::pair_of_ports_spec() { try { // for error handling if ( inputState->guessing==0 ) { -#line 1173 "pix.g" +#line 1171 "pix.g" importer->tmp_port_spec_2 = ""; @@ -5725,7 +5725,7 @@ void PIXCfgParser::pair_of_ports_spec() { } tcp_udp_port_spec(); if ( inputState->guessing==0 ) { -#line 1177 "pix.g" +#line 1175 "pix.g" importer->tmp_port_spec += importer->tmp_port_spec_2; @@ -5733,7 +5733,7 @@ void PIXCfgParser::pair_of_ports_spec() { } tcp_udp_port_spec(); if ( inputState->guessing==0 ) { -#line 1181 "pix.g" +#line 1179 "pix.g" importer->tmp_port_spec += " "; importer->tmp_port_spec += importer->tmp_port_spec_2; @@ -5772,11 +5772,6 @@ void PIXCfgParser::tcp_udp_port_names() { match(PPTP); break; } - case RIP: - { - match(RIP); - break; - } case SSH: { match(SSH); @@ -5787,6 +5782,11 @@ void PIXCfgParser::tcp_udp_port_names() { match(TELNET); break; } + case HTTP: + { + match(HTTP); + break; + } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); @@ -5844,7 +5844,7 @@ void PIXCfgParser::interface_command_6() { match(WORD); pix6_interface_hw_speed(); if ( inputState->guessing==0 ) { -#line 1418 "pix.g" +#line 1416 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->newInterface( in->getText() ); @@ -5867,7 +5867,7 @@ void PIXCfgParser::interface_command_6() { void PIXCfgParser::interface_command_7() { Tracer traceInOut(this, "interface_command_7"); ANTLR_USE_NAMESPACE(antlr)RefToken in = ANTLR_USE_NAMESPACE(antlr)nullToken; -#line 1426 "pix.g" +#line 1424 "pix.g" bool have_interface_parameters = false; #line 5873 "PIXCfgParser.cpp" @@ -5876,7 +5876,7 @@ void PIXCfgParser::interface_command_7() { match(WORD); match(NEWLINE); if ( inputState->guessing==0 ) { -#line 1427 "pix.g" +#line 1425 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); importer->newInterface( in->getText() ); @@ -5891,7 +5891,7 @@ void PIXCfgParser::interface_command_7() { if ((_tokenSet_34.member(LA(1)))) { interface_parameters(); if ( inputState->guessing==0 ) { -#line 1434 "pix.g" +#line 1432 "pix.g" have_interface_parameters = true; #line 5897 "PIXCfgParser.cpp" } @@ -5922,7 +5922,7 @@ void PIXCfgParser::interface_command_7() { } } if ( inputState->guessing==0 ) { -#line 1436 "pix.g" +#line 1434 "pix.g" if ( ! have_interface_parameters ) { @@ -6023,7 +6023,7 @@ void PIXCfgParser::interface_parameters() { try { // for error handling if ( inputState->guessing==0 ) { -#line 1471 "pix.g" +#line 1469 "pix.g" importer->setCurrentLineNumber(LT(0)->getLine()); @@ -6074,7 +6074,6 @@ void PIXCfgParser::interface_parameters() { case PIM: case IGMP: case OSPF: - case RIP: case SPEED: case DUPLEX: case DDNS: @@ -6085,6 +6084,7 @@ void PIXCfgParser::interface_parameters() { case MAC_ADDRESS: case MULTICAST: case PPPOE: + case RIP: { unsupported_interface_commands(); break; @@ -6116,7 +6116,7 @@ void PIXCfgParser::vlan_interface() { vlan_id = LT(1); match(INT_CONST); if ( inputState->guessing==0 ) { -#line 1497 "pix.g" +#line 1495 "pix.g" importer->setInterfaceVlanId(vlan_id->getText()); *dbg << " VLAN: " << vlan_id->getText() << std::endl; @@ -6143,7 +6143,7 @@ void PIXCfgParser::sec_level() { sec_level = LT(1); match(INT_CONST); if ( inputState->guessing==0 ) { -#line 1549 "pix.g" +#line 1547 "pix.g" importer->setInterfaceSecurityLevel(sec_level->getText()); *dbg << "SEC_LEVEL: " << sec_level->getText() << std::endl; @@ -6168,7 +6168,7 @@ void PIXCfgParser::nameif() { match(NAMEIF); interface_label(); if ( inputState->guessing==0 ) { -#line 1568 "pix.g" +#line 1566 "pix.g" importer->setInterfaceParametes(LT(0)->getText(), "", ""); *dbg << " NAMEIF: " << LT(0)->getText() << std::endl; @@ -6192,7 +6192,7 @@ void PIXCfgParser::interface_description() { try { // for error handling match(DESCRIPTION); if ( inputState->guessing==0 ) { -#line 1577 "pix.g" +#line 1575 "pix.g" *dbg << LT(1)->getLine() << ":"; std::string descr; @@ -6229,7 +6229,7 @@ void PIXCfgParser::switchport() { vlan_num = LT(1); match(INT_CONST); if ( inputState->guessing==0 ) { -#line 1698 "pix.g" +#line 1696 "pix.g" importer->addMessageToLog("Switch port vlan " + vlan_num->getText()); *dbg << "Switch port vlan " << vlan_num->getText() << std::endl; @@ -6253,7 +6253,7 @@ void PIXCfgParser::shutdown() { try { // for error handling match(SHUTDOWN); if ( inputState->guessing==0 ) { -#line 1592 "pix.g" +#line 1590 "pix.g" importer->ignoreCurrentInterface(); *dbg<< LT(1)->getLine() << ":" @@ -6306,7 +6306,7 @@ void PIXCfgParser::interface_no_commands() { } } if ( inputState->guessing==0 ) { -#line 1541 "pix.g" +#line 1539 "pix.g" *dbg << " INTERFACE \"NO\" COMMAND: " << LT(0)->getText() << std::endl; @@ -6408,7 +6408,7 @@ void PIXCfgParser::unsupported_interface_commands() { } } if ( inputState->guessing==0 ) { -#line 1533 "pix.g" +#line 1531 "pix.g" *dbg << " UNSUPPORTED INTERFACE COMMAND: " << LT(0)->getText() << std::endl; @@ -6486,14 +6486,14 @@ void PIXCfgParser::v7_ip_address() { void PIXCfgParser::v6_dhcp_address() { Tracer traceInOut(this, "v6_dhcp_address"); ANTLR_USE_NAMESPACE(antlr)RefToken dhcp = ANTLR_USE_NAMESPACE(antlr)nullToken; -#line 1626 "pix.g" +#line 1624 "pix.g" std::string lbl; #line 6492 "PIXCfgParser.cpp" try { // for error handling interface_label(); if ( inputState->guessing==0 ) { -#line 1628 "pix.g" +#line 1626 "pix.g" lbl = LT(0)->getText(); @@ -6502,7 +6502,7 @@ void PIXCfgParser::v6_dhcp_address() { dhcp = LT(1); match(DHCP); if ( inputState->guessing==0 ) { -#line 1632 "pix.g" +#line 1630 "pix.g" std::string addr = dhcp->getText(); importer->addInterfaceAddress(lbl, addr, ""); @@ -6529,14 +6529,14 @@ void PIXCfgParser::v6_static_address() { Tracer traceInOut(this, "v6_static_address"); ANTLR_USE_NAMESPACE(antlr)RefToken a = ANTLR_USE_NAMESPACE(antlr)nullToken; ANTLR_USE_NAMESPACE(antlr)RefToken m = ANTLR_USE_NAMESPACE(antlr)nullToken; -#line 1643 "pix.g" +#line 1641 "pix.g" std::string lbl; #line 6535 "PIXCfgParser.cpp" try { // for error handling interface_label(); if ( inputState->guessing==0 ) { -#line 1645 "pix.g" +#line 1643 "pix.g" lbl = LT(0)->getText(); @@ -6547,7 +6547,7 @@ void PIXCfgParser::v6_static_address() { m = LT(1); match(IPV4); if ( inputState->guessing==0 ) { -#line 1649 "pix.g" +#line 1647 "pix.g" std::string addr = a->getText(); std::string netm = m->getText(); @@ -6578,7 +6578,7 @@ void PIXCfgParser::v7_dhcp_address() { dhcp = LT(1); match(DHCP); if ( inputState->guessing==0 ) { -#line 1665 "pix.g" +#line 1663 "pix.g" std::string addr = dhcp->getText(); importer->addInterfaceAddress(addr, ""); @@ -6664,7 +6664,7 @@ void PIXCfgParser::v7_static_address() { } } if ( inputState->guessing==0 ) { -#line 1676 "pix.g" +#line 1674 "pix.g" std::string addr = a->getText(); std::string netm = m->getText(); @@ -6704,7 +6704,7 @@ void PIXCfgParser::icmp_types_for_icmp_command() { { match(INT_CONST); if ( inputState->guessing==0 ) { -#line 1864 "pix.g" +#line 1862 "pix.g" importer->icmp_type = LT(0)->getText(); importer->icmp_code = "0"; @@ -6748,7 +6748,7 @@ void PIXCfgParser::icmp_types_for_icmp_command() { } } if ( inputState->guessing==0 ) { -#line 1871 "pix.g" +#line 1869 "pix.g" importer->icmp_type = ""; importer->icmp_code = "0"; @@ -6780,7 +6780,7 @@ void PIXCfgParser::nat_old_top_level_command() { try { // for error handling interface_label(); if ( inputState->guessing==0 ) { -#line 1939 "pix.g" +#line 1937 "pix.g" importer->prenat_interface = LT(0)->getText(); @@ -6788,7 +6788,7 @@ void PIXCfgParser::nat_old_top_level_command() { } match(CLOSING_PAREN); if ( inputState->guessing==0 ) { -#line 1943 "pix.g" +#line 1941 "pix.g" importer->newUnidirRuleSet("nat", libfwbuilder::NAT::TYPENAME ); *dbg << " SNAT rule "; @@ -6798,7 +6798,7 @@ void PIXCfgParser::nat_old_top_level_command() { } match(INT_CONST); if ( inputState->guessing==0 ) { -#line 1951 "pix.g" +#line 1949 "pix.g" importer->nat_num = LT(0)->getText(); @@ -6819,7 +6819,7 @@ void PIXCfgParser::nat_old_top_level_command() { } // ( ... )* match(NEWLINE); if ( inputState->guessing==0 ) { -#line 1963 "pix.g" +#line 1961 "pix.g" importer->pushNATRule(); *dbg << std::endl; @@ -6846,7 +6846,7 @@ void PIXCfgParser::nat_new_top_level_command() { interface_label(); match(CLOSING_PAREN); if ( inputState->guessing==0 ) { -#line 2015 "pix.g" +#line 2013 "pix.g" importer->addMessageToLog( QString("Warning: Import of ASA 8.3 nat command " @@ -6877,7 +6877,7 @@ void PIXCfgParser::nat_addr_match() { { single_addr(); if ( inputState->guessing==0 ) { -#line 1971 "pix.g" +#line 1969 "pix.g" importer->nat_a = importer->tmp_a; @@ -6890,7 +6890,7 @@ void PIXCfgParser::nat_addr_match() { { single_addr(); if ( inputState->guessing==0 ) { -#line 1979 "pix.g" +#line 1977 "pix.g" importer->nat_nm = importer->tmp_a; @@ -6921,7 +6921,7 @@ void PIXCfgParser::nat_addr_match() { acl_name = LT(1); match(WORD); if ( inputState->guessing==0 ) { -#line 1985 "pix.g" +#line 1983 "pix.g" importer->nat_acl = acl_name->getText(); @@ -7027,7 +7027,7 @@ void PIXCfgParser::nat_command_last_parameters() { } if ( inputState->guessing==0 ) { -#line 2003 "pix.g" +#line 2001 "pix.g" importer->static_max_conn = max_conn->getText(); if (max_emb_conn) @@ -7077,6 +7077,7 @@ void PIXCfgParser::static_starts_with_hostaddr() { void PIXCfgParser::static_starts_with_tcp_udp() { Tracer traceInOut(this, "static_starts_with_tcp_udp"); + ANTLR_USE_NAMESPACE(antlr)RefToken acl_name = ANTLR_USE_NAMESPACE(antlr)nullToken; try { // for error handling { @@ -7098,35 +7099,81 @@ void PIXCfgParser::static_starts_with_tcp_udp() { } } if ( inputState->guessing==0 ) { -#line 2167 "pix.g" +#line 2165 "pix.g" importer->protocol = LT(0)->getText(); *dbg << " SERVICE TCP/UDP " << LT(0)->getText() << " "; -#line 7107 "PIXCfgParser.cpp" +#line 7108 "PIXCfgParser.cpp" } static_mapped_addr_match(); tcp_udp_port_spec(); if ( inputState->guessing==0 ) { -#line 2181 "pix.g" +#line 2179 "pix.g" importer->mapped_port_spec = importer->tmp_port_spec_2; *dbg << "mapped port " << importer->mapped_port_spec << " "; -#line 7117 "PIXCfgParser.cpp" +#line 7118 "PIXCfgParser.cpp" + } + { + switch ( LA(1)) { + case IPV4: + case IPV6: + { + single_addr(); + if ( inputState->guessing==0 ) { +#line 2189 "pix.g" + + importer->real_a = importer->tmp_a; + importer->real_nm = importer->tmp_nm; + *dbg << "real: " << importer->real_a; + +#line 7133 "PIXCfgParser.cpp" + } + tcp_udp_port_spec(); + if ( inputState->guessing==0 ) { +#line 2200 "pix.g" + + importer->real_port_spec = importer->tmp_port_spec_2; + *dbg << "real port " << importer->real_port_spec << " "; + +#line 7142 "PIXCfgParser.cpp" + } + break; + } + case ACCESS_LIST: + { + match(ACCESS_LIST); + acl_name = LT(1); + match(WORD); + if ( inputState->guessing==0 ) { +#line 2207 "pix.g" + + importer->real_addr_acl = acl_name->getText(); + *dbg << "real: " << importer->real_addr_acl; + +#line 7157 "PIXCfgParser.cpp" + } + break; + } + default: + { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); + } + } } - static_real_addr_match(); { // ( ... )* for (;;) { if ((_tokenSet_40.member(LA(1)))) { static_command_common_last_parameters(); } else { - goto _loop279; + goto _loop280; } } - _loop279:; + _loop280:; } // ( ... )* } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { @@ -7150,13 +7197,13 @@ void PIXCfgParser::static_mapped_addr_match() { { single_addr(); if ( inputState->guessing==0 ) { -#line 2134 "pix.g" +#line 2132 "pix.g" importer->mapped_a = importer->tmp_a; importer->mapped_nm = importer->tmp_nm; *dbg << "mapped: " << importer->mapped_a; -#line 7160 "PIXCfgParser.cpp" +#line 7207 "PIXCfgParser.cpp" } break; } @@ -7164,13 +7211,13 @@ void PIXCfgParser::static_mapped_addr_match() { { match(INTRFACE); if ( inputState->guessing==0 ) { -#line 2141 "pix.g" +#line 2139 "pix.g" importer->mapped_a = "interface"; importer->mapped_nm = ""; *dbg << "mapped: " << importer->mapped_a; -#line 7174 "PIXCfgParser.cpp" +#line 7221 "PIXCfgParser.cpp" } break; } @@ -7203,13 +7250,13 @@ void PIXCfgParser::static_real_addr_match() { { single_addr(); if ( inputState->guessing==0 ) { -#line 2152 "pix.g" +#line 2150 "pix.g" importer->real_a = importer->tmp_a; importer->real_nm = importer->tmp_nm; *dbg << "real: " << importer->real_a; -#line 7213 "PIXCfgParser.cpp" +#line 7260 "PIXCfgParser.cpp" } break; } @@ -7219,12 +7266,12 @@ void PIXCfgParser::static_real_addr_match() { acl_name = LT(1); match(WORD); if ( inputState->guessing==0 ) { -#line 2159 "pix.g" +#line 2157 "pix.g" importer->real_addr_acl = acl_name->getText(); *dbg << "real: " << importer->real_addr_acl; -#line 7228 "PIXCfgParser.cpp" +#line 7275 "PIXCfgParser.cpp" } break; } @@ -7257,12 +7304,12 @@ void PIXCfgParser::static_command_common_last_parameters() { { match(DNS); if ( inputState->guessing==0 ) { -#line 2214 "pix.g" +#line 2237 "pix.g" importer->addMessageToLog( QString("Warning: 'static' command option 'dns' is not supported")); -#line 7266 "PIXCfgParser.cpp" +#line 7313 "PIXCfgParser.cpp" } break; } @@ -7270,12 +7317,12 @@ void PIXCfgParser::static_command_common_last_parameters() { { match(NORANDOMSEQ); if ( inputState->guessing==0 ) { -#line 2220 "pix.g" +#line 2243 "pix.g" importer->addMessageToLog( QString("Warning: 'static' command option 'norandomseq' is not supported")); -#line 7279 "PIXCfgParser.cpp" +#line 7326 "PIXCfgParser.cpp" } break; } @@ -7285,12 +7332,12 @@ void PIXCfgParser::static_command_common_last_parameters() { nm = LT(1); match(IPV4); if ( inputState->guessing==0 ) { -#line 2226 "pix.g" +#line 2249 "pix.g" importer->real_nm = nm->getText(); *dbg << "real netmask: " << importer->real_nm; -#line 7294 "PIXCfgParser.cpp" +#line 7341 "PIXCfgParser.cpp" } break; } @@ -7335,13 +7382,13 @@ void PIXCfgParser::static_command_common_last_parameters() { } if ( inputState->guessing==0 ) { -#line 2233 "pix.g" +#line 2256 "pix.g" importer->static_max_conn = max_conn->getText(); if (max_emb_conn) importer->static_max_emb_conn = max_emb_conn->getText(); -#line 7345 "PIXCfgParser.cpp" +#line 7392 "PIXCfgParser.cpp" } break; } @@ -7447,7 +7494,6 @@ const char* PIXCfgParser::tokenNames[] = { "\"lt\"", "\"neq\"", "\"echo\"", - "\"rip\"", "\"established\"", "\"alternate-address\"", "\"conversion-error\"", @@ -7506,6 +7552,7 @@ const char* PIXCfgParser::tokenNames[] = { "\"mac-address\"", "\"multicast\"", "PPPOE", + "\"rip\"", "\"security-level\"", "\"shutdown\"", "\"address\"", @@ -7567,14 +7614,14 @@ const char* PIXCfgParser::tokenNames[] = { const unsigned long PIXCfgParser::_tokenSet_0_data_[] = { 2UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_0(_tokenSet_0_data_,8); -const unsigned long PIXCfgParser::_tokenSet_1_data_[] = { 536895346UL, 2172657788UL, 335UL, 109051968UL, 2382364674UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_1_data_[] = { 536895346UL, 2172657788UL, 335UL, 54525984UL, 2382364673UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF NEWLINE "quit" "ip" "timeout" "pim" "network" "names" "name" WORD // "object" "service" "http" "ssh" "telnet" "icmp" "object-group" "crypto" // "dns" "no" "certificate" "PIX" "ASA" "FWSM" "hostname" "access-list" // "interface" "controller" LINE_COMMENT "exit" "nameif" "access-group" // COLON_COMMENT "nat" "global" "static" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_1(_tokenSet_1_data_,12); -const unsigned long PIXCfgParser::_tokenSet_2_data_[] = { 0UL, 128UL, 0UL, 939524096UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_2_data_[] = { 0UL, 128UL, 0UL, 469762048UL, 0UL, 0UL, 0UL, 0UL }; // INT_CONST "aui" "auto" "bnc" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_2(_tokenSet_2_data_,8); const unsigned long PIXCfgParser::_tokenSet_3_data_[] = { 1073676864UL, 10048UL, 1024UL, 0UL, 0UL, 0UL, 0UL, 0UL }; @@ -7587,7 +7634,7 @@ const unsigned long PIXCfgParser::_tokenSet_4_data_[] = { 1073676864UL, 10048UL, // "ospf" "pcp" "pptp" "snp" "object" "icmp" "icmp6" "tcp" "udp" "object-group" // "deny" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_4(_tokenSet_4_data_,8); -const unsigned long PIXCfgParser::_tokenSet_5_data_[] = { 3758120818UL, 2172657791UL, 335UL, 109051968UL, 2382364674UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_5_data_[] = { 3758120818UL, 2172657791UL, 335UL, 54525984UL, 2382364673UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF NEWLINE "quit" "ip" "timeout" "pim" "network" "names" "name" WORD // "object" "description" "host" "range" "subnet" "service" "http" "ssh" // "telnet" "icmp" "object-group" "crypto" "dns" "no" "certificate" "PIX" @@ -7601,60 +7648,61 @@ const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_6(_tokenSet_6_dat const unsigned long PIXCfgParser::_tokenSet_7_data_[] = { 1073741824UL, 6307840UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // "description" "group-object" "service-object" "port-object" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_7(_tokenSet_7_data_,8); -const unsigned long PIXCfgParser::_tokenSet_8_data_[] = { 2684362768UL, 8192UL, 0UL, 192UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_8_data_[] = { 2684362768UL, 8192UL, 0UL, 96UL, 0UL, 0UL, 0UL, 0UL }; // NEWLINE IPV4 "object" "host" "object-group" "interface" "any" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_8(_tokenSet_8_data_,8); const unsigned long PIXCfgParser::_tokenSet_9_data_[] = { 16UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // NEWLINE const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_9(_tokenSet_9_data_,8); -const unsigned long PIXCfgParser::_tokenSet_10_data_[] = { 134275088UL, 16778928UL, 393536UL, 16777216UL, 0UL, 11UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; -// NEWLINE IPV4 WORD IPV6 "pptp" "ssh" "telnet" INT_CONST "tcp" "udp" "dns" -// "hostname" "access-list" "echo" "rip" "outside" MINUS "netmask" "norandomseq" +const unsigned long PIXCfgParser::_tokenSet_10_data_[] = { 134275088UL, 16778936UL, 131392UL, 8388608UL, 0UL, 11UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// NEWLINE IPV4 WORD IPV6 "pptp" "http" "ssh" "telnet" INT_CONST "tcp" +// "udp" "dns" "hostname" "access-list" "echo" "outside" MINUS "netmask" +// "norandomseq" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_10(_tokenSet_10_data_,12); const unsigned long PIXCfgParser::_tokenSet_11_data_[] = { 536805952UL, 128UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // "ip" "pim" "ah" "eigrp" "esp" "gre" "igmp" "igrp" "ipinip" "ipsec" "nos" // "ospf" "pcp" "pptp" "snp" INT_CONST const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_11(_tokenSet_11_data_,8); -const unsigned long PIXCfgParser::_tokenSet_12_data_[] = { 1610637170UL, 2172657788UL, 335UL, 109051968UL, 2382364674UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_12_data_[] = { 1610637170UL, 2172657788UL, 335UL, 54525984UL, 2382364673UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF NEWLINE "quit" "ip" "timeout" "pim" "network" "names" "name" WORD // "object" "description" "service" "http" "ssh" "telnet" "icmp" "object-group" // "crypto" "dns" "no" "certificate" "PIX" "ASA" "FWSM" "hostname" "access-list" // "interface" "controller" LINE_COMMENT "exit" "nameif" "access-group" // COLON_COMMENT "nat" "global" "static" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_12(_tokenSet_12_data_,12); -const unsigned long PIXCfgParser::_tokenSet_13_data_[] = { 16UL, 0UL, 0UL, 6292224UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_13_data_[] = { 16UL, 0UL, 0UL, 3146112UL, 0UL, 0UL, 0UL, 0UL }; // NEWLINE "log" "log-input" "fragments" "time-range" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_13(_tokenSet_13_data_,8); const unsigned long PIXCfgParser::_tokenSet_14_data_[] = { 16UL, 4097UL, 122880UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // NEWLINE "range" "destination" "eq" "gt" "lt" "neq" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_14(_tokenSet_14_data_,8); -const unsigned long PIXCfgParser::_tokenSet_15_data_[] = { 2684362768UL, 12289UL, 647168UL, 6292416UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_15_data_[] = { 2684362768UL, 12289UL, 385024UL, 3146208UL, 0UL, 0UL, 0UL, 0UL }; // NEWLINE IPV4 "object" "host" "range" "destination" "object-group" "eq" // "gt" "lt" "neq" "established" "interface" "any" "log" "log-input" "fragments" // "time-range" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_15(_tokenSet_15_data_,8); -const unsigned long PIXCfgParser::_tokenSet_16_data_[] = { 1610637170UL, 2172706940UL, 335UL, 109051968UL, 2382364674UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_16_data_[] = { 1610637170UL, 2172706940UL, 335UL, 54525984UL, 2382364673UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF NEWLINE "quit" "ip" "timeout" "pim" "network" "names" "name" WORD // "object" "description" "service" "http" "ssh" "telnet" "icmp" "object-group" // "group-object" "network-object" "crypto" "dns" "no" "certificate" "PIX" // "ASA" "FWSM" "hostname" "access-list" "interface" "controller" LINE_COMMENT // "exit" "nameif" "access-group" COLON_COMMENT "nat" "global" "static" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_16(_tokenSet_16_data_,12); -const unsigned long PIXCfgParser::_tokenSet_17_data_[] = { 1610637170UL, 2172805244UL, 335UL, 109051968UL, 2382364674UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_17_data_[] = { 1610637170UL, 2172805244UL, 335UL, 54525984UL, 2382364673UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF NEWLINE "quit" "ip" "timeout" "pim" "network" "names" "name" WORD // "object" "description" "service" "http" "ssh" "telnet" "icmp" "object-group" // "group-object" "protocol-object" "crypto" "dns" "no" "certificate" "PIX" // "ASA" "FWSM" "hostname" "access-list" "interface" "controller" LINE_COMMENT // "exit" "nameif" "access-group" COLON_COMMENT "nat" "global" "static" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_17(_tokenSet_17_data_,12); -const unsigned long PIXCfgParser::_tokenSet_18_data_[] = { 1610637170UL, 2172936316UL, 335UL, 109051968UL, 2382364674UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_18_data_[] = { 1610637170UL, 2172936316UL, 335UL, 54525984UL, 2382364673UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF NEWLINE "quit" "ip" "timeout" "pim" "network" "names" "name" WORD // "object" "description" "service" "http" "ssh" "telnet" "icmp" "object-group" // "group-object" "icmp-object" "crypto" "dns" "no" "certificate" "PIX" // "ASA" "FWSM" "hostname" "access-list" "interface" "controller" LINE_COMMENT // "exit" "nameif" "access-group" COLON_COMMENT "nat" "global" "static" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_18(_tokenSet_18_data_,12); -const unsigned long PIXCfgParser::_tokenSet_19_data_[] = { 1610637170UL, 2178965628UL, 335UL, 109051968UL, 2382364674UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_19_data_[] = { 1610637170UL, 2178965628UL, 335UL, 54525984UL, 2382364673UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF NEWLINE "quit" "ip" "timeout" "pim" "network" "names" "name" WORD // "object" "description" "service" "http" "ssh" "telnet" "icmp" "object-group" // "group-object" "service-object" "port-object" "crypto" "dns" "no" "certificate" @@ -7662,7 +7710,7 @@ const unsigned long PIXCfgParser::_tokenSet_19_data_[] = { 1610637170UL, 2178965 // LINE_COMMENT "exit" "nameif" "access-group" COLON_COMMENT "nat" "global" // "static" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_19(_tokenSet_19_data_,12); -const unsigned long PIXCfgParser::_tokenSet_20_data_[] = { 2684379152UL, 8321UL, 4294696960UL, 23069695UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_20_data_[] = { 2684379152UL, 8321UL, 4294959104UL, 11534847UL, 0UL, 0UL, 0UL, 0UL }; // NEWLINE IPV4 WORD "object" "host" "range" INT_CONST "object-group" "eq" // "gt" "lt" "neq" "echo" "established" "alternate-address" "conversion-error" // "echo-reply" "information-reply" "information-request" "mask-reply" @@ -7671,64 +7719,64 @@ const unsigned long PIXCfgParser::_tokenSet_20_data_[] = { 2684379152UL, 8321UL, // "timestamp-request" "traceroute" "unreachable" "interface" "any" "log" // "log-input" "fragments" "time-range" "outside" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_20(_tokenSet_20_data_,8); -const unsigned long PIXCfgParser::_tokenSet_21_data_[] = { 2684362752UL, 8192UL, 0UL, 192UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_21_data_[] = { 2684362752UL, 8192UL, 0UL, 96UL, 0UL, 0UL, 0UL, 0UL }; // IPV4 "object" "host" "object-group" "interface" "any" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_21(_tokenSet_21_data_,8); -const unsigned long PIXCfgParser::_tokenSet_22_data_[] = { 16UL, 0UL, 0UL, 2097920UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_22_data_[] = { 16UL, 0UL, 0UL, 1048960UL, 0UL, 0UL, 0UL, 0UL }; // NEWLINE "log" "log-input" "fragments" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_22(_tokenSet_22_data_,8); -const unsigned long PIXCfgParser::_tokenSet_23_data_[] = { 16UL, 0UL, 0UL, 768UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_23_data_[] = { 16UL, 0UL, 0UL, 384UL, 0UL, 0UL, 0UL, 0UL }; // NEWLINE "log" "log-input" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_23(_tokenSet_23_data_,8); -const unsigned long PIXCfgParser::_tokenSet_24_data_[] = { 536895504UL, 8193UL, 647168UL, 23069440UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_24_data_[] = { 536895504UL, 8193UL, 385024UL, 11534720UL, 0UL, 0UL, 0UL, 0UL }; // NEWLINE IPV4 WORD "object" "range" "object-group" "eq" "gt" "lt" "neq" // "established" "log" "log-input" "fragments" "time-range" "outside" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_24(_tokenSet_24_data_,8); const unsigned long PIXCfgParser::_tokenSet_25_data_[] = { 0UL, 1UL, 122880UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // "range" "eq" "gt" "lt" "neq" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_25(_tokenSet_25_data_,8); -const unsigned long PIXCfgParser::_tokenSet_26_data_[] = { 134234112UL, 176UL, 393280UL, 0UL, 0UL, 0UL, 0UL, 0UL }; -// WORD "pptp" "ssh" "telnet" INT_CONST "hostname" "echo" "rip" +const unsigned long PIXCfgParser::_tokenSet_26_data_[] = { 134234112UL, 184UL, 131136UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// WORD "pptp" "http" "ssh" "telnet" INT_CONST "hostname" "echo" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_26(_tokenSet_26_data_,8); -const unsigned long PIXCfgParser::_tokenSet_27_data_[] = { 536870928UL, 8193UL, 647168UL, 6292224UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_27_data_[] = { 536870928UL, 8193UL, 385024UL, 3146112UL, 0UL, 0UL, 0UL, 0UL }; // NEWLINE "object" "range" "object-group" "eq" "gt" "lt" "neq" "established" // "log" "log-input" "fragments" "time-range" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_27(_tokenSet_27_data_,8); -const unsigned long PIXCfgParser::_tokenSet_28_data_[] = { 671113074UL, 2172657917UL, 1040719UL, 117440320UL, 2382364674UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_28_data_[] = { 671113074UL, 2172657917UL, 516431UL, 58720160UL, 2382364673UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF NEWLINE "quit" "ip" "timeout" "pim" "network" "names" "name" WORD // "pptp" "object" "range" "service" "http" "ssh" "telnet" "icmp" INT_CONST // "object-group" "crypto" "dns" "no" "certificate" "PIX" "ASA" "FWSM" -// "hostname" "access-list" "eq" "gt" "lt" "neq" "echo" "rip" "established" -// "interface" "log" "log-input" "alerts" "critical" "debugging" "emergencies" -// "errors" "informational" "notifications" "warnings" "disable" "inactive" -// "interval" "fragments" "time-range" "controller" LINE_COMMENT "exit" -// "nameif" "access-group" COLON_COMMENT "nat" "global" "static" +// "hostname" "access-list" "eq" "gt" "lt" "neq" "echo" "established" "interface" +// "log" "log-input" "alerts" "critical" "debugging" "emergencies" "errors" +// "informational" "notifications" "warnings" "disable" "inactive" "interval" +// "fragments" "time-range" "controller" LINE_COMMENT "exit" "nameif" "access-group" +// COLON_COMMENT "nat" "global" "static" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_28(_tokenSet_28_data_,12); -const unsigned long PIXCfgParser::_tokenSet_29_data_[] = { 671113074UL, 2172657916UL, 393551UL, 117440320UL, 2382364674UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_29_data_[] = { 671113074UL, 2172657916UL, 131407UL, 58720160UL, 2382364673UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF NEWLINE "quit" "ip" "timeout" "pim" "network" "names" "name" WORD // "pptp" "object" "service" "http" "ssh" "telnet" "icmp" INT_CONST "object-group" // "crypto" "dns" "no" "certificate" "PIX" "ASA" "FWSM" "hostname" "access-list" -// "echo" "rip" "interface" "log" "log-input" "alerts" "critical" "debugging" +// "echo" "interface" "log" "log-input" "alerts" "critical" "debugging" // "emergencies" "errors" "informational" "notifications" "warnings" "disable" // "inactive" "interval" "fragments" "time-range" "controller" LINE_COMMENT // "exit" "nameif" "access-group" COLON_COMMENT "nat" "global" "static" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_29(_tokenSet_29_data_,12); -const unsigned long PIXCfgParser::_tokenSet_30_data_[] = { 2684362752UL, 8193UL, 122880UL, 192UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_30_data_[] = { 2684362752UL, 8193UL, 122880UL, 96UL, 0UL, 0UL, 0UL, 0UL }; // IPV4 "object" "host" "range" "object-group" "eq" "gt" "lt" "neq" "interface" // "any" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_30(_tokenSet_30_data_,8); -const unsigned long PIXCfgParser::_tokenSet_31_data_[] = { 671113232UL, 8369UL, 1040448UL, 23069440UL, 0UL, 0UL, 0UL, 0UL }; -// NEWLINE IPV4 WORD "pptp" "object" "range" "ssh" "telnet" INT_CONST "object-group" -// "hostname" "eq" "gt" "lt" "neq" "echo" "rip" "established" "log" "log-input" -// "fragments" "time-range" "outside" +const unsigned long PIXCfgParser::_tokenSet_31_data_[] = { 671113232UL, 8377UL, 516160UL, 11534720UL, 0UL, 0UL, 0UL, 0UL }; +// NEWLINE IPV4 WORD "pptp" "object" "range" "http" "ssh" "telnet" INT_CONST +// "object-group" "hostname" "eq" "gt" "lt" "neq" "echo" "established" +// "log" "log-input" "fragments" "time-range" "outside" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_31(_tokenSet_31_data_,8); -const unsigned long PIXCfgParser::_tokenSet_32_data_[] = { 2818629648UL, 12465UL, 1040704UL, 6292416UL, 0UL, 0UL, 0UL, 0UL }; -// NEWLINE IPV4 WORD IPV6 "pptp" "object" "host" "range" "ssh" "telnet" -// INT_CONST "destination" "object-group" "hostname" "access-list" "eq" -// "gt" "lt" "neq" "echo" "rip" "established" "interface" "any" "log" "log-input" -// "fragments" "time-range" -const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_32(_tokenSet_32_data_,8); -const unsigned long PIXCfgParser::_tokenSet_33_data_[] = { 2684387186UL, 2172657917UL, 4294697295UL, 132121599UL, 3993042946UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_32_data_[] = { 2818629648UL, 16791225UL, 516416UL, 3146208UL, 0UL, 10UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// NEWLINE IPV4 WORD IPV6 "pptp" "object" "host" "range" "http" "ssh" "telnet" +// INT_CONST "tcp" "udp" "destination" "object-group" "dns" "hostname" +// "access-list" "eq" "gt" "lt" "neq" "echo" "established" "interface" +// "any" "log" "log-input" "fragments" "time-range" "netmask" "norandomseq" +const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_32(_tokenSet_32_data_,12); +const unsigned long PIXCfgParser::_tokenSet_33_data_[] = { 2684387186UL, 2172657917UL, 4294959439UL, 66060799UL, 3993042945UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF NEWLINE "quit" "ip" "timeout" "pim" "network" "names" "name" IPV4 // WORD "object" "host" "range" "service" "http" "ssh" "telnet" "icmp" // INT_CONST "object-group" "crypto" "dns" "no" "certificate" "PIX" "ASA" @@ -7741,26 +7789,26 @@ const unsigned long PIXCfgParser::_tokenSet_33_data_[] = { 2684387186UL, 2172657 // "time-range" "controller" "outside" LINE_COMMENT "exit" "nameif" "dhcp" // "access-group" COLON_COMMENT "nat" CLOSING_PAREN COMMA "global" "static" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_33(_tokenSet_33_data_,12); -const unsigned long PIXCfgParser::_tokenSet_34_data_[] = { 1108345408UL, 2147483648UL, 262144UL, 0UL, 294910UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; -// "ip" "pim" "igmp" "ospf" "description" "no" "rip" "nameif" "vlan" "speed" +const unsigned long PIXCfgParser::_tokenSet_34_data_[] = { 1108345408UL, 2147483648UL, 0UL, 0UL, 294911UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// "ip" "pim" "igmp" "ospf" "description" "no" "nameif" "vlan" "speed" // "duplex" "ddns" "forward" "delay" "hold-time" "ipv6" "mac-address" "multicast" -// PPPOE "security-level" "shutdown" "switchport" +// PPPOE "rip" "security-level" "shutdown" "switchport" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_34(_tokenSet_34_data_,12); -const unsigned long PIXCfgParser::_tokenSet_35_data_[] = { 1108345408UL, 2147483648UL, 262144UL, 100663296UL, 294910UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; -// "ip" "pim" "igmp" "ospf" "description" "no" "rip" LINE_COMMENT "exit" -// "nameif" "vlan" "speed" "duplex" "ddns" "forward" "delay" "hold-time" -// "ipv6" "mac-address" "multicast" PPPOE "security-level" "shutdown" "switchport" +const unsigned long PIXCfgParser::_tokenSet_35_data_[] = { 1108345408UL, 2147483648UL, 0UL, 50331648UL, 294911UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// "ip" "pim" "igmp" "ospf" "description" "no" LINE_COMMENT "exit" "nameif" +// "vlan" "speed" "duplex" "ddns" "forward" "delay" "hold-time" "ipv6" +// "mac-address" "multicast" PPPOE "rip" "security-level" "shutdown" "switchport" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_35(_tokenSet_35_data_,12); -const unsigned long PIXCfgParser::_tokenSet_36_data_[] = { 16384UL, 0UL, 0UL, 16777216UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_36_data_[] = { 16384UL, 0UL, 0UL, 8388608UL, 0UL, 0UL, 0UL, 0UL }; // WORD "outside" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_36(_tokenSet_36_data_,8); -const unsigned long PIXCfgParser::_tokenSet_37_data_[] = { 0UL, 16778880UL, 0UL, 16777216UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_37_data_[] = { 0UL, 16778880UL, 0UL, 8388608UL, 0UL, 0UL, 0UL, 0UL }; // INT_CONST "tcp" "udp" "dns" "outside" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_37(_tokenSet_37_data_,8); -const unsigned long PIXCfgParser::_tokenSet_38_data_[] = { 16UL, 16778880UL, 0UL, 16777216UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_38_data_[] = { 16UL, 16778880UL, 0UL, 8388608UL, 0UL, 0UL, 0UL, 0UL }; // NEWLINE INT_CONST "tcp" "udp" "dns" "outside" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_38(_tokenSet_38_data_,8); -const unsigned long PIXCfgParser::_tokenSet_39_data_[] = { 3758120818UL, 2172659455UL, 335UL, 125829184UL, 2382364674UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_39_data_[] = { 3758120818UL, 2172659455UL, 335UL, 62914592UL, 2382364673UL, 4UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF NEWLINE "quit" "ip" "timeout" "pim" "network" "names" "name" WORD // "object" "description" "host" "range" "subnet" "service" "http" "ssh" // "telnet" "icmp" INT_CONST "tcp" "udp" "object-group" "crypto" "dns" @@ -7771,14 +7819,14 @@ const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_39(_tokenSet_39_d const unsigned long PIXCfgParser::_tokenSet_40_data_[] = { 0UL, 16778880UL, 0UL, 0UL, 0UL, 10UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // INT_CONST "tcp" "udp" "dns" "netmask" "norandomseq" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_40(_tokenSet_40_data_,12); -const unsigned long PIXCfgParser::_tokenSet_41_data_[] = { 134275072UL, 176UL, 393536UL, 0UL, 0UL, 0UL, 0UL, 0UL }; -// IPV4 WORD IPV6 "pptp" "ssh" "telnet" INT_CONST "hostname" "access-list" -// "echo" "rip" +const unsigned long PIXCfgParser::_tokenSet_41_data_[] = { 134275072UL, 184UL, 131392UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// IPV4 WORD IPV6 "pptp" "http" "ssh" "telnet" INT_CONST "hostname" "access-list" +// "echo" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_41(_tokenSet_41_data_,8); const unsigned long PIXCfgParser::_tokenSet_42_data_[] = { 16UL, 16778880UL, 0UL, 0UL, 0UL, 10UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // NEWLINE INT_CONST "tcp" "udp" "dns" "netmask" "norandomseq" const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_42(_tokenSet_42_data_,12); -const unsigned long PIXCfgParser::_tokenSet_43_data_[] = { 536903538UL, 2172659452UL, 335UL, 109051968UL, 2382364674UL, 14UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long PIXCfgParser::_tokenSet_43_data_[] = { 536903538UL, 2172659452UL, 335UL, 54525984UL, 2382364673UL, 14UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // EOF NEWLINE "quit" "ip" "timeout" "pim" "network" "names" "name" IPV4 // WORD "object" "service" "http" "ssh" "telnet" "icmp" INT_CONST "tcp" // "udp" "object-group" "crypto" "dns" "no" "certificate" "PIX" "ASA" "FWSM" diff --git a/src/parsers/PIXCfgParserTokenTypes.hpp b/src/parsers/PIXCfgParserTokenTypes.hpp index 0b14ed16d..b254c660b 100644 --- a/src/parsers/PIXCfgParserTokenTypes.hpp +++ b/src/parsers/PIXCfgParserTokenTypes.hpp @@ -90,65 +90,65 @@ struct CUSTOM_API PIXCfgParserTokenTypes { P_LT = 79, P_NEQ = 80, ECHO = 81, - RIP = 82, - ESTABLISHED = 83, - ALTERNATE_ADDRESS = 84, - CONVERSION_ERROR = 85, - ECHO_REPLY = 86, - INFORMATION_REPLY = 87, - INFORMATION_REQUEST = 88, - MASK_REPLY = 89, - MASK_REQUEST = 90, - MOBILE_REDIRECT = 91, - PARAMETER_PROBLEM = 92, - REDIRECT = 93, - ROUTER_ADVERTISEMENT = 94, - ROUTER_SOLICITATION = 95, - SOURCE_QUENCH = 96, - TIME_EXCEEDED = 97, - TIMESTAMP_REPLY = 98, - TIMESTAMP_REQUEST = 99, - TRACEROUTE = 100, - UNREACHABLE = 101, - INTRFACE = 102, - ANY = 103, - LOG = 104, - LOG_INPUT = 105, - LOG_LEVEL_ALERTS = 106, - LOG_LEVEL_CRITICAL = 107, - LOG_LEVEL_DEBUGGING = 108, - LOG_LEVEL_EMERGENCIES = 109, - LOG_LEVEL_ERRORS = 110, - LOG_LEVEL_INFORMATIONAL = 111, - LOG_LEVEL_NOTIFICATIONS = 112, - LOG_LEVEL_WARNINGS = 113, - LOG_LEVEL_DISABLE = 114, - LOG_LEVEL_INACTIVE = 115, - INTERVAL = 116, - FRAGMENTS = 117, - TIME_RANGE = 118, - CONTROLLER = 119, - OUTSIDE = 120, - LINE_COMMENT = 121, - EXIT = 122, - AUI = 123, - AUTO = 124, - BNC = 125, - FULL = 126, - BASET = 127, - BASETX = 128, - NAMEIF = 129, - VLAN = 130, - SPEED = 131, - DUPLEX = 132, - DDNS = 133, - FORWARD = 134, - DELAY = 135, - HOLD_TIME = 136, - IPV6_C = 137, - MAC_ADDRESS = 138, - MULTICAST = 139, - PPPOE = 140, + ESTABLISHED = 82, + ALTERNATE_ADDRESS = 83, + CONVERSION_ERROR = 84, + ECHO_REPLY = 85, + INFORMATION_REPLY = 86, + INFORMATION_REQUEST = 87, + MASK_REPLY = 88, + MASK_REQUEST = 89, + MOBILE_REDIRECT = 90, + PARAMETER_PROBLEM = 91, + REDIRECT = 92, + ROUTER_ADVERTISEMENT = 93, + ROUTER_SOLICITATION = 94, + SOURCE_QUENCH = 95, + TIME_EXCEEDED = 96, + TIMESTAMP_REPLY = 97, + TIMESTAMP_REQUEST = 98, + TRACEROUTE = 99, + UNREACHABLE = 100, + INTRFACE = 101, + ANY = 102, + LOG = 103, + LOG_INPUT = 104, + LOG_LEVEL_ALERTS = 105, + LOG_LEVEL_CRITICAL = 106, + LOG_LEVEL_DEBUGGING = 107, + LOG_LEVEL_EMERGENCIES = 108, + LOG_LEVEL_ERRORS = 109, + LOG_LEVEL_INFORMATIONAL = 110, + LOG_LEVEL_NOTIFICATIONS = 111, + LOG_LEVEL_WARNINGS = 112, + LOG_LEVEL_DISABLE = 113, + LOG_LEVEL_INACTIVE = 114, + INTERVAL = 115, + FRAGMENTS = 116, + TIME_RANGE = 117, + CONTROLLER = 118, + OUTSIDE = 119, + LINE_COMMENT = 120, + EXIT = 121, + AUI = 122, + AUTO = 123, + BNC = 124, + FULL = 125, + BASET = 126, + BASETX = 127, + NAMEIF = 128, + VLAN = 129, + SPEED = 130, + DUPLEX = 131, + DDNS = 132, + FORWARD = 133, + DELAY = 134, + HOLD_TIME = 135, + IPV6_C = 136, + MAC_ADDRESS = 137, + MULTICAST = 138, + PPPOE = 139, + RIP = 140, SEC_LEVEL = 141, SHUTDOWN = 142, ADDRESS = 143, diff --git a/src/parsers/PIXCfgParserTokenTypes.txt b/src/parsers/PIXCfgParserTokenTypes.txt index 5d9d53c20..47536c520 100644 --- a/src/parsers/PIXCfgParserTokenTypes.txt +++ b/src/parsers/PIXCfgParserTokenTypes.txt @@ -78,65 +78,65 @@ P_GT="gt"=78 P_LT="lt"=79 P_NEQ="neq"=80 ECHO="echo"=81 -RIP="rip"=82 -ESTABLISHED="established"=83 -ALTERNATE_ADDRESS="alternate-address"=84 -CONVERSION_ERROR="conversion-error"=85 -ECHO_REPLY="echo-reply"=86 -INFORMATION_REPLY="information-reply"=87 -INFORMATION_REQUEST="information-request"=88 -MASK_REPLY="mask-reply"=89 -MASK_REQUEST="mask-request"=90 -MOBILE_REDIRECT="mobile-redirect"=91 -PARAMETER_PROBLEM="parameter-problem"=92 -REDIRECT="redirect"=93 -ROUTER_ADVERTISEMENT="router-advertisement"=94 -ROUTER_SOLICITATION="router-solicitation"=95 -SOURCE_QUENCH="source-quench"=96 -TIME_EXCEEDED="time-exceeded"=97 -TIMESTAMP_REPLY="timestamp-reply"=98 -TIMESTAMP_REQUEST="timestamp-request"=99 -TRACEROUTE="traceroute"=100 -UNREACHABLE="unreachable"=101 -INTRFACE="interface"=102 -ANY="any"=103 -LOG="log"=104 -LOG_INPUT="log-input"=105 -LOG_LEVEL_ALERTS="alerts"=106 -LOG_LEVEL_CRITICAL="critical"=107 -LOG_LEVEL_DEBUGGING="debugging"=108 -LOG_LEVEL_EMERGENCIES="emergencies"=109 -LOG_LEVEL_ERRORS="errors"=110 -LOG_LEVEL_INFORMATIONAL="informational"=111 -LOG_LEVEL_NOTIFICATIONS="notifications"=112 -LOG_LEVEL_WARNINGS="warnings"=113 -LOG_LEVEL_DISABLE="disable"=114 -LOG_LEVEL_INACTIVE="inactive"=115 -INTERVAL="interval"=116 -FRAGMENTS="fragments"=117 -TIME_RANGE="time-range"=118 -CONTROLLER="controller"=119 -OUTSIDE="outside"=120 -LINE_COMMENT=121 -EXIT="exit"=122 -AUI="aui"=123 -AUTO="auto"=124 -BNC="bnc"=125 -FULL="full"=126 -BASET="baseT"=127 -BASETX="baseTX"=128 -NAMEIF="nameif"=129 -VLAN="vlan"=130 -SPEED="speed"=131 -DUPLEX="duplex"=132 -DDNS="ddns"=133 -FORWARD="forward"=134 -DELAY="delay"=135 -HOLD_TIME="hold-time"=136 -IPV6_C="ipv6"=137 -MAC_ADDRESS="mac-address"=138 -MULTICAST="multicast"=139 -PPPOE=140 +ESTABLISHED="established"=82 +ALTERNATE_ADDRESS="alternate-address"=83 +CONVERSION_ERROR="conversion-error"=84 +ECHO_REPLY="echo-reply"=85 +INFORMATION_REPLY="information-reply"=86 +INFORMATION_REQUEST="information-request"=87 +MASK_REPLY="mask-reply"=88 +MASK_REQUEST="mask-request"=89 +MOBILE_REDIRECT="mobile-redirect"=90 +PARAMETER_PROBLEM="parameter-problem"=91 +REDIRECT="redirect"=92 +ROUTER_ADVERTISEMENT="router-advertisement"=93 +ROUTER_SOLICITATION="router-solicitation"=94 +SOURCE_QUENCH="source-quench"=95 +TIME_EXCEEDED="time-exceeded"=96 +TIMESTAMP_REPLY="timestamp-reply"=97 +TIMESTAMP_REQUEST="timestamp-request"=98 +TRACEROUTE="traceroute"=99 +UNREACHABLE="unreachable"=100 +INTRFACE="interface"=101 +ANY="any"=102 +LOG="log"=103 +LOG_INPUT="log-input"=104 +LOG_LEVEL_ALERTS="alerts"=105 +LOG_LEVEL_CRITICAL="critical"=106 +LOG_LEVEL_DEBUGGING="debugging"=107 +LOG_LEVEL_EMERGENCIES="emergencies"=108 +LOG_LEVEL_ERRORS="errors"=109 +LOG_LEVEL_INFORMATIONAL="informational"=110 +LOG_LEVEL_NOTIFICATIONS="notifications"=111 +LOG_LEVEL_WARNINGS="warnings"=112 +LOG_LEVEL_DISABLE="disable"=113 +LOG_LEVEL_INACTIVE="inactive"=114 +INTERVAL="interval"=115 +FRAGMENTS="fragments"=116 +TIME_RANGE="time-range"=117 +CONTROLLER="controller"=118 +OUTSIDE="outside"=119 +LINE_COMMENT=120 +EXIT="exit"=121 +AUI="aui"=122 +AUTO="auto"=123 +BNC="bnc"=124 +FULL="full"=125 +BASET="baseT"=126 +BASETX="baseTX"=127 +NAMEIF="nameif"=128 +VLAN="vlan"=129 +SPEED="speed"=130 +DUPLEX="duplex"=131 +DDNS="ddns"=132 +FORWARD="forward"=133 +DELAY="delay"=134 +HOLD_TIME="hold-time"=135 +IPV6_C="ipv6"=136 +MAC_ADDRESS="mac-address"=137 +MULTICAST="multicast"=138 +PPPOE=139 +RIP="rip"=140 SEC_LEVEL="security-level"=141 SHUTDOWN="shutdown"=142 ADDRESS="address"=143 diff --git a/src/parsers/pix.g b/src/parsers/pix.g index c1662a9d9..7354e4362 100644 --- a/src/parsers/pix.g +++ b/src/parsers/pix.g @@ -254,8 +254,6 @@ ip_protocol_names : ( //**************************************************************** -//**************************************************************** - named_object_network : OBJECT NETWORK name:WORD NEWLINE { importer->clear(); @@ -1200,9 +1198,9 @@ tcp_udp_port_names : ECHO | HOSTNAME | PPTP | - RIP | SSH | - TELNET + TELNET | + HTTP ) ; @@ -2186,9 +2184,33 @@ static_starts_with_tcp_udp : ( TCP | UDP ) // Hostname or A.B.C.D Real IP address of the host or hosts // access-list Configure access-list name after this keyword - static_real_addr_match + ( + single_addr // real + { + importer->real_a = importer->tmp_a; + importer->real_nm = importer->tmp_nm; + *dbg << "real: " << importer->real_a; + } - // <0-65535> The maximum number of simultaneous tcp connections the local IP + // <0-65535> Enter port number (0 - 65535) + // aol + // bgp + // chargen + tcp_udp_port_spec + { + importer->real_port_spec = importer->tmp_port_spec_2; + *dbg << "real port " << importer->real_port_spec << " "; + } + + | + ACCESS_LIST acl_name:WORD + { + importer->real_addr_acl = acl_name->getText(); + *dbg << "real: " << importer->real_addr_acl; + } + ) + + // <0-65535> The maximum number of simultaneous tcp connections the loc // hosts are to allow, default is 0 which means unlimited // connections. Idle connections are closed after the time // specified by the timeout conn command @@ -2199,6 +2221,7 @@ static_starts_with_tcp_udp : ( TCP | UDP ) // udp Configure UDP specific parameters ( static_command_common_last_parameters )* + ; static_command_common_last_parameters : diff --git a/src/unit_tests/PIXImporterTest/test_data/pix7-nat.fwb b/src/unit_tests/PIXImporterTest/test_data/pix7-nat.fwb index 0c40bf756..2f75550dc 100644 --- a/src/unit_tests/PIXImporterTest/test_data/pix7-nat.fwb +++ b/src/unit_tests/PIXImporterTest/test_data/pix7-nat.fwb @@ -1,6 +1,6 @@ - + @@ -453,83 +453,132 @@ - - + + + - - - - + + + + - + - + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + - - - - - + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + - - - - + + + + - + - + - + @@ -538,14 +587,14 @@ - + - + - + @@ -565,14 +614,14 @@ - + - + - + @@ -583,7 +632,7 @@ - + @@ -592,41 +641,14 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -646,16 +668,43 @@ - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -673,16 +722,16 @@ - + - + - + - + @@ -691,7 +740,7 @@ - + @@ -700,43 +749,16 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -754,25 +776,25 @@ - + - + - + - + - + - + - + @@ -781,25 +803,25 @@ - + - + - + - + - + - + @@ -808,14 +830,14 @@ - + - + - + @@ -823,10 +845,10 @@ - + - + @@ -835,22 +857,49 @@ - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -862,22 +911,22 @@ - + - + - + - + - + @@ -889,41 +938,14 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -931,10 +953,10 @@ - + - + @@ -943,14 +965,41 @@ - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -964,20 +1013,20 @@ - + - + - + - + @@ -997,19 +1046,19 @@ - + - + - + - + @@ -1024,14 +1073,14 @@ - + - + - + @@ -1039,26 +1088,26 @@ - + - + - + - + - + - + @@ -1066,7 +1115,7 @@ - + @@ -1075,25 +1124,1402 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1102,25 +2528,25 @@ - + - + - + - + - + - + @@ -1129,22 +2555,22 @@ - + - + - + - + - + @@ -1156,22 +2582,22 @@ - + - + - + - + - + @@ -1183,52 +2609,25 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1240,28 +2639,55 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - + - + @@ -1270,18 +2696,18 @@ - + - + - + - + - + @@ -1290,18 +2716,18 @@ - + - + - + - + - + @@ -1310,18 +2736,18 @@ - + - + - + - + @@ -1331,18 +2757,18 @@ - + - + - + - + @@ -1352,18 +2778,18 @@ - + - + - + - + @@ -1373,18 +2799,18 @@ - + - + - + - + @@ -1393,7 +2819,7 @@ - + @@ -1401,10 +2827,10 @@ - + - + @@ -1414,18 +2840,18 @@ - + - + - + - + - + @@ -1435,18 +2861,18 @@ - + - + - + - + - + @@ -1456,18 +2882,18 @@ - + - + - + - + - + @@ -1477,18 +2903,18 @@ - + - + - + - + @@ -1497,7 +2923,7 @@ - + @@ -1505,10 +2931,10 @@ - + - + @@ -1518,18 +2944,18 @@ - + - + - + - + @@ -1539,18 +2965,18 @@ - + - + - + - + @@ -1560,18 +2986,18 @@ - + - + - + - + @@ -1581,18 +3007,18 @@ - + - + - + - + @@ -1604,28 +3030,28 @@ - + - + - - + + - - + + - - + + @@ -1646,7 +3072,7 @@ - - + + diff --git a/src/unit_tests/PIXImporterTest/test_data/pix7-nat.output b/src/unit_tests/PIXImporterTest/test_data/pix7-nat.output index 0873e956a..edd27ee70 100644 --- a/src/unit_tests/PIXImporterTest/test_data/pix7-nat.output +++ b/src/unit_tests/PIXImporterTest/test_data/pix7-nat.output @@ -71,14 +71,65 @@ Warning: interface Ethernet6 was not imported because it is in "shutdown" mode 167: Destination translation rule ("static" command) 168: Destination translation rule ("static" command) 169: Destination translation rule ("static" command) +170: Destination translation rule ("static" command) 171: Destination translation rule ("static" command) +172: Destination translation rule ("static" command) +173: Destination translation rule ("static" command) 174: Destination translation rule ("static" command) -177: Interface Ethernet0.101 ruleset outside_in direction 'in' -178: Interface Ethernet1 ruleset inside_in direction 'in' -179: Interface Ethernet1 ruleset inside_out direction 'out' -220: Interface Ethernet1 ruleset ssh_commands_inside direction 'in' -220: filtering rule: access list ssh_commands_inside, action permit -221: Interface Ethernet1 ruleset ssh_commands_inside direction 'in' -221: filtering rule: access list ssh_commands_inside, action permit -222: Interface Ethernet0.101 ruleset ssh_commands_outside direction 'in' -222: filtering rule: access list ssh_commands_outside, action permit +175: Destination translation rule ("static" command) +176: Destination translation rule ("static" command) +177: Destination translation rule ("static" command) +178: Destination translation rule ("static" command) +179: Destination translation rule ("static" command) +180: Destination translation rule ("static" command) +181: Destination translation rule ("static" command) +182: Destination translation rule ("static" command) +183: Destination translation rule ("static" command) +184: Destination translation rule ("static" command) +185: Destination translation rule ("static" command) +186: Destination translation rule ("static" command) +187: Destination translation rule ("static" command) +188: Destination translation rule ("static" command) +189: Destination translation rule ("static" command) +190: Destination translation rule ("static" command) +191: Destination translation rule ("static" command) +192: Destination translation rule ("static" command) +193: Destination translation rule ("static" command) +194: Destination translation rule ("static" command) +195: Destination translation rule ("static" command) +196: Destination translation rule ("static" command) +197: Destination translation rule ("static" command) +198: Destination translation rule ("static" command) +199: Destination translation rule ("static" command) +200: Destination translation rule ("static" command) +201: Destination translation rule ("static" command) +202: Destination translation rule ("static" command) +203: Destination translation rule ("static" command) +204: Destination translation rule ("static" command) +205: Destination translation rule ("static" command) +206: Destination translation rule ("static" command) +207: Destination translation rule ("static" command) +208: Destination translation rule ("static" command) +209: Destination translation rule ("static" command) +210: Destination translation rule ("static" command) +211: Destination translation rule ("static" command) +212: Destination translation rule ("static" command) +213: Destination translation rule ("static" command) +214: Destination translation rule ("static" command) +215: Destination translation rule ("static" command) +216: Destination translation rule ("static" command) +217: Destination translation rule ("static" command) +222: Destination translation rule ("static" command) +223: Destination translation rule ("static" command) +224: Destination translation rule ("static" command) +226: Destination translation rule ("static" command) +229: Destination translation rule ("static" command) +232: Interface Ethernet0.101 ruleset outside_in direction 'in' +233: Interface Ethernet1 ruleset inside_in direction 'in' +234: Interface Ethernet1 ruleset inside_out direction 'out' +275: Interface Ethernet1 ruleset ssh_commands_inside direction 'in' +275: filtering rule: access list ssh_commands_inside, action permit +276: Interface Ethernet1 ruleset ssh_commands_inside direction 'in' +276: filtering rule: access list ssh_commands_inside, action permit +277: Interface Ethernet0.101 ruleset ssh_commands_outside direction 'in' +277: filtering rule: access list ssh_commands_outside, action permit diff --git a/src/unit_tests/PIXImporterTest/test_data/pix7-nat.test b/src/unit_tests/PIXImporterTest/test_data/pix7-nat.test index 5f320e04c..e7edac8a1 100644 --- a/src/unit_tests/PIXImporterTest/test_data/pix7-nat.test +++ b/src/unit_tests/PIXImporterTest/test_data/pix7-nat.test @@ -164,6 +164,61 @@ static (inside,dmz20) interface 10.1.1.111 static (inside,outside) tcp 10.5.80.16 80 10.1.1.16 8080 netmask 255.255.255.240 0 0 static (inside,outside) tcp 10.5.80.200 80 10.10.1.200 8080 netmask 255.255.255.255 0 0 +static (inside,outside) tcp 10.5.80.16 aol 10.1.1.16 aol +static (inside,outside) tcp 10.5.80.16 bgp 10.1.1.16 bgp +static (inside,outside) tcp 10.5.80.16 chargen 10.1.1.16 chargen +static (inside,outside) tcp 10.5.80.16 cifs 10.1.1.16 cifs +static (inside,outside) tcp 10.5.80.16 citrix-ica 10.1.1.16 citrix-ica +static (inside,outside) tcp 10.5.80.16 cmd 10.1.1.16 cmd +static (inside,outside) tcp 10.5.80.16 ctiqbe 10.1.1.16 ctiqbe +static (inside,outside) tcp 10.5.80.16 daytime 10.1.1.16 daytime +static (inside,outside) tcp 10.5.80.16 discard 10.1.1.16 discard +static (inside,outside) tcp 10.5.80.16 domain 10.1.1.16 domain +static (inside,outside) tcp 10.5.80.16 echo 10.1.1.16 echo +static (inside,outside) tcp 10.5.80.16 exec 10.1.1.16 exec +static (inside,outside) tcp 10.5.80.16 finger 10.1.1.16 finger +static (inside,outside) tcp 10.5.80.16 ftp 10.1.1.16 ftp +static (inside,outside) tcp 10.5.80.16 ftp-data 10.1.1.16 ftp-data +static (inside,outside) tcp 10.5.80.16 gopher 10.1.1.16 gopher +static (inside,outside) tcp 10.5.80.16 h323 10.1.1.16 h323 +static (inside,outside) tcp 10.5.80.16 hostname 10.1.1.16 hostname +static (inside,outside) tcp 10.5.80.16 http 10.1.1.16 http +static (inside,outside) tcp 10.5.80.16 https 10.1.1.16 https +static (inside,outside) tcp 10.5.80.16 ident 10.1.1.16 ident +static (inside,outside) tcp 10.5.80.16 imap4 10.1.1.16 imap4 +static (inside,outside) tcp 10.5.80.16 irc 10.1.1.16 irc +static (inside,outside) tcp 10.5.80.16 kerberos 10.1.1.16 kerberos +static (inside,outside) tcp 10.5.80.16 klogin 10.1.1.16 klogin +static (inside,outside) tcp 10.5.80.16 kshell 10.1.1.16 kshell +static (inside,outside) tcp 10.5.80.16 ldap 10.1.1.16 ldap +static (inside,outside) tcp 10.5.80.16 ldaps 10.1.1.16 ldaps +static (inside,outside) tcp 10.5.80.16 login 10.1.1.16 login +static (inside,outside) tcp 10.5.80.16 lotusnotes 10.1.1.16 lotusnotes +static (inside,outside) tcp 10.5.80.16 lpd 10.1.1.16 lpd +static (inside,outside) tcp 10.5.80.16 netbios-ssn 10.1.1.16 netbios-ssn +static (inside,outside) tcp 10.5.80.16 nntp 10.1.1.16 nntp +static (inside,outside) tcp 10.5.80.16 pcanywhere-data 10.1.1.16 pcanywhere-data +static (inside,outside) tcp 10.5.80.16 pim-auto-rp 10.1.1.16 pim-auto-rp +static (inside,outside) tcp 10.5.80.16 pop2 10.1.1.16 pop2 +static (inside,outside) tcp 10.5.80.16 pop3 10.1.1.16 pop3 +static (inside,outside) tcp 10.5.80.16 pptp 10.1.1.16 pptp +static (inside,outside) tcp 10.5.80.16 rsh 10.1.1.16 rsh +static (inside,outside) tcp 10.5.80.16 rtsp 10.1.1.16 rtsp +static (inside,outside) tcp 10.5.80.16 sip 10.1.1.16 sip +static (inside,outside) tcp 10.5.80.16 smtp 10.1.1.16 smtp +static (inside,outside) tcp 10.5.80.16 sqlnet 10.1.1.16 sqlnet +static (inside,outside) tcp 10.5.80.16 ssh 10.1.1.16 ssh +static (inside,outside) tcp 10.5.80.16 sunrpc 10.1.1.16 sunrpc +static (inside,outside) tcp 10.5.80.16 tacacs 10.1.1.16 tacacs +static (inside,outside) tcp 10.5.80.16 talk 10.1.1.16 talk +static (inside,outside) tcp 10.5.80.16 telnet 10.1.1.16 telnet +static (inside,outside) tcp 10.5.80.16 uucp 10.1.1.16 uucp +static (inside,outside) tcp 10.5.80.16 whois 10.1.1.16 whois +static (inside,outside) tcp 10.5.80.16 www 10.1.1.16 www + + + + static (inside,outside) tcp interface www access-list id12594X2458.0 0 0 static (inside,outside) tcp interface 80 access-list id12594X2458.0 0 0 static (inside,outside) interface access-list id12594X2458.0 0 0