1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2026-03-22 11:17:31 +01:00

see #2354 fixed parser to recognize top level "ip" commands that we do not use but that should not cause parser error

This commit is contained in:
Vadim Kurland 2011-04-15 16:51:15 -07:00
parent 6d5d1a9079
commit ef3485df4a
9 changed files with 688 additions and 548 deletions

View File

@ -44,41 +44,42 @@ IOSCfgLexer::IOSCfgLexer(const ANTLR_USE_NAMESPACE(antlr)LexerSharedInputState&
void IOSCfgLexer::initLiterals()
{
literals["host"] = 27;
literals["host"] = 9;
literals["log"] = 30;
literals["access-list"] = 14;
literals["access-list"] = 17;
literals["interface"] = 37;
literals["remark"] = 39;
literals["certificate"] = 9;
literals["exit"] = 44;
literals["udp"] = 21;
literals["tcp"] = 20;
literals["remark"] = 40;
literals["certificate"] = 12;
literals["exit"] = 45;
literals["udp"] = 22;
literals["point-to-point"] = 38;
literals["tcp"] = 8;
literals["controller"] = 36;
literals["eq"] = 22;
literals["eq"] = 23;
literals["ip"] = 5;
literals["access-group"] = 41;
literals["access-group"] = 42;
literals["time-range"] = 34;
literals["version"] = 10;
literals["community-list"] = 7;
literals["icmp"] = 19;
literals["description"] = 38;
literals["secondary"] = 43;
literals["lt"] = 24;
literals["range"] = 26;
literals["version"] = 13;
literals["community-list"] = 10;
literals["icmp"] = 7;
literals["description"] = 39;
literals["secondary"] = 44;
literals["lt"] = 25;
literals["range"] = 27;
literals["log-input"] = 31;
literals["standard"] = 46;
literals["gt"] = 23;
literals["permit"] = 17;
literals["extended"] = 16;
literals["address"] = 42;
literals["standard"] = 47;
literals["gt"] = 24;
literals["permit"] = 20;
literals["extended"] = 19;
literals["address"] = 43;
literals["established"] = 32;
literals["neq"] = 25;
literals["neq"] = 26;
literals["quit"] = 6;
literals["vlan"] = 35;
literals["any"] = 29;
literals["deny"] = 18;
literals["shutdown"] = 40;
literals["hostname"] = 12;
literals["deny"] = 21;
literals["shutdown"] = 41;
literals["hostname"] = 15;
literals["fragments"] = 33;
}
@ -394,11 +395,11 @@ void IOSCfgLexer::mLINE_COMMENT(bool _createToken) {
}
}
else {
goto _loop83;
goto _loop85;
}
}
_loop83:;
_loop85:;
} // ( ... )*
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
_token = makeToken(_ttype);
@ -477,9 +478,9 @@ void IOSCfgLexer::mWhitespace(bool _createToken) {
}
}
if ( inputState->guessing==0 ) {
#line 725 "iosacl.g"
#line 756 "iosacl.g"
_ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP;
#line 483 "IOSCfgLexer.cpp"
#line 484 "IOSCfgLexer.cpp"
}
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
_token = makeToken(_ttype);
@ -510,9 +511,9 @@ void IOSCfgLexer::mNEWLINE(bool _createToken) {
}
if ( inputState->guessing==0 ) {
#line 730 "iosacl.g"
#line 761 "iosacl.g"
newline();
#line 516 "IOSCfgLexer.cpp"
#line 517 "IOSCfgLexer.cpp"
}
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
_token = makeToken(_ttype);
@ -624,29 +625,14 @@ void IOSCfgLexer::mNUMBER(bool _createToken) {
ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex;
{
bool synPredMatched102 = false;
bool synPredMatched104 = false;
if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_2.member(LA(2))) && (_tokenSet_2.member(LA(3))) && (_tokenSet_2.member(LA(4))) && (_tokenSet_2.member(LA(5))) && (_tokenSet_2.member(LA(6))) && (_tokenSet_2.member(LA(7))) && (true) && (true) && (true))) {
int _m102 = mark();
synPredMatched102 = true;
int _m104 = mark();
synPredMatched104 = true;
inputState->guessing++;
try {
{
{ // ( ... )+
int _cnt97=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
mDIGIT(false);
}
else {
if ( _cnt97>=1 ) { goto _loop97; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt97++;
}
_loop97:;
} // ( ... )+
mDOT(false);
{ // ( ... )+
int _cnt99=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
@ -675,32 +661,32 @@ void IOSCfgLexer::mNUMBER(bool _createToken) {
}
_loop101:;
} // ( ... )+
mDOT(false);
{ // ( ... )+
int _cnt103=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
mDIGIT(false);
}
else {
if ( _cnt103>=1 ) { goto _loop103; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt103++;
}
_loop103:;
} // ( ... )+
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
synPredMatched102 = false;
synPredMatched104 = false;
}
rewind(_m102);
rewind(_m104);
inputState->guessing--;
}
if ( synPredMatched102 ) {
if ( synPredMatched104 ) {
{
{ // ( ... )+
int _cnt105=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
mDIGIT(false);
}
else {
if ( _cnt105>=1 ) { goto _loop105; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt105++;
}
_loop105:;
} // ( ... )+
mDOT(false);
{ // ( ... )+
int _cnt107=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
@ -744,37 +730,37 @@ void IOSCfgLexer::mNUMBER(bool _createToken) {
}
_loop111:;
} // ( ... )+
mDOT(false);
{ // ( ... )+
int _cnt113=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
mDIGIT(false);
}
else {
if ( _cnt113>=1 ) { goto _loop113; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt113++;
}
_loop113:;
} // ( ... )+
}
if ( inputState->guessing==0 ) {
#line 750 "iosacl.g"
#line 781 "iosacl.g"
_ttype = IPV4;
#line 752 "IOSCfgLexer.cpp"
#line 753 "IOSCfgLexer.cpp"
}
}
else {
bool synPredMatched117 = false;
bool synPredMatched119 = false;
if ((((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (_tokenSet_2.member(LA(2))) && (_tokenSet_2.member(LA(3))) && (true) && (true) && (true) && (true) && (true) && (true) && (true))) {
int _m117 = mark();
synPredMatched117 = true;
int _m119 = mark();
synPredMatched119 = true;
inputState->guessing++;
try {
{
{ // ( ... )+
int _cnt114=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
mDIGIT(false);
}
else {
if ( _cnt114>=1 ) { goto _loop114; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt114++;
}
_loop114:;
} // ( ... )+
mDOT(false);
{ // ( ... )+
int _cnt116=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
@ -788,32 +774,32 @@ void IOSCfgLexer::mNUMBER(bool _createToken) {
}
_loop116:;
} // ( ... )+
mDOT(false);
{ // ( ... )+
int _cnt118=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
mDIGIT(false);
}
else {
if ( _cnt118>=1 ) { goto _loop118; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt118++;
}
_loop118:;
} // ( ... )+
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) {
synPredMatched117 = false;
synPredMatched119 = false;
}
rewind(_m117);
rewind(_m119);
inputState->guessing--;
}
if ( synPredMatched117 ) {
if ( synPredMatched119 ) {
{
{ // ( ... )+
int _cnt120=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
mDIGIT(false);
}
else {
if ( _cnt120>=1 ) { goto _loop120; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt120++;
}
_loop120:;
} // ( ... )+
mDOT(false);
{ // ( ... )+
int _cnt122=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
@ -827,34 +813,7 @@ void IOSCfgLexer::mNUMBER(bool _createToken) {
}
_loop122:;
} // ( ... )+
}
}
else if ((LA(1) == 0x30 /* '0' */ ) && (LA(2) == 0x78 /* 'x' */ )) {
{
match('0' /* charlit */ );
match('x' /* charlit */ );
{ // ( ... )+
int _cnt127=0;
for (;;) {
if ((_tokenSet_3.member(LA(1)))) {
mHEXDIGIT(false);
}
else {
if ( _cnt127>=1 ) { goto _loop127; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt127++;
}
_loop127:;
} // ( ... )+
}
if ( inputState->guessing==0 ) {
#line 756 "iosacl.g"
_ttype = HEX_CONST;
#line 855 "IOSCfgLexer.cpp"
}
}
else if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true)) {
mDOT(false);
{ // ( ... )+
int _cnt124=0;
for (;;) {
@ -869,10 +828,52 @@ void IOSCfgLexer::mNUMBER(bool _createToken) {
}
_loop124:;
} // ( ... )+
}
}
else if ((LA(1) == 0x30 /* '0' */ ) && (LA(2) == 0x78 /* 'x' */ )) {
{
match('0' /* charlit */ );
match('x' /* charlit */ );
{ // ( ... )+
int _cnt129=0;
for (;;) {
if ((_tokenSet_3.member(LA(1)))) {
mHEXDIGIT(false);
}
else {
if ( _cnt129>=1 ) { goto _loop129; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt129++;
}
_loop129:;
} // ( ... )+
}
if ( inputState->guessing==0 ) {
#line 754 "iosacl.g"
#line 787 "iosacl.g"
_ttype = HEX_CONST;
#line 856 "IOSCfgLexer.cpp"
}
}
else if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true)) {
{ // ( ... )+
int _cnt126=0;
for (;;) {
if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) {
mDIGIT(false);
}
else {
if ( _cnt126>=1 ) { goto _loop126; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());}
}
_cnt126++;
}
_loop126:;
} // ( ... )+
if ( inputState->guessing==0 ) {
#line 785 "iosacl.g"
_ttype = INT_CONST;
#line 876 "IOSCfgLexer.cpp"
#line 877 "IOSCfgLexer.cpp"
}
}
else {
@ -1133,11 +1134,11 @@ void IOSCfgLexer::mWORD(bool _createToken) {
}
default:
{
goto _loop131;
goto _loop133;
}
}
}
_loop131:;
_loop133:;
} // ( ... )*
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
_token = makeToken(_ttype);
@ -1159,11 +1160,11 @@ void IOSCfgLexer::mSTRING(bool _createToken) {
matchNot('\"' /* charlit */ );
}
else {
goto _loop134;
goto _loop136;
}
}
_loop134:;
_loop136:;
} // ( ... )*
match('\"' /* charlit */ );
if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) {
@ -1547,7 +1548,7 @@ const unsigned long IOSCfgLexer::_tokenSet_1_data_[] = { 4294958072UL, 429496729
// 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xb 0xc 0xe 0xf 0x10 0x11 0x12 0x13 0x14
// 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ! \" # $ %
// & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G
// H I J K L M N
// H I J K L M N O
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgLexer::_tokenSet_1(_tokenSet_1_data_,16);
const unsigned long IOSCfgLexer::_tokenSet_2_data_[] = { 0UL, 67059712UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// . 0 1 2 3 4 5 6 7 8 9
@ -1559,6 +1560,6 @@ const unsigned long IOSCfgLexer::_tokenSet_4_data_[] = { 4294967288UL, 429496729
// 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 0x11 0x12 0x13
// 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ! # $
// % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F
// G H I J K L M N
// G H I J K L M N O
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgLexer::_tokenSet_4(_tokenSet_4_data_,16);

View File

@ -169,7 +169,7 @@ void IOSCfgParser::version() {
v = LT(1);
match(NUMBER);
if ( inputState->guessing==0 ) {
#line 171 "iosacl.g"
#line 193 "iosacl.g"
*dbg << "VERSION " << v->getText() << std::endl;
@ -209,7 +209,7 @@ void IOSCfgParser::hostname() {
}
}
if ( inputState->guessing==0 ) {
#line 178 "iosacl.g"
#line 200 "iosacl.g"
importer->setCurrentLineNumber(LT(0)->getLine());
importer->setHostName( LT(0)->getText() );
@ -252,6 +252,13 @@ void IOSCfgParser::ip_commands() {
community_list_command();
break;
}
case ICMP:
case TCP:
case HOST:
{
ip_unused_command();
break;
}
case WORD:
{
unknown_command();
@ -282,14 +289,40 @@ void IOSCfgParser::intrface() {
in = LT(1);
match(WORD);
if ( inputState->guessing==0 ) {
#line 505 "iosacl.g"
#line 527 "iosacl.g"
importer->setCurrentLineNumber(LT(0)->getLine());
importer->newInterface( in->getText() );
*dbg << in->getLine() << ":"
<< " INTRFACE: " << in->getText() << std::endl;
#line 293 "IOSCfgParser.cpp"
#line 300 "IOSCfgParser.cpp"
}
{
switch ( LA(1)) {
case POINT_TO_POINT:
{
match(POINT_TO_POINT);
if ( inputState->guessing==0 ) {
#line 535 "iosacl.g"
importer->addMessageToLog(
QString("Warning: point-to-point interfaces "
"are not supported"));
#line 314 "IOSCfgParser.cpp"
}
break;
}
case NEWLINE:
{
break;
}
default:
{
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
}
}
}
match(NEWLINE);
}
@ -308,13 +341,13 @@ void IOSCfgParser::controller() {
try { // for error handling
match(CONTROLLER);
if ( inputState->guessing==0 ) {
#line 495 "iosacl.g"
#line 517 "iosacl.g"
importer->setCurrentLineNumber(LT(0)->getLine());
importer->clearCurrentInterface();
consumeUntil(NEWLINE);
#line 318 "IOSCfgParser.cpp"
#line 351 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -350,13 +383,13 @@ void IOSCfgParser::vlan() {
}
}
if ( inputState->guessing==0 ) {
#line 485 "iosacl.g"
#line 507 "iosacl.g"
importer->setCurrentLineNumber(LT(0)->getLine());
importer->clearCurrentInterface();
consumeUntil(NEWLINE);
#line 360 "IOSCfgParser.cpp"
#line 393 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -377,14 +410,14 @@ void IOSCfgParser::access_list_commands() {
acl_num = LT(1);
match(INT_CONST);
if ( inputState->guessing==0 ) {
#line 194 "iosacl.g"
#line 216 "iosacl.g"
importer->newUnidirRuleSet( std::string("acl_") + acl_num->getText(),
libfwbuilder::Policy::TYPENAME);
*dbg << acl_num->getLine() << ":"
<< " ACL #" << acl_num->getText() << " ";
#line 388 "IOSCfgParser.cpp"
#line 421 "IOSCfgParser.cpp"
}
{
if ((LA(1) == PERMIT) && (LA(2) == IPV4 || LA(2) == ANY)) {
@ -438,7 +471,7 @@ void IOSCfgParser::description() {
try { // for error handling
match(DESCRIPTION);
if ( inputState->guessing==0 ) {
#line 517 "iosacl.g"
#line 547 "iosacl.g"
importer->setCurrentLineNumber(LT(0)->getLine());
*dbg << LT(1)->getLine() << ":";
@ -452,7 +485,7 @@ void IOSCfgParser::description() {
*dbg << " DESCRIPTION " << descr << std::endl;
//consumeUntil(NEWLINE);
#line 456 "IOSCfgParser.cpp"
#line 489 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -470,12 +503,12 @@ void IOSCfgParser::shutdown() {
try { // for error handling
match(SHUTDOWN);
if ( inputState->guessing==0 ) {
#line 553 "iosacl.g"
#line 583 "iosacl.g"
*dbg<< LT(1)->getLine() << ":"
<< " INTERFACE SHUTDOWN " << std::endl;
#line 479 "IOSCfgParser.cpp"
#line 512 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -494,12 +527,12 @@ void IOSCfgParser::certificate() {
match(CERTIFICATE);
match(WORD);
if ( inputState->guessing==0 ) {
#line 163 "iosacl.g"
#line 185 "iosacl.g"
consumeUntil(NEWLINE);
consumeUntil(QUIT);
#line 503 "IOSCfgParser.cpp"
#line 536 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -517,11 +550,11 @@ void IOSCfgParser::quit() {
try { // for error handling
match(QUIT);
if ( inputState->guessing==0 ) {
#line 142 "iosacl.g"
#line 153 "iosacl.g"
consumeUntil(NEWLINE);
#line 525 "IOSCfgParser.cpp"
#line 558 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -539,11 +572,11 @@ void IOSCfgParser::unknown_command() {
try { // for error handling
match(WORD);
if ( inputState->guessing==0 ) {
#line 156 "iosacl.g"
#line 178 "iosacl.g"
consumeUntil(NEWLINE);
#line 547 "IOSCfgParser.cpp"
#line 580 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -565,13 +598,13 @@ void IOSCfgParser::ip_access_list_ext() {
name = LT(1);
match(WORD);
if ( inputState->guessing==0 ) {
#line 216 "iosacl.g"
#line 238 "iosacl.g"
importer->newUnidirRuleSet( name->getText(), libfwbuilder::Policy::TYPENAME );
*dbg << name->getLine() << ":"
<< " ACL ext " << name->getText() << std::endl;
#line 575 "IOSCfgParser.cpp"
#line 608 "IOSCfgParser.cpp"
}
match(NEWLINE);
{ // ( ... )*
@ -600,19 +633,19 @@ void IOSCfgParser::ip_access_list_ext() {
match(NEWLINE);
}
else {
goto _loop17;
goto _loop18;
}
}
}
_loop17:;
_loop18:;
} // ( ... )*
if ( inputState->guessing==0 ) {
#line 233 "iosacl.g"
#line 255 "iosacl.g"
*dbg << LT(0)->getLine() << ":"
<< " ACL end" << std::endl << std::endl;
#line 616 "IOSCfgParser.cpp"
#line 649 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -660,11 +693,53 @@ void IOSCfgParser::community_list_command() {
try { // for error handling
match(COMMUNITY_LIST);
if ( inputState->guessing==0 ) {
#line 149 "iosacl.g"
#line 171 "iosacl.g"
consumeUntil(NEWLINE);
#line 668 "IOSCfgParser.cpp"
#line 701 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
if( inputState->guessing == 0 ) {
reportError(ex);
recover(ex,_tokenSet_2);
} else {
throw;
}
}
}
void IOSCfgParser::ip_unused_command() {
try { // for error handling
switch ( LA(1)) {
case ICMP:
{
match(ICMP);
break;
}
case TCP:
{
match(TCP);
break;
}
case HOST:
{
match(HOST);
if ( inputState->guessing==0 ) {
#line 164 "iosacl.g"
consumeUntil(NEWLINE);
#line 736 "IOSCfgParser.cpp"
}
break;
}
default:
{
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
}
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -682,22 +757,22 @@ void IOSCfgParser::permit_std() {
try { // for error handling
match(PERMIT);
if ( inputState->guessing==0 ) {
#line 268 "iosacl.g"
#line 290 "iosacl.g"
importer->setCurrentLineNumber(LT(0)->getLine());
importer->newPolicyRule();
importer->action = "permit";
*dbg << LT(1)->getLine() << ":" << " permit ";
#line 693 "IOSCfgParser.cpp"
#line 768 "IOSCfgParser.cpp"
}
rule_std();
if ( inputState->guessing==0 ) {
#line 275 "iosacl.g"
#line 297 "iosacl.g"
importer->pushRule();
#line 701 "IOSCfgParser.cpp"
#line 776 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -715,23 +790,23 @@ void IOSCfgParser::deny_std() {
try { // for error handling
match(DENY);
if ( inputState->guessing==0 ) {
#line 281 "iosacl.g"
#line 303 "iosacl.g"
importer->setCurrentLineNumber(LT(0)->getLine());
importer->newPolicyRule();
importer->action = "deny";
*dbg << LT(1)->getLine() << ":" << " deny ";
#line 726 "IOSCfgParser.cpp"
#line 801 "IOSCfgParser.cpp"
}
rule_std();
match(NEWLINE);
if ( inputState->guessing==0 ) {
#line 288 "iosacl.g"
#line 310 "iosacl.g"
importer->pushRule();
#line 735 "IOSCfgParser.cpp"
#line 810 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -749,22 +824,22 @@ void IOSCfgParser::permit_ext() {
try { // for error handling
match(PERMIT);
if ( inputState->guessing==0 ) {
#line 241 "iosacl.g"
#line 263 "iosacl.g"
importer->setCurrentLineNumber(LT(0)->getLine());
importer->newPolicyRule();
importer->action = "permit";
*dbg << LT(1)->getLine() << ":" << " permit ";
#line 760 "IOSCfgParser.cpp"
#line 835 "IOSCfgParser.cpp"
}
rule_ext();
if ( inputState->guessing==0 ) {
#line 248 "iosacl.g"
#line 270 "iosacl.g"
importer->pushRule();
#line 768 "IOSCfgParser.cpp"
#line 843 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -782,23 +857,23 @@ void IOSCfgParser::deny_ext() {
try { // for error handling
match(DENY);
if ( inputState->guessing==0 ) {
#line 254 "iosacl.g"
#line 276 "iosacl.g"
importer->setCurrentLineNumber(LT(0)->getLine());
importer->newPolicyRule();
importer->action = "deny";
*dbg << LT(1)->getLine() << ":" << " deny ";
#line 793 "IOSCfgParser.cpp"
#line 868 "IOSCfgParser.cpp"
}
rule_ext();
match(NEWLINE);
if ( inputState->guessing==0 ) {
#line 261 "iosacl.g"
#line 283 "iosacl.g"
importer->pushRule();
#line 802 "IOSCfgParser.cpp"
#line 877 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -816,7 +891,7 @@ void IOSCfgParser::remark() {
try { // for error handling
match(REMARK);
if ( inputState->guessing==0 ) {
#line 536 "iosacl.g"
#line 566 "iosacl.g"
importer->setCurrentLineNumber(LT(0)->getLine());
*dbg << LT(1)->getLine() << ":";
@ -830,7 +905,7 @@ void IOSCfgParser::remark() {
*dbg << " REMARK " << rem << std::endl;
//consumeUntil(NEWLINE);
#line 834 "IOSCfgParser.cpp"
#line 909 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -854,15 +929,15 @@ void IOSCfgParser::rule_ext() {
ip_protocols();
hostaddr_ext();
if ( inputState->guessing==0 ) {
#line 298 "iosacl.g"
#line 320 "iosacl.g"
importer->SaveTmpAddrToSrc(); *dbg << "(src) ";
#line 860 "IOSCfgParser.cpp"
#line 935 "IOSCfgParser.cpp"
}
hostaddr_ext();
if ( inputState->guessing==0 ) {
#line 299 "iosacl.g"
#line 321 "iosacl.g"
importer->SaveTmpAddrToDst(); *dbg << "(dst) ";
#line 866 "IOSCfgParser.cpp"
#line 941 "IOSCfgParser.cpp"
}
{
switch ( LA(1)) {
@ -981,24 +1056,24 @@ void IOSCfgParser::rule_ext() {
{
match(ICMP);
if ( inputState->guessing==0 ) {
#line 305 "iosacl.g"
#line 327 "iosacl.g"
importer->protocol = LT(0)->getText();
*dbg << "protocol " << LT(0)->getText() << " ";
#line 990 "IOSCfgParser.cpp"
#line 1065 "IOSCfgParser.cpp"
}
hostaddr_ext();
if ( inputState->guessing==0 ) {
#line 309 "iosacl.g"
#line 331 "iosacl.g"
importer->SaveTmpAddrToSrc(); *dbg << "(src) ";
#line 996 "IOSCfgParser.cpp"
#line 1071 "IOSCfgParser.cpp"
}
hostaddr_ext();
if ( inputState->guessing==0 ) {
#line 310 "iosacl.g"
#line 332 "iosacl.g"
importer->SaveTmpAddrToDst(); *dbg << "(dst) ";
#line 1002 "IOSCfgParser.cpp"
#line 1077 "IOSCfgParser.cpp"
}
{
if ((LA(1) == WORD || LA(1) == INT_CONST) && (_tokenSet_4.member(LA(2)))) {
@ -1146,18 +1221,18 @@ void IOSCfgParser::rule_ext() {
}
}
if ( inputState->guessing==0 ) {
#line 317 "iosacl.g"
#line 339 "iosacl.g"
importer->protocol = LT(0)->getText();
*dbg << "protocol " << LT(0)->getText() << " ";
#line 1155 "IOSCfgParser.cpp"
#line 1230 "IOSCfgParser.cpp"
}
hostaddr_ext();
if ( inputState->guessing==0 ) {
#line 321 "iosacl.g"
#line 343 "iosacl.g"
importer->SaveTmpAddrToSrc(); *dbg << "(src) ";
#line 1161 "IOSCfgParser.cpp"
#line 1236 "IOSCfgParser.cpp"
}
{
switch ( LA(1)) {
@ -1169,9 +1244,9 @@ void IOSCfgParser::rule_ext() {
{
xoperator();
if ( inputState->guessing==0 ) {
#line 322 "iosacl.g"
#line 344 "iosacl.g"
importer->SaveTmpPortToSrc();
#line 1175 "IOSCfgParser.cpp"
#line 1250 "IOSCfgParser.cpp"
}
break;
}
@ -1189,9 +1264,9 @@ void IOSCfgParser::rule_ext() {
}
hostaddr_ext();
if ( inputState->guessing==0 ) {
#line 323 "iosacl.g"
#line 345 "iosacl.g"
importer->SaveTmpAddrToDst(); *dbg << "(dst) ";
#line 1195 "IOSCfgParser.cpp"
#line 1270 "IOSCfgParser.cpp"
}
{
switch ( LA(1)) {
@ -1203,9 +1278,9 @@ void IOSCfgParser::rule_ext() {
{
xoperator();
if ( inputState->guessing==0 ) {
#line 324 "iosacl.g"
#line 346 "iosacl.g"
importer->SaveTmpPortToDst();
#line 1209 "IOSCfgParser.cpp"
#line 1284 "IOSCfgParser.cpp"
}
break;
}
@ -1401,11 +1476,11 @@ void IOSCfgParser::rule_ext() {
}
}
if ( inputState->guessing==0 ) {
#line 330 "iosacl.g"
#line 352 "iosacl.g"
*dbg << std::endl;
#line 1409 "IOSCfgParser.cpp"
#line 1484 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -1424,9 +1499,9 @@ void IOSCfgParser::rule_std() {
{
hostaddr_std();
if ( inputState->guessing==0 ) {
#line 338 "iosacl.g"
#line 360 "iosacl.g"
importer->SaveTmpAddrToSrc(); *dbg << "(std) ";
#line 1430 "IOSCfgParser.cpp"
#line 1505 "IOSCfgParser.cpp"
}
{
switch ( LA(1)) {
@ -1463,11 +1538,11 @@ void IOSCfgParser::rule_std() {
}
}
if ( inputState->guessing==0 ) {
#line 341 "iosacl.g"
#line 363 "iosacl.g"
*dbg << std::endl;
#line 1471 "IOSCfgParser.cpp"
#line 1546 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -1502,12 +1577,12 @@ void IOSCfgParser::ip_protocols() {
}
}
if ( inputState->guessing==0 ) {
#line 349 "iosacl.g"
#line 371 "iosacl.g"
importer->protocol = LT(0)->getText();
*dbg << "protocol " << LT(0)->getText() << " ";
#line 1511 "IOSCfgParser.cpp"
#line 1586 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -1535,13 +1610,13 @@ void IOSCfgParser::hostaddr_ext() {
match(IPV4);
}
if ( inputState->guessing==0 ) {
#line 401 "iosacl.g"
#line 423 "iosacl.g"
importer->tmp_a = h->getText();
importer->tmp_nm = "0.0.0.0";
*dbg << h->getText() << "/0.0.0.0";
#line 1545 "IOSCfgParser.cpp"
#line 1620 "IOSCfgParser.cpp"
}
break;
}
@ -1554,13 +1629,13 @@ void IOSCfgParser::hostaddr_ext() {
match(IPV4);
}
if ( inputState->guessing==0 ) {
#line 408 "iosacl.g"
#line 430 "iosacl.g"
importer->tmp_a = a->getText();
importer->tmp_nm = m->getText();
*dbg << a->getText() << "/" << m->getText();
#line 1564 "IOSCfgParser.cpp"
#line 1639 "IOSCfgParser.cpp"
}
break;
}
@ -1568,13 +1643,13 @@ void IOSCfgParser::hostaddr_ext() {
{
match(ANY);
if ( inputState->guessing==0 ) {
#line 415 "iosacl.g"
#line 437 "iosacl.g"
importer->tmp_a = "0.0.0.0";
importer->tmp_nm = "0.0.0.0";
*dbg << "0.0.0.0/0.0.0.0";
#line 1578 "IOSCfgParser.cpp"
#line 1653 "IOSCfgParser.cpp"
}
break;
}
@ -1602,12 +1677,12 @@ void IOSCfgParser::time_range() {
tr_name = LT(1);
match(WORD);
if ( inputState->guessing==0 ) {
#line 467 "iosacl.g"
#line 489 "iosacl.g"
importer->time_range_name = tr_name->getText();
*dbg << "time_range " << tr_name->getText() << " ";
#line 1611 "IOSCfgParser.cpp"
#line 1686 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -1625,12 +1700,12 @@ void IOSCfgParser::fragments() {
try { // for error handling
match(FRAGMENTS);
if ( inputState->guessing==0 ) {
#line 460 "iosacl.g"
#line 482 "iosacl.g"
importer->fragments = true;
*dbg << "fragments ";
#line 1634 "IOSCfgParser.cpp"
#line 1709 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -1665,12 +1740,12 @@ void IOSCfgParser::log() {
}
}
if ( inputState->guessing==0 ) {
#line 446 "iosacl.g"
#line 468 "iosacl.g"
importer->logging = true;
*dbg << "logging ";
#line 1674 "IOSCfgParser.cpp"
#line 1749 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -1700,7 +1775,7 @@ void IOSCfgParser::icmp_spec() {
match(INT_CONST);
}
if ( inputState->guessing==0 ) {
#line 357 "iosacl.g"
#line 379 "iosacl.g"
importer->icmp_type = icmp_type->getText();
importer->icmp_code = icmp_code->getText();
@ -1708,7 +1783,7 @@ void IOSCfgParser::icmp_spec() {
*dbg << icmp_type->getText() << " "
<< icmp_code->getText() << " ";
#line 1712 "IOSCfgParser.cpp"
#line 1787 "IOSCfgParser.cpp"
}
break;
}
@ -1717,12 +1792,12 @@ void IOSCfgParser::icmp_spec() {
icmp_word = LT(1);
match(WORD);
if ( inputState->guessing==0 ) {
#line 366 "iosacl.g"
#line 388 "iosacl.g"
importer->icmp_spec = icmp_word->getText();
*dbg << icmp_word->getText() << " ";
#line 1726 "IOSCfgParser.cpp"
#line 1801 "IOSCfgParser.cpp"
}
break;
}
@ -1781,12 +1856,12 @@ void IOSCfgParser::established() {
try { // for error handling
match(ESTABLISHED);
if ( inputState->guessing==0 ) {
#line 453 "iosacl.g"
#line 475 "iosacl.g"
importer->established = true;
*dbg << "established ";
#line 1790 "IOSCfgParser.cpp"
#line 1865 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -1811,13 +1886,13 @@ void IOSCfgParser::hostaddr_std() {
match(IPV4);
}
if ( inputState->guessing==0 ) {
#line 424 "iosacl.g"
#line 446 "iosacl.g"
importer->tmp_a = h->getText();
importer->tmp_nm = "0.0.0.0";
*dbg << h->getText() << "/0.0.0.0";
#line 1821 "IOSCfgParser.cpp"
#line 1896 "IOSCfgParser.cpp"
}
}
else if ((LA(1) == IPV4) && (LA(2) == IPV4)) {
@ -1828,25 +1903,25 @@ void IOSCfgParser::hostaddr_std() {
match(IPV4);
}
if ( inputState->guessing==0 ) {
#line 431 "iosacl.g"
#line 453 "iosacl.g"
importer->tmp_a = a->getText();
importer->tmp_nm = m->getText();
*dbg << a->getText() << "/" << m->getText();
#line 1838 "IOSCfgParser.cpp"
#line 1913 "IOSCfgParser.cpp"
}
}
else if ((LA(1) == ANY)) {
match(ANY);
if ( inputState->guessing==0 ) {
#line 438 "iosacl.g"
#line 460 "iosacl.g"
importer->tmp_a = "0.0.0.0";
importer->tmp_nm = "0.0.0.0";
*dbg << "0.0.0.0/0.0.0.0";
#line 1850 "IOSCfgParser.cpp"
#line 1925 "IOSCfgParser.cpp"
}
}
else {
@ -1896,12 +1971,12 @@ void IOSCfgParser::single_port_op() {
}
}
if ( inputState->guessing==0 ) {
#line 377 "iosacl.g"
#line 399 "iosacl.g"
importer->tmp_port_op = LT(0)->getText();
*dbg << LT(0)->getText() << " ";
#line 1905 "IOSCfgParser.cpp"
#line 1980 "IOSCfgParser.cpp"
}
port_spec();
}
@ -1920,12 +1995,12 @@ void IOSCfgParser::port_range() {
try { // for error handling
match(P_RANGE);
if ( inputState->guessing==0 ) {
#line 385 "iosacl.g"
#line 407 "iosacl.g"
importer->tmp_port_op = LT(0)->getText();
*dbg << LT(0)->getText() << " ";
#line 1929 "IOSCfgParser.cpp"
#line 2004 "IOSCfgParser.cpp"
}
port_spec();
port_spec();
@ -1962,12 +2037,12 @@ void IOSCfgParser::port_spec() {
}
}
if ( inputState->guessing==0 ) {
#line 393 "iosacl.g"
#line 415 "iosacl.g"
importer->tmp_port_spec += (std::string(" ") + LT(0)->getText());
*dbg << LT(0)->getText() << " ";
#line 1971 "IOSCfgParser.cpp"
#line 2046 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -1991,7 +2066,7 @@ void IOSCfgParser::access_group_by_name() {
dir = LT(1);
match(WORD);
if ( inputState->guessing==0 ) {
#line 579 "iosacl.g"
#line 609 "iosacl.g"
importer->setCurrentLineNumber(LT(0)->getLine());
importer->setInterfaceAndDirectionForRuleSet(
@ -2002,7 +2077,7 @@ void IOSCfgParser::access_group_by_name() {
<< " INTRFACE: ACL '" << acln->getText() << "'"
<< " " << dir->getText() << std::endl;
#line 2006 "IOSCfgParser.cpp"
#line 2081 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -2026,7 +2101,7 @@ void IOSCfgParser::access_group_by_number() {
dir = LT(1);
match(WORD);
if ( inputState->guessing==0 ) {
#line 595 "iosacl.g"
#line 625 "iosacl.g"
importer->setCurrentLineNumber(LT(0)->getLine());
importer->setInterfaceAndDirectionForRuleSet(
@ -2037,7 +2112,7 @@ void IOSCfgParser::access_group_by_number() {
<< " INTRFACE: ACL '" << acln->getText() << "'"
<< " " << dir->getText() << std::endl;
#line 2041 "IOSCfgParser.cpp"
#line 2116 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -2080,7 +2155,7 @@ void IOSCfgParser::intf_address() {
}
}
if ( inputState->guessing==0 ) {
#line 608 "iosacl.g"
#line 638 "iosacl.g"
importer->setCurrentLineNumber(LT(0)->getLine());
importer->addInterfaceAddress(a->getText(), m->getText());
@ -2093,7 +2168,7 @@ void IOSCfgParser::intf_address() {
}
*dbg << std::endl;
#line 2097 "IOSCfgParser.cpp"
#line 2172 "IOSCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -2117,6 +2192,9 @@ const char* IOSCfgParser::tokenNames[] = {
"NEWLINE",
"\"ip\"",
"\"quit\"",
"\"icmp\"",
"\"tcp\"",
"\"host\"",
"\"community-list\"",
"WORD",
"\"certificate\"",
@ -2129,15 +2207,12 @@ const char* IOSCfgParser::tokenNames[] = {
"\"extended\"",
"\"permit\"",
"\"deny\"",
"\"icmp\"",
"\"tcp\"",
"\"udp\"",
"\"eq\"",
"\"gt\"",
"\"lt\"",
"\"neq\"",
"\"range\"",
"\"host\"",
"IPV4",
"\"any\"",
"\"log\"",
@ -2148,6 +2223,7 @@ const char* IOSCfgParser::tokenNames[] = {
"\"vlan\"",
"\"controller\"",
"\"interface\"",
"\"point-to-point\"",
"\"description\"",
"\"remark\"",
"\"shutdown\"",
@ -2195,70 +2271,71 @@ const char* IOSCfgParser::tokenNames[] = {
const unsigned long IOSCfgParser::_tokenSet_0_data_[] = { 2UL, 0UL, 0UL, 0UL };
// EOF
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_0(_tokenSet_0_data_,4);
const unsigned long IOSCfgParser::_tokenSet_1_data_[] = { 415602UL, 12792UL, 0UL, 0UL };
const unsigned long IOSCfgParser::_tokenSet_1_data_[] = { 3324018UL, 25528UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" WORD "certificate" "version" "hostname" "access-list"
// "permit" "deny" "vlan" "controller" "interface" "description" "remark"
// "shutdown" "exit" LINE_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_1(_tokenSet_1_data_,4);
const unsigned long IOSCfgParser::_tokenSet_2_data_[] = { 22386UL, 12664UL, 0UL, 0UL };
const unsigned long IOSCfgParser::_tokenSet_2_data_[] = { 178290UL, 25272UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" WORD "certificate" "version" "hostname" "access-list"
// "vlan" "controller" "interface" "description" "shutdown" "exit" LINE_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_2(_tokenSet_2_data_,4);
const unsigned long IOSCfgParser::_tokenSet_3_data_[] = { 3670304UL, 0UL, 0UL, 0UL };
// "ip" WORD "icmp" "tcp" "udp"
const unsigned long IOSCfgParser::_tokenSet_3_data_[] = { 4196768UL, 0UL, 0UL, 0UL };
// "ip" "icmp" "tcp" WORD "udp"
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_3(_tokenSet_3_data_,4);
const unsigned long IOSCfgParser::_tokenSet_4_data_[] = { 3221673842UL, 12798UL, 0UL, 0UL };
const unsigned long IOSCfgParser::_tokenSet_4_data_[] = { 3224811634UL, 25534UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" WORD "certificate" "version" "hostname" "access-list"
// INT_CONST "permit" "deny" "log" "log-input" "fragments" "time-range"
// "vlan" "controller" "interface" "description" "remark" "shutdown" "exit"
// LINE_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_4(_tokenSet_4_data_,4);
const unsigned long IOSCfgParser::_tokenSet_5_data_[] = { 3221641074UL, 12798UL, 0UL, 0UL };
const unsigned long IOSCfgParser::_tokenSet_5_data_[] = { 3224549490UL, 25534UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" WORD "certificate" "version" "hostname" "access-list"
// "permit" "deny" "log" "log-input" "fragments" "time-range" "vlan" "controller"
// "interface" "description" "remark" "shutdown" "exit" LINE_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_5(_tokenSet_5_data_,4);
const unsigned long IOSCfgParser::_tokenSet_6_data_[] = { 3225354226UL, 14328UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" "community-list" WORD "certificate" "version"
// NUMBER "hostname" STRING "access-list" INT_CONST "permit" "deny" "icmp"
// "tcp" "udp" "log" "log-input" "vlan" "controller" "interface" "description"
const unsigned long IOSCfgParser::_tokenSet_6_data_[] = { 3229089778UL, 28600UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" "icmp" "tcp" "host" "community-list" WORD "certificate"
// "version" NUMBER "hostname" STRING "access-list" INT_CONST "permit"
// "deny" "udp" "log" "log-input" "vlan" "controller" "interface" "description"
// "remark" "shutdown" "access-group" "address" "exit" LINE_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_6(_tokenSet_6_data_,4);
const unsigned long IOSCfgParser::_tokenSet_7_data_[] = { 939524096UL, 0UL, 0UL, 0UL };
const unsigned long IOSCfgParser::_tokenSet_7_data_[] = { 805306880UL, 0UL, 0UL, 0UL };
// "host" IPV4 "any"
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_7(_tokenSet_7_data_,4);
const unsigned long IOSCfgParser::_tokenSet_8_data_[] = { 4291221362UL, 12799UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" WORD "certificate" "version" "hostname" "access-list"
// INT_CONST "permit" "deny" "eq" "gt" "lt" "neq" "range" "host" IPV4 "any"
// "log" "log-input" "established" "fragments" "time-range" "vlan" "controller"
// "interface" "description" "remark" "shutdown" "exit" LINE_COMMENT
const unsigned long IOSCfgParser::_tokenSet_8_data_[] = { 4290165362UL, 25535UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" "host" WORD "certificate" "version" "hostname"
// "access-list" INT_CONST "permit" "deny" "eq" "gt" "lt" "neq" "range"
// IPV4 "any" "log" "log-input" "established" "fragments" "time-range"
// "vlan" "controller" "interface" "description" "remark" "shutdown" "exit"
// LINE_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_8(_tokenSet_8_data_,4);
const unsigned long IOSCfgParser::_tokenSet_9_data_[] = { 3221641074UL, 12794UL, 0UL, 0UL };
const unsigned long IOSCfgParser::_tokenSet_9_data_[] = { 3224549490UL, 25530UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" WORD "certificate" "version" "hostname" "access-list"
// "permit" "deny" "log" "log-input" "fragments" "vlan" "controller" "interface"
// "description" "remark" "shutdown" "exit" LINE_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_9(_tokenSet_9_data_,4);
const unsigned long IOSCfgParser::_tokenSet_10_data_[] = { 3221641074UL, 12792UL, 0UL, 0UL };
const unsigned long IOSCfgParser::_tokenSet_10_data_[] = { 3224549490UL, 25528UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" WORD "certificate" "version" "hostname" "access-list"
// "permit" "deny" "log" "log-input" "vlan" "controller" "interface" "description"
// "remark" "shutdown" "exit" LINE_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_10(_tokenSet_10_data_,4);
const unsigned long IOSCfgParser::_tokenSet_11_data_[] = { 4161165170UL, 12799UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" WORD "certificate" "version" "hostname" "access-list"
// "permit" "deny" "host" IPV4 "any" "log" "log-input" "established" "fragments"
// "time-range" "vlan" "controller" "interface" "description" "remark"
// "shutdown" "exit" LINE_COMMENT
const unsigned long IOSCfgParser::_tokenSet_11_data_[] = { 4029856370UL, 25535UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" "host" WORD "certificate" "version" "hostname"
// "access-list" "permit" "deny" IPV4 "any" "log" "log-input" "established"
// "fragments" "time-range" "vlan" "controller" "interface" "description"
// "remark" "shutdown" "exit" LINE_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_11(_tokenSet_11_data_,4);
const unsigned long IOSCfgParser::_tokenSet_12_data_[] = { 3221247858UL, 12664UL, 0UL, 0UL };
const unsigned long IOSCfgParser::_tokenSet_12_data_[] = { 3221403762UL, 25272UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" WORD "certificate" "version" "hostname" "access-list"
// "log" "log-input" "vlan" "controller" "interface" "description" "shutdown"
// "exit" LINE_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_12(_tokenSet_12_data_,4);
const unsigned long IOSCfgParser::_tokenSet_13_data_[] = { 4161197938UL, 12799UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" WORD "certificate" "version" "hostname" "access-list"
// INT_CONST "permit" "deny" "host" IPV4 "any" "log" "log-input" "established"
// "fragments" "time-range" "vlan" "controller" "interface" "description"
// "remark" "shutdown" "exit" LINE_COMMENT
const unsigned long IOSCfgParser::_tokenSet_13_data_[] = { 4030118514UL, 25535UL, 0UL, 0UL };
// EOF NEWLINE "ip" "quit" "host" WORD "certificate" "version" "hostname"
// "access-list" INT_CONST "permit" "deny" IPV4 "any" "log" "log-input"
// "established" "fragments" "time-range" "vlan" "controller" "interface"
// "description" "remark" "shutdown" "exit" LINE_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet IOSCfgParser::_tokenSet_13(_tokenSet_13_data_,4);
const unsigned long IOSCfgParser::_tokenSet_14_data_[] = { 16UL, 0UL, 0UL, 0UL };
// NEWLINE

View File

@ -102,6 +102,7 @@ public:
public: void ip_access_list_ext();
public: void interface_known_ip_commands();
public: void community_list_command();
public: void ip_unused_command();
public: void permit_std();
public: void deny_std();
public: void permit_ext();
@ -135,10 +136,10 @@ protected:
private:
static const char* tokenNames[];
#ifndef NO_STATIC_CONSTS
static const int NUM_TOKENS = 79;
static const int NUM_TOKENS = 80;
#else
enum {
NUM_TOKENS = 79
NUM_TOKENS = 80
};
#endif

View File

@ -15,27 +15,27 @@ struct CUSTOM_API IOSCfgParserTokenTypes {
NEWLINE = 4,
IP = 5,
QUIT = 6,
COMMUNITY_LIST = 7,
WORD = 8,
CERTIFICATE = 9,
IOSVERSION = 10,
NUMBER = 11,
HOSTNAME = 12,
STRING = 13,
ACCESS_LIST = 14,
INT_CONST = 15,
EXTENDED = 16,
PERMIT = 17,
DENY = 18,
ICMP = 19,
TCP = 20,
UDP = 21,
P_EQ = 22,
P_GT = 23,
P_LT = 24,
P_NEQ = 25,
P_RANGE = 26,
HOST = 27,
ICMP = 7,
TCP = 8,
HOST = 9,
COMMUNITY_LIST = 10,
WORD = 11,
CERTIFICATE = 12,
IOSVERSION = 13,
NUMBER = 14,
HOSTNAME = 15,
STRING = 16,
ACCESS_LIST = 17,
INT_CONST = 18,
EXTENDED = 19,
PERMIT = 20,
DENY = 21,
UDP = 22,
P_EQ = 23,
P_GT = 24,
P_LT = 25,
P_NEQ = 26,
P_RANGE = 27,
IPV4 = 28,
ANY = 29,
LOG = 30,
@ -46,47 +46,48 @@ struct CUSTOM_API IOSCfgParserTokenTypes {
VLAN = 35,
CONTROLLER = 36,
INTRFACE = 37,
DESCRIPTION = 38,
REMARK = 39,
SHUTDOWN = 40,
ACCESS_GROUP = 41,
ADDRESS = 42,
SECONDARY = 43,
EXIT = 44,
LINE_COMMENT = 45,
STANDARD = 46,
Whitespace = 47,
HEX_CONST = 48,
NEG_INT_CONST = 49,
DIGIT = 50,
HEXDIGIT = 51,
PIPE_CHAR = 52,
NUMBER_SIGN = 53,
PERCENT = 54,
AMPERSAND = 55,
APOSTROPHE = 56,
OPENING_PAREN = 57,
CLOSING_PAREN = 58,
STAR = 59,
PLUS = 60,
COMMA = 61,
MINUS = 62,
DOT = 63,
SLASH = 64,
COLON = 65,
SEMICOLON = 66,
LESS_THAN = 67,
EQUALS = 68,
GREATER_THAN = 69,
QUESTION = 70,
COMMERCIAL_AT = 71,
OPENING_SQUARE = 72,
CLOSING_SQUARE = 73,
CARET = 74,
UNDERLINE = 75,
OPENING_BRACE = 76,
CLOSING_BRACE = 77,
TILDE = 78,
POINT_TO_POINT = 38,
DESCRIPTION = 39,
REMARK = 40,
SHUTDOWN = 41,
ACCESS_GROUP = 42,
ADDRESS = 43,
SECONDARY = 44,
EXIT = 45,
LINE_COMMENT = 46,
STANDARD = 47,
Whitespace = 48,
HEX_CONST = 49,
NEG_INT_CONST = 50,
DIGIT = 51,
HEXDIGIT = 52,
PIPE_CHAR = 53,
NUMBER_SIGN = 54,
PERCENT = 55,
AMPERSAND = 56,
APOSTROPHE = 57,
OPENING_PAREN = 58,
CLOSING_PAREN = 59,
STAR = 60,
PLUS = 61,
COMMA = 62,
MINUS = 63,
DOT = 64,
SLASH = 65,
COLON = 66,
SEMICOLON = 67,
LESS_THAN = 68,
EQUALS = 69,
GREATER_THAN = 70,
QUESTION = 71,
COMMERCIAL_AT = 72,
OPENING_SQUARE = 73,
CLOSING_SQUARE = 74,
CARET = 75,
UNDERLINE = 76,
OPENING_BRACE = 77,
CLOSING_BRACE = 78,
TILDE = 79,
NULL_TREE_LOOKAHEAD = 3
};
#ifdef __cplusplus

View File

@ -3,27 +3,27 @@ IOSCfgParser // output token vocab name
NEWLINE=4
IP="ip"=5
QUIT="quit"=6
COMMUNITY_LIST="community-list"=7
WORD=8
CERTIFICATE="certificate"=9
IOSVERSION="version"=10
NUMBER=11
HOSTNAME="hostname"=12
STRING=13
ACCESS_LIST="access-list"=14
INT_CONST=15
EXTENDED="extended"=16
PERMIT="permit"=17
DENY="deny"=18
ICMP="icmp"=19
TCP="tcp"=20
UDP="udp"=21
P_EQ="eq"=22
P_GT="gt"=23
P_LT="lt"=24
P_NEQ="neq"=25
P_RANGE="range"=26
HOST="host"=27
ICMP="icmp"=7
TCP="tcp"=8
HOST="host"=9
COMMUNITY_LIST="community-list"=10
WORD=11
CERTIFICATE="certificate"=12
IOSVERSION="version"=13
NUMBER=14
HOSTNAME="hostname"=15
STRING=16
ACCESS_LIST="access-list"=17
INT_CONST=18
EXTENDED="extended"=19
PERMIT="permit"=20
DENY="deny"=21
UDP="udp"=22
P_EQ="eq"=23
P_GT="gt"=24
P_LT="lt"=25
P_NEQ="neq"=26
P_RANGE="range"=27
IPV4=28
ANY="any"=29
LOG="log"=30
@ -34,44 +34,45 @@ TIME_RANGE="time-range"=34
VLAN="vlan"=35
CONTROLLER="controller"=36
INTRFACE="interface"=37
DESCRIPTION="description"=38
REMARK="remark"=39
SHUTDOWN="shutdown"=40
ACCESS_GROUP="access-group"=41
ADDRESS="address"=42
SECONDARY="secondary"=43
EXIT="exit"=44
LINE_COMMENT=45
STANDARD="standard"=46
Whitespace=47
HEX_CONST=48
NEG_INT_CONST=49
DIGIT=50
HEXDIGIT=51
PIPE_CHAR=52
NUMBER_SIGN=53
PERCENT=54
AMPERSAND=55
APOSTROPHE=56
OPENING_PAREN=57
CLOSING_PAREN=58
STAR=59
PLUS=60
COMMA=61
MINUS=62
DOT=63
SLASH=64
COLON=65
SEMICOLON=66
LESS_THAN=67
EQUALS=68
GREATER_THAN=69
QUESTION=70
COMMERCIAL_AT=71
OPENING_SQUARE=72
CLOSING_SQUARE=73
CARET=74
UNDERLINE=75
OPENING_BRACE=76
CLOSING_BRACE=77
TILDE=78
POINT_TO_POINT="point-to-point"=38
DESCRIPTION="description"=39
REMARK="remark"=40
SHUTDOWN="shutdown"=41
ACCESS_GROUP="access-group"=42
ADDRESS="address"=43
SECONDARY="secondary"=44
EXIT="exit"=45
LINE_COMMENT=46
STANDARD="standard"=47
Whitespace=48
HEX_CONST=49
NEG_INT_CONST=50
DIGIT=51
HEXDIGIT=52
PIPE_CHAR=53
NUMBER_SIGN=54
PERCENT=55
AMPERSAND=56
APOSTROPHE=57
OPENING_PAREN=58
CLOSING_PAREN=59
STAR=60
PLUS=61
COMMA=62
MINUS=63
DOT=64
SLASH=65
COLON=66
SEMICOLON=67
LESS_THAN=68
EQUALS=69
GREATER_THAN=70
QUESTION=71
COMMERCIAL_AT=72
OPENING_SQUARE=73
CLOSING_SQUARE=74
CARET=75
UNDERLINE=76
OPENING_BRACE=77
CLOSING_BRACE=78
TILDE=79

View File

@ -134,7 +134,18 @@ cfgfile :
//****************************************************************
ip_commands : IP ( ip_access_list_ext | interface_known_ip_commands | community_list_command | unknown_command )
ip_commands : IP
(
ip_access_list_ext
|
interface_known_ip_commands
|
community_list_command
|
ip_unused_command
|
unknown_command
)
;
//****************************************************************
@ -144,6 +155,17 @@ quit : QUIT
}
;
//****************************************************************
// these are "ip ..." top level commands that we do not use but parser
// should not abort on. Unlike unknown_command, these have known token as
// a second word so they dont match unknown_command which expects WORD.
ip_unused_command : ICMP | TCP | HOST
{
consumeUntil(NEWLINE);
}
;
//****************************************************************
community_list_command : COMMUNITY_LIST
{
@ -508,6 +530,14 @@ intrface : INTRFACE in:WORD
*dbg << in->getLine() << ":"
<< " INTRFACE: " << in->getText() << std::endl;
}
(
POINT_TO_POINT
{
importer->addMessageToLog(
QString("Warning: point-to-point interfaces "
"are not supported"));
}
)?
NEWLINE
;
@ -717,6 +747,7 @@ tokens
EXTENDED = "extended" ;
STANDARD = "standard" ;
POINT_TO_POINT = "point-to-point" ;
}
LINE_COMMENT : "!" (~('\r' | '\n'))* ; // NEWLINE ;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE FWObjectDatabase SYSTEM "fwbuilder.dtd">
<FWObjectDatabase xmlns="http://www.fwbuilder.org/1.0/" version="18" lastModified="1302909350" id="root">
<FWObjectDatabase xmlns="http://www.fwbuilder.org/1.0/" version="18" lastModified="1302911379" id="root">
<Library id="syslib000" color="#d4f8ff" name="Standard" comment="Standard objects" ro="True">
<AnyNetwork id="sysid0" name="Any" comment="Any Network" ro="False" address="0.0.0.0" netmask="0.0.0.0"/>
<AnyIPService id="sysid1" protocol_num="0" name="Any" comment="Any IP Service" ro="False"/>
@ -432,64 +432,64 @@
<Library id="id0" name="User" comment="" ro="False">
<ObjectGroup id="id1" name="Objects" comment="" ro="False">
<ObjectGroup id="id2" name="Addresses" comment="" ro="False">
<IPv4 id="id3" name="h-10.3.14.40" comment="Created during import of line 176" ro="False" address="10.3.14.40" netmask="255.255.255.255"/>
<IPv4 id="id4" name="h-192.168.171.2" comment="Created during import of line 176" ro="False" address="192.168.171.2" netmask="255.255.255.255"/>
<IPv4 id="id5" name="h-10.3.14.201" comment="Created during import of line 177" ro="False" address="10.3.14.201" netmask="255.255.255.255"/>
<IPv4 id="id6" name="h-192.168.171.1" comment="Created during import of line 252" ro="False" address="192.168.171.1" netmask="255.255.255.255"/>
<IPv4 id="id7" name="h-22.22.22.21" comment="Created during import of line 260" ro="False" address="22.22.22.21" netmask="255.255.255.255"/>
<IPv4 id="id8" name="h-22.23.24.25" comment="Created during import of line 261" ro="False" address="22.23.24.25" netmask="255.255.255.255"/>
<IPv4 id="id3" name="h-10.3.14.40" comment="Created during import of line 195" ro="False" address="10.3.14.40" netmask="255.255.255.255"/>
<IPv4 id="id4" name="h-192.168.171.2" comment="Created during import of line 195" ro="False" address="192.168.171.2" netmask="255.255.255.255"/>
<IPv4 id="id5" name="h-10.3.14.201" comment="Created during import of line 196" ro="False" address="10.3.14.201" netmask="255.255.255.255"/>
<IPv4 id="id6" name="h-192.168.171.1" comment="Created during import of line 271" ro="False" address="192.168.171.1" netmask="255.255.255.255"/>
<IPv4 id="id7" name="h-22.22.22.21" comment="Created during import of line 279" ro="False" address="22.22.22.21" netmask="255.255.255.255"/>
<IPv4 id="id8" name="h-22.23.24.25" comment="Created during import of line 280" ro="False" address="22.23.24.25" netmask="255.255.255.255"/>
</ObjectGroup>
<ObjectGroup id="id9" name="DNS Names" comment="" ro="False"/>
<ObjectGroup id="id10" name="Address Tables" comment="" ro="False"/>
<ObjectGroup id="id11" name="Groups" comment="" ro="False">
<ObjectGroup id="id12" name="intf-acl_133" comment="Created during import of line 263" ro="False">
<ObjectGroup id="id12" name="intf-acl_133" comment="Created during import of line 282" ro="False">
<ObjectRef ref="id263"/>
<ObjectRef ref="id265"/>
</ObjectGroup>
</ObjectGroup>
<ObjectGroup id="id15" name="Hosts" comment="" ro="False"/>
<ObjectGroup id="id16" name="Networks" comment="" ro="False">
<Network id="id17" name="net-10.3.14.0/255.255.255.0" comment="Created during import of line 178" ro="False" address="10.3.14.0" netmask="255.255.255.0"/>
<Network id="id18" name="net-10.10.10.0/255.255.255.0" comment="Created during import of line 236" ro="False" address="10.10.10.0" netmask="255.255.255.0"/>
<Network id="id19" name="net-10.2.1.0/255.255.255.0" comment="Created during import of line 248" ro="False" address="10.2.1.0" netmask="255.255.255.0"/>
<Network id="id20" name="net-22.23.25.0/255.255.255.240" comment="Created during import of line 262" ro="False" address="22.23.25.0" netmask="255.255.255.240"/>
<Network id="id21" name="net-10.0.0.0/255.0.0.0" comment="Created during import of line 263" ro="False" address="10.0.0.0" netmask="255.0.0.0"/>
<Network id="id17" name="net-10.3.14.0/255.255.255.0" comment="Created during import of line 197" ro="False" address="10.3.14.0" netmask="255.255.255.0"/>
<Network id="id18" name="net-10.10.10.0/255.255.255.0" comment="Created during import of line 255" ro="False" address="10.10.10.0" netmask="255.255.255.0"/>
<Network id="id19" name="net-10.2.1.0/255.255.255.0" comment="Created during import of line 267" ro="False" address="10.2.1.0" netmask="255.255.255.0"/>
<Network id="id20" name="net-22.23.25.0/255.255.255.240" comment="Created during import of line 281" ro="False" address="22.23.25.0" netmask="255.255.255.240"/>
<Network id="id21" name="net-10.0.0.0/255.0.0.0" comment="Created during import of line 282" ro="False" address="10.0.0.0" netmask="255.0.0.0"/>
</ObjectGroup>
<ObjectGroup id="id22" name="Address Ranges" comment="" ro="False"/>
</ObjectGroup>
<ServiceGroup id="id23" name="Services" comment="" ro="False">
<ServiceGroup id="id24" name="Groups" comment="" ro="False"/>
<ServiceGroup id="id25" name="ICMP" comment="" ro="False">
<ICMPService id="id26" code="-1" type="-1" name="icmp -1/-1" comment="Created during import of line 222" ro="False"/>
<ICMPService id="id27" code="0" type="8" name="icmp 8/0" comment="Created during import of line 224" ro="False"/>
<ICMPService id="id28" code="-1" type="3" name="icmp 3/-1" comment="Created during import of line 226" ro="False"/>
<ICMPService id="id29" code="1" type="3" name="icmp 3/1" comment="Created during import of line 227" ro="False"/>
<ICMPService id="id30" code="14" type="3" name="icmp 3/14" comment="Created during import of line 228" ro="False"/>
<ICMPService id="id26" code="-1" type="-1" name="icmp -1/-1" comment="Created during import of line 241" ro="False"/>
<ICMPService id="id27" code="0" type="8" name="icmp 8/0" comment="Created during import of line 243" ro="False"/>
<ICMPService id="id28" code="-1" type="3" name="icmp 3/-1" comment="Created during import of line 245" ro="False"/>
<ICMPService id="id29" code="1" type="3" name="icmp 3/1" comment="Created during import of line 246" ro="False"/>
<ICMPService id="id30" code="14" type="3" name="icmp 3/14" comment="Created during import of line 247" ro="False"/>
</ServiceGroup>
<ServiceGroup id="id31" name="IP" comment="" ro="False">
<IPService id="id32" any_opt="False" dscp="" fragm="True" lsrr="False" protocol_num="0" rr="False" rtralt="False" rtralt_value="False" short_fragm="False" ssrr="False" tos="" ts="False" name="ip-fragm" comment="Created during import of line 175" ro="False"/>
<IPService id="id33" any_opt="False" dscp="" fragm="False" lsrr="False" protocol_num="0" rr="False" rtralt="False" rtralt_value="False" short_fragm="False" ssrr="False" tos="" ts="False" name="ip" comment="Created during import of line 178" ro="False"/>
<IPService id="id34" any_opt="False" dscp="" fragm="False" lsrr="False" protocol_num="51" rr="False" rtralt="False" rtralt_value="False" short_fragm="False" ssrr="False" tos="" ts="False" name="ip-51" comment="Created during import of line 219" ro="False"/>
<IPService id="id35" any_opt="False" dscp="" fragm="False" lsrr="False" protocol_num="50" rr="False" rtralt="False" rtralt_value="False" short_fragm="False" ssrr="False" tos="" ts="False" name="ip-50" comment="Created during import of line 220" ro="False"/>
<IPService id="id32" any_opt="False" dscp="" fragm="True" lsrr="False" protocol_num="0" rr="False" rtralt="False" rtralt_value="False" short_fragm="False" ssrr="False" tos="" ts="False" name="ip-fragm" comment="Created during import of line 194" ro="False"/>
<IPService id="id33" any_opt="False" dscp="" fragm="False" lsrr="False" protocol_num="0" rr="False" rtralt="False" rtralt_value="False" short_fragm="False" ssrr="False" tos="" ts="False" name="ip" comment="Created during import of line 197" ro="False"/>
<IPService id="id34" any_opt="False" dscp="" fragm="False" lsrr="False" protocol_num="51" rr="False" rtralt="False" rtralt_value="False" short_fragm="False" ssrr="False" tos="" ts="False" name="ip-51" comment="Created during import of line 238" ro="False"/>
<IPService id="id35" any_opt="False" dscp="" fragm="False" lsrr="False" protocol_num="50" rr="False" rtralt="False" rtralt_value="False" short_fragm="False" ssrr="False" tos="" ts="False" name="ip-50" comment="Created during import of line 239" ro="False"/>
</ServiceGroup>
<ServiceGroup id="id36" name="TCP" comment="" ro="False">
<TCPService id="id37" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 0:0 / 22:22" comment="Created during import of line 176" ro="False" src_range_start="0" src_range_end="0" dst_range_start="22" dst_range_end="22"/>
<TCPService id="id38" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 80:80 / 0:0" comment="Created during import of line 201" ro="False" src_range_start="80" src_range_end="80" dst_range_start="0" dst_range_end="0"/>
<TCPService id="id39" ack_flag="False" ack_flag_mask="False" established="True" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 80:80 / 0:0 est" comment="Created during import of line 203" ro="False" src_range_start="80" src_range_end="80" dst_range_start="0" dst_range_end="0"/>
<TCPService id="id40" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 1024:65535 / 0:0" comment="Created during import of line 205" ro="False" src_range_start="1024" src_range_end="65535" dst_range_start="0" dst_range_end="0"/>
<TCPService id="id41" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 0:1022 / 0:0" comment="Created during import of line 206" ro="False" src_range_start="0" src_range_end="1022" dst_range_start="0" dst_range_end="0"/>
<TCPService id="id42" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 0:0 / 80:80" comment="Created during import of line 208" ro="False" src_range_start="0" src_range_end="0" dst_range_start="80" dst_range_end="80"/>
<TCPService id="id43" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 0:0 / 22:80" comment="Created during import of line 210" ro="False" src_range_start="0" src_range_end="0" dst_range_start="22" dst_range_end="80"/>
<TCPService id="id44" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 0:0 / 2967:2967" comment="Created during import of line 214" ro="False" src_range_start="0" src_range_end="0" dst_range_start="2967" dst_range_end="2967"/>
<TCPService id="id45" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 2967:2967 / 0:0" comment="Created during import of line 215" ro="False" src_range_start="2967" src_range_end="2967" dst_range_start="0" dst_range_end="0"/>
<TCPService id="id37" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 0:0 / 22:22" comment="Created during import of line 195" ro="False" src_range_start="0" src_range_end="0" dst_range_start="22" dst_range_end="22"/>
<TCPService id="id38" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 80:80 / 0:0" comment="Created during import of line 220" ro="False" src_range_start="80" src_range_end="80" dst_range_start="0" dst_range_end="0"/>
<TCPService id="id39" ack_flag="False" ack_flag_mask="False" established="True" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 80:80 / 0:0 est" comment="Created during import of line 222" ro="False" src_range_start="80" src_range_end="80" dst_range_start="0" dst_range_end="0"/>
<TCPService id="id40" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 1024:65535 / 0:0" comment="Created during import of line 224" ro="False" src_range_start="1024" src_range_end="65535" dst_range_start="0" dst_range_end="0"/>
<TCPService id="id41" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 0:1022 / 0:0" comment="Created during import of line 225" ro="False" src_range_start="0" src_range_end="1022" dst_range_start="0" dst_range_end="0"/>
<TCPService id="id42" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 0:0 / 80:80" comment="Created during import of line 227" ro="False" src_range_start="0" src_range_end="0" dst_range_start="80" dst_range_end="80"/>
<TCPService id="id43" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 0:0 / 22:80" comment="Created during import of line 229" ro="False" src_range_start="0" src_range_end="0" dst_range_start="22" dst_range_end="80"/>
<TCPService id="id44" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 0:0 / 2967:2967" comment="Created during import of line 233" ro="False" src_range_start="0" src_range_end="0" dst_range_start="2967" dst_range_end="2967"/>
<TCPService id="id45" ack_flag="False" ack_flag_mask="False" established="False" fin_flag="False" fin_flag_mask="False" psh_flag="False" psh_flag_mask="False" rst_flag="False" rst_flag_mask="False" syn_flag="False" syn_flag_mask="False" urg_flag="False" urg_flag_mask="False" name="tcp 2967:2967 / 0:0" comment="Created during import of line 234" ro="False" src_range_start="2967" src_range_end="2967" dst_range_start="0" dst_range_end="0"/>
</ServiceGroup>
<ServiceGroup id="id46" name="UDP" comment="" ro="False">
<UDPService id="id47" name="udp 0:0 / 500:500" comment="Created during import of line 199" ro="False" src_range_start="0" src_range_end="0" dst_range_start="500" dst_range_end="500"/>
<UDPService id="id48" name="udp 0:0 / 2967:2967" comment="Created during import of line 216" ro="False" src_range_start="0" src_range_end="0" dst_range_start="2967" dst_range_end="2967"/>
<UDPService id="id49" name="udp 2967:2967 / 0:0" comment="Created during import of line 217" ro="False" src_range_start="2967" src_range_end="2967" dst_range_start="0" dst_range_end="0"/>
<UDPService id="id50" name="udp 0:0 / 68:68" comment="Created during import of line 232" ro="False" src_range_start="0" src_range_end="0" dst_range_start="68" dst_range_end="68"/>
<UDPService id="id51" name="udp 0:0 / 67:67" comment="Created during import of line 233" ro="False" src_range_start="0" src_range_end="0" dst_range_start="67" dst_range_end="67"/>
<UDPService id="id52" name="udp 53:53 / 0:0" comment="Created during import of line 234" ro="False" src_range_start="53" src_range_end="53" dst_range_start="0" dst_range_end="0"/>
<UDPService id="id47" name="udp 0:0 / 500:500" comment="Created during import of line 218" ro="False" src_range_start="0" src_range_end="0" dst_range_start="500" dst_range_end="500"/>
<UDPService id="id48" name="udp 0:0 / 2967:2967" comment="Created during import of line 235" ro="False" src_range_start="0" src_range_end="0" dst_range_start="2967" dst_range_end="2967"/>
<UDPService id="id49" name="udp 2967:2967 / 0:0" comment="Created during import of line 236" ro="False" src_range_start="2967" src_range_end="2967" dst_range_start="0" dst_range_end="0"/>
<UDPService id="id50" name="udp 0:0 / 68:68" comment="Created during import of line 251" ro="False" src_range_start="0" src_range_end="0" dst_range_start="68" dst_range_end="68"/>
<UDPService id="id51" name="udp 0:0 / 67:67" comment="Created during import of line 252" ro="False" src_range_start="0" src_range_end="0" dst_range_start="67" dst_range_end="67"/>
<UDPService id="id52" name="udp 53:53 / 0:0" comment="Created during import of line 253" ro="False" src_range_start="53" src_range_end="53" dst_range_start="0" dst_range_end="0"/>
</ServiceGroup>
<ServiceGroup id="id53" name="Users" comment="" ro="False"/>
<ServiceGroup id="id54" name="Custom" comment="" ro="False"/>
@ -501,7 +501,7 @@
<RuleSetOptions/>
</NAT>
<Policy id="id59" name="Policy" comment="" ro="False" ipv4_rule_set="False" ipv6_rule_set="False" top_rule_set="True">
<PolicyRule id="id61" disabled="False" group="" log="False" position="0" action="Accept" direction="Both" comment="Imported from acl_133&#10;Created during import of line 245">
<PolicyRule id="id61" disabled="False" group="" log="False" position="0" action="Accept" direction="Both" comment="Imported from acl_133&#10;Created during import of line 264">
<Src neg="False">
<ObjectRef ref="id17"/>
</Src>
@ -521,7 +521,7 @@
<Option name="stateless">False</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id73" disabled="False" group="" log="False" position="1" action="Accept" direction="Both" comment="Imported from acl_133&#10;Created during import of line 246">
<PolicyRule id="id73" disabled="False" group="" log="False" position="1" action="Accept" direction="Both" comment="Imported from acl_133&#10;Created during import of line 265">
<Src neg="False">
<ObjectRef ref="id18"/>
</Src>
@ -541,7 +541,7 @@
<Option name="stateless">False</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id85" disabled="False" group="" log="True" position="2" action="Deny" direction="Both" comment="Imported from acl_133&#10;Created during import of line 247">
<PolicyRule id="id85" disabled="False" group="" log="True" position="2" action="Deny" direction="Both" comment="Imported from acl_133&#10;Created during import of line 266">
<Src neg="False">
<ObjectRef ref="sysid0"/>
</Src>
@ -561,7 +561,7 @@
<Option name="stateless">True</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id97" disabled="False" group="" log="False" position="3" action="Deny" direction="Inbound" comment="Imported from e1_0_acl_in&#10;Created during import of line 175">
<PolicyRule id="id97" disabled="False" group="" log="False" position="3" action="Deny" direction="Inbound" comment="Imported from e1_0_acl_in&#10;Created during import of line 194">
<Src neg="False">
<ObjectRef ref="sysid0"/>
</Src>
@ -581,7 +581,7 @@
<Option name="stateless">True</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id109" disabled="False" group="" log="True" position="4" action="Accept" direction="Inbound" comment="Imported from e1_0_acl_in&#10;Created during import of line 176">
<PolicyRule id="id109" disabled="False" group="" log="True" position="4" action="Accept" direction="Inbound" comment="Imported from e1_0_acl_in&#10;Created during import of line 195">
<Src neg="False">
<ObjectRef ref="id3"/>
</Src>
@ -601,7 +601,7 @@
<Option name="stateless">False</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id121" disabled="False" group="" log="True" position="5" action="Accept" direction="Inbound" comment="Imported from e1_0_acl_in&#10;Created during import of line 177">
<PolicyRule id="id121" disabled="False" group="" log="True" position="5" action="Accept" direction="Inbound" comment="Imported from e1_0_acl_in&#10;Created during import of line 196">
<Src neg="False">
<ObjectRef ref="id3"/>
</Src>
@ -621,7 +621,7 @@
<Option name="stateless">False</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id133" disabled="False" group="" log="True" position="6" action="Accept" direction="Inbound" comment="Imported from e1_0_acl_in&#10;Created during import of line 178">
<PolicyRule id="id133" disabled="False" group="" log="True" position="6" action="Accept" direction="Inbound" comment="Imported from e1_0_acl_in&#10;Created during import of line 197">
<Src neg="False">
<ObjectRef ref="sysid0"/>
</Src>
@ -641,7 +641,7 @@
<Option name="stateless">False</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id145" disabled="False" group="" log="True" position="7" action="Deny" direction="Inbound" comment="Imported from e1_0_acl_in&#10;Created during import of line 179">
<PolicyRule id="id145" disabled="False" group="" log="True" position="7" action="Deny" direction="Inbound" comment="Imported from e1_0_acl_in&#10;Created during import of line 198">
<Src neg="False">
<ObjectRef ref="sysid0"/>
</Src>
@ -661,7 +661,7 @@
<Option name="stateless">True</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id157" disabled="False" group="" log="True" position="8" action="Accept" direction="Outbound" comment="Imported from e1_0_acl_out&#10;Created during import of line 182">
<PolicyRule id="id157" disabled="False" group="" log="True" position="8" action="Accept" direction="Outbound" comment="Imported from e1_0_acl_out&#10;Created during import of line 201">
<Src neg="False">
<ObjectRef ref="id17"/>
</Src>
@ -681,7 +681,7 @@
<Option name="stateless">False</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id169" disabled="False" group="" log="True" position="9" action="Deny" direction="Outbound" comment="Imported from e1_0_acl_out&#10;Created during import of line 183">
<PolicyRule id="id169" disabled="False" group="" log="True" position="9" action="Deny" direction="Outbound" comment="Imported from e1_0_acl_out&#10;Created during import of line 202">
<Src neg="False">
<ObjectRef ref="sysid0"/>
</Src>
@ -701,7 +701,7 @@
<Option name="stateless">True</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id181" disabled="False" group="" log="True" position="10" action="Accept" direction="Inbound" comment="Imported from fe0_0_acl_in&#10;Created during import of line 186">
<PolicyRule id="id181" disabled="False" group="" log="True" position="10" action="Accept" direction="Inbound" comment="Imported from fe0_0_acl_in&#10;Created during import of line 205">
<Src neg="False">
<ObjectRef ref="id3"/>
</Src>
@ -721,7 +721,7 @@
<Option name="stateless">False</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id193" disabled="False" group="" log="True" position="11" action="Accept" direction="Inbound" comment="Imported from fe0_0_acl_in&#10;Created during import of line 187">
<PolicyRule id="id193" disabled="False" group="" log="True" position="11" action="Accept" direction="Inbound" comment="Imported from fe0_0_acl_in&#10;Created during import of line 206">
<Src neg="False">
<ObjectRef ref="id3"/>
</Src>
@ -741,7 +741,7 @@
<Option name="stateless">False</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id205" disabled="False" group="" log="True" position="12" action="Accept" direction="Inbound" comment="Imported from fe0_0_acl_in&#10;Created during import of line 188">
<PolicyRule id="id205" disabled="False" group="" log="True" position="12" action="Accept" direction="Inbound" comment="Imported from fe0_0_acl_in&#10;Created during import of line 207">
<Src neg="False">
<ObjectRef ref="id17"/>
</Src>
@ -761,7 +761,7 @@
<Option name="stateless">False</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id217" disabled="False" group="" log="True" position="13" action="Deny" direction="Inbound" comment="Imported from fe0_0_acl_in&#10;Created during import of line 189">
<PolicyRule id="id217" disabled="False" group="" log="True" position="13" action="Deny" direction="Inbound" comment="Imported from fe0_0_acl_in&#10;Created during import of line 208">
<Src neg="False">
<ObjectRef ref="sysid0"/>
</Src>
@ -781,7 +781,7 @@
<Option name="stateless">True</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id229" disabled="False" group="" log="True" position="14" action="Accept" direction="Outbound" comment="Imported from fe0_0_acl_out&#10;Created during import of line 192">
<PolicyRule id="id229" disabled="False" group="" log="True" position="14" action="Accept" direction="Outbound" comment="Imported from fe0_0_acl_out&#10;Created during import of line 211">
<Src neg="False">
<ObjectRef ref="sysid0"/>
</Src>
@ -801,7 +801,7 @@
<Option name="stateless">False</Option>
</PolicyRuleOptions>
</PolicyRule>
<PolicyRule id="id241" disabled="False" group="" log="True" position="15" action="Deny" direction="Outbound" comment="Imported from fe0_0_acl_out&#10;Created during import of line 193">
<PolicyRule id="id241" disabled="False" group="" log="True" position="15" action="Deny" direction="Outbound" comment="Imported from fe0_0_acl_out&#10;Created during import of line 212">
<Src neg="False">
<ObjectRef ref="sysid0"/>
</Src>
@ -826,19 +826,23 @@
<Routing id="id255" name="Routing" comment="" ro="False" ipv4_rule_set="False" ipv6_rule_set="False" top_rule_set="True">
<RuleSetOptions/>
</Routing>
<Interface id="id257" dedicated_failover="False" dyn="False" security_level="0" unnum="False" unprotected="False" name="FastEthernet0/0" comment="Created during import of line 104" ro="False">
<IPv4 id="id258" name="&quot;c3620&quot;:FastEthernet0/0:ip" comment="Created during import of line 105" ro="False" address="192.168.100.100" netmask="255.255.255.0"/>
<IPv4 id="id259" name="&quot;c3620&quot;:FastEthernet0/0:ip" comment="Created during import of line 106" ro="False" address="10.3.14.201" netmask="255.255.255.0"/>
<Interface id="id257" dedicated_failover="False" dyn="False" security_level="0" unnum="False" unprotected="False" name="FastEthernet0/0" comment="Created during import of line 106" ro="False">
<IPv4 id="id258" name="&quot;c3620&quot;:FastEthernet0/0:ip" comment="Created during import of line 107" ro="False" address="192.168.100.100" netmask="255.255.255.0"/>
<IPv4 id="id259" name="&quot;c3620&quot;:FastEthernet0/0:ip" comment="Created during import of line 108" ro="False" address="10.3.14.201" netmask="255.255.255.0"/>
</Interface>
<Interface id="id260" dedicated_failover="False" dyn="False" security_level="0" unnum="False" unprotected="False" name="Ethernet1/0" comment="Test [ test ] { test } ( and one more test) / weird:characters#$%^&amp;*/ " ro="False">
<IPv4 id="id261" name="&quot;c3620&quot;:Ethernet1/0:ip" comment="Created during import of line 115" ro="False" address="192.168.171.2" netmask="255.255.255.0"/>
<IPv4 id="id261" name="&quot;c3620&quot;:Ethernet1/0:ip" comment="Created during import of line 117" ro="False" address="192.168.171.2" netmask="255.255.255.0"/>
</Interface>
<Interface id="id262" dedicated_failover="False" dyn="False" security_level="0" unnum="True" unprotected="False" name="Serial1/0" comment="Created during import of line 123" ro="False"/>
<Interface id="id263" dedicated_failover="False" dyn="False" security_level="0" unnum="False" unprotected="False" name="Ethernet1/1" comment="Created during import of line 129" ro="False">
<IPv4 id="id264" name="&quot;c3620&quot;:Ethernet1/1:ip" comment="Created during import of line 130" ro="False" address="10.10.10.10" netmask="255.255.255.0"/>
<Interface id="id262" dedicated_failover="False" dyn="False" security_level="0" unnum="True" unprotected="False" name="Serial1/0" comment="Created during import of line 125" ro="False"/>
<Interface id="id263" dedicated_failover="False" dyn="False" security_level="0" unnum="False" unprotected="False" name="Ethernet1/1" comment="Created during import of line 131" ro="False">
<IPv4 id="id264" name="&quot;c3620&quot;:Ethernet1/1:ip" comment="Created during import of line 132" ro="False" address="10.10.10.10" netmask="255.255.255.0"/>
</Interface>
<Interface id="id265" dedicated_failover="False" dyn="False" security_level="0" unnum="False" unprotected="False" name="Ethernet1/2" comment="Created during import of line 139" ro="False">
<IPv4 id="id266" name="&quot;c3620&quot;:Ethernet1/2:ip" comment="Created during import of line 140" ro="False" address="10.10.20.20" netmask="255.255.255.0"/>
<Interface id="id265" dedicated_failover="False" dyn="False" security_level="0" unnum="False" unprotected="False" name="Ethernet1/2" comment="Created during import of line 141" ro="False">
<IPv4 id="id266" name="&quot;c3620&quot;:Ethernet1/2:ip" comment="Created during import of line 142" ro="False" address="10.10.20.20" netmask="255.255.255.0"/>
</Interface>
<Interface id="id267" dedicated_failover="False" dyn="False" security_level="0" unnum="True" unprotected="False" name="ATM0" comment="Created during import of line 152" ro="False"/>
<Interface id="id268" dedicated_failover="False" dyn="False" security_level="0" unnum="False" unprotected="False" name="ATM0.1" comment="$FW_OUTSIDE$$ES_WAN$ " ro="False">
<IPv4 id="id269" name="&quot;c3620&quot;:ATM0.1:ip" comment="Created during import of line 165" ro="False" address="10.0.0.1" netmask="255.255.255.252"/>
</Interface>
<Management address="0.0.0.0">
<SNMPManagement enabled="False" snmp_read_community="" snmp_write_community=""/>
@ -852,7 +856,7 @@
</FirewallOptions>
</Firewall>
</ObjectGroup>
<ObjectGroup id="id267" name="Clusters" comment="" ro="False"/>
<IntervalGroup id="id268" name="Time" comment="" ro="False"/>
<ObjectGroup id="id270" name="Clusters" comment="" ro="False"/>
<IntervalGroup id="id271" name="Time" comment="" ro="False"/>
</Library>
</FWObjectDatabase>

View File

@ -1,79 +1,84 @@
10: Host name: "c3620"
104: New interface: FastEthernet0/0
105: Interface address: 192.168.100.100/255.255.255.0
106: Interface address: 10.3.14.201/255.255.255.0
107: Interface FastEthernet0/0 ruleset fe0_0_acl_in direction 'in'
108: Interface FastEthernet0/0 ruleset fe0_0_acl_out direction 'out'
113: New interface: Ethernet1/0
114: Interface comment: Test [ test ] { test } ( and one more test) / weird:characters#$%^&*/
115: Interface address: 192.168.171.2/255.255.255.0
116: Interface Ethernet1/0 ruleset e1_0_acl_in direction 'in'
117: Interface Ethernet1/0 ruleset e1_0_acl_out direction 'out'
123: New interface: Serial1/0
129: New interface: Ethernet1/1
130: Interface address: 10.10.10.10/255.255.255.0
134: Interface Ethernet1/1 ruleset acl_133 direction 'in'
135: Interface Ethernet1/1 ruleset acl_133 direction 'out'
139: New interface: Ethernet1/2
140: Interface address: 10.10.20.20/255.255.255.0
145: Interface Ethernet1/2 ruleset acl_133 direction 'in'
146: Interface Ethernet1/2 ruleset acl_133 direction 'out'
175: access list rule: access list e1_0_acl_in, action deny
176: access list rule: access list e1_0_acl_in, action permit
177: access list rule: access list e1_0_acl_in, action permit
178: access list rule: access list e1_0_acl_in, action permit
179: access list rule: access list e1_0_acl_in, action deny
182: access list rule: access list e1_0_acl_out, action permit
183: access list rule: access list e1_0_acl_out, action deny
186: access list rule: access list fe0_0_acl_in, action permit
187: access list rule: access list fe0_0_acl_in, action permit
188: access list rule: access list fe0_0_acl_in, action permit
189: access list rule: access list fe0_0_acl_in, action deny
192: access list rule: access list fe0_0_acl_out, action permit
193: access list rule: access list fe0_0_acl_out, action deny
196: Rule comment: / / path1/path2/path3
197: Rule comment: access list comment
199: access list rule: access list outside, action permit
201: access list rule: access list outside, action permit
203: access list rule: access list outside, action permit
205: access list rule: access list outside, action permit
206: access list rule: access list outside, action deny
208: access list rule: access list outside, action permit
210: access list rule: access list outside, action permit
211: access list rule: access list outside, action permit
214: access list rule: access list outside, action deny
215: access list rule: access list outside, action deny
216: access list rule: access list outside, action deny
217: access list rule: access list outside, action deny
219: access list rule: access list outside, action permit
106: New interface: FastEthernet0/0
107: Interface address: 192.168.100.100/255.255.255.0
108: Interface address: 10.3.14.201/255.255.255.0
109: Interface FastEthernet0/0 ruleset fe0_0_acl_in direction 'in'
110: Interface FastEthernet0/0 ruleset fe0_0_acl_out direction 'out'
115: New interface: Ethernet1/0
116: Interface comment: Test [ test ] { test } ( and one more test) / weird:characters#$%^&*/
117: Interface address: 192.168.171.2/255.255.255.0
118: Interface Ethernet1/0 ruleset e1_0_acl_in direction 'in'
119: Interface Ethernet1/0 ruleset e1_0_acl_out direction 'out'
125: New interface: Serial1/0
131: New interface: Ethernet1/1
132: Interface address: 10.10.10.10/255.255.255.0
136: Interface Ethernet1/1 ruleset acl_133 direction 'in'
137: Interface Ethernet1/1 ruleset acl_133 direction 'out'
141: New interface: Ethernet1/2
142: Interface address: 10.10.20.20/255.255.255.0
147: Interface Ethernet1/2 ruleset acl_133 direction 'in'
148: Interface Ethernet1/2 ruleset acl_133 direction 'out'
152: New interface: ATM0
161: New interface: ATM0.1
161: Warning: point-to-point interfaces are not supported
162: Interface comment: $FW_OUTSIDE$$ES_WAN$
165: Interface address: 10.0.0.1/255.255.255.252
194: access list rule: access list e1_0_acl_in, action deny
195: access list rule: access list e1_0_acl_in, action permit
196: access list rule: access list e1_0_acl_in, action permit
197: access list rule: access list e1_0_acl_in, action permit
198: access list rule: access list e1_0_acl_in, action deny
201: access list rule: access list e1_0_acl_out, action permit
202: access list rule: access list e1_0_acl_out, action deny
205: access list rule: access list fe0_0_acl_in, action permit
206: access list rule: access list fe0_0_acl_in, action permit
207: access list rule: access list fe0_0_acl_in, action permit
208: access list rule: access list fe0_0_acl_in, action deny
211: access list rule: access list fe0_0_acl_out, action permit
212: access list rule: access list fe0_0_acl_out, action deny
215: Rule comment: / / path1/path2/path3
216: Rule comment: access list comment
218: access list rule: access list outside, action permit
220: access list rule: access list outside, action permit
222: access list rule: access list outside, action permit
224: access list rule: access list outside, action permit
226: access list rule: access list outside, action permit
225: access list rule: access list outside, action deny
227: access list rule: access list outside, action permit
228: access list rule: access list outside, action permit
232: access list rule: access list outside, action permit
233: access list rule: access list outside, action permit
234: access list rule: access list outside, action permit
236: access list rule: access list outside, action permit
237: access list rule: access list outside, action deny
242: access list rule: access list tmp_acl, action permit
243: access list rule: access list tmp_acl, action deny
245: access list rule: access list acl_133, action permit
246: access list rule: access list acl_133, action permit
247: access list rule: access list acl_133, action deny
248: access list rule: access list acl_144, action permit
249: access list rule: access list acl_144, action permit
250: access list rule: access list acl_144, action permit
251: access list rule: access list acl_144, action permit
252: access list rule: access list acl_144, action permit
253: access list rule: access list acl_144, action permit
254: access list rule: access list acl_144, action permit
255: access list rule: access list acl_144, action permit
256: access list rule: access list acl_199, action permit
257: access list rule: access list acl_199, action permit
259: Rule comment: Standard access lists are 1 to 99 and 1300 to 1999
260: access list rule: access list acl_1300, action permit
261: access list rule: access list acl_1300, action permit
262: access list rule: access list acl_1300, action permit
263: access list rule: access list acl_1300, action permit
229: access list rule: access list outside, action permit
230: access list rule: access list outside, action permit
233: access list rule: access list outside, action deny
234: access list rule: access list outside, action deny
235: access list rule: access list outside, action deny
236: access list rule: access list outside, action deny
238: access list rule: access list outside, action permit
239: access list rule: access list outside, action permit
241: access list rule: access list outside, action permit
243: access list rule: access list outside, action permit
245: access list rule: access list outside, action permit
246: access list rule: access list outside, action permit
247: access list rule: access list outside, action permit
251: access list rule: access list outside, action permit
252: access list rule: access list outside, action permit
253: access list rule: access list outside, action permit
255: access list rule: access list outside, action permit
256: access list rule: access list outside, action deny
261: access list rule: access list tmp_acl, action permit
262: access list rule: access list tmp_acl, action deny
264: access list rule: access list acl_133, action permit
265: access list rule: access list acl_133, action permit
266: access list rule: access list acl_133, action deny
267: access list rule: access list acl_144, action permit
268: access list rule: access list acl_144, action permit
269: access list rule: access list acl_144, action permit
270: access list rule: access list acl_144, action permit
271: access list rule: access list acl_144, action permit
272: access list rule: access list acl_144, action permit
273: access list rule: access list acl_144, action permit
274: access list rule: access list acl_144, action permit
275: access list rule: access list acl_199, action permit
276: access list rule: access list acl_199, action permit
278: Rule comment: Standard access lists are 1 to 99 and 1300 to 1999
279: access list rule: access list acl_1300, action permit
280: access list rule: access list acl_1300, action permit
281: access list rule: access list acl_1300, action permit
282: access list rule: access list acl_1300, action permit

View File

@ -25,6 +25,8 @@ clock timezone PST -7
ip subnet-zero
!
!
ip tcp synwait-time 10
ip cef
ip domain-name fwbuilder.org
ip name-server 10.1.1.10
!
@ -147,6 +149,23 @@ interface Ethernet1/2
no shutdown
half-duplex
!
interface ATM0
no ip address
no ip redirects
no ip unreachables
no ip proxy-arp
ip route-cache flow
no atm ilmi-keepalive
dsl operating-mode auto
!
interface ATM0.1 point-to-point
description $FW_OUTSIDE$$ES_WAN$
no snmp trap link-status
pvc 0/38
ip address 10.0.0.1 255.255.255.252
encapsulation aal5mux ppp dialer
dialer pool-member 1
!
router ospf 1
network 10.3.14.0 0.0.0.255 area 0
!