1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2025-10-16 15:38:43 +02:00

* getServByName.cpp (getPortByName): see #2268 Making sure all tcp

and udp port names are recognized on import; also since PIX/ASA
converts udp port numbersin "show run" output to the same names
as if they were tcp, using the same name mapping table.
This commit is contained in:
Vadim Kurland 2011-03-27 17:44:57 -07:00
parent 59aaf53fbf
commit 99c845d0a8
13 changed files with 237 additions and 208 deletions

View File

@ -7,7 +7,7 @@ FWB_MICRO_VERSION=0
# build number is like "nano" version number. I am incrementing build
# number during development cycle
#
BUILD_NUM="3511"
BUILD_NUM="3512"
VERSION="$FWB_MAJOR_VERSION.$FWB_MINOR_VERSION.$FWB_MICRO_VERSION.$BUILD_NUM"

View File

@ -1,2 +1,2 @@
#define VERSION "4.2.0.3511"
#define VERSION "4.2.0.3512"
#define GENERATION "4.2"

View File

@ -1,3 +1,10 @@
2011-03-27 vadim <vadim@netcitadel.com>
* getServByName.cpp (getPortByName): see #2268 Making sure all tcp
and udp port names are recognized on import; also since PIX/ASA
converts udp port numbersin "show run" output to the same names
as if they were tcp, using the same name mapping table.
2011-03-25 vadim <vadim@netcitadel.com>
* Importer.cpp (pushRule): fixes #2280 Rules created from PIX

View File

@ -3,7 +3,7 @@
%define name fwbuilder
%define version 4.2.0.3511
%define version 4.2.0.3512
%define release 1
%if "%_vendor" == "MandrakeSoft"

View File

@ -4,6 +4,6 @@ Replaces: fwbuilder (<=4.1.1-1), fwbuilder-common, fwbuilder-bsd, fwbuilder-linu
Priority: extra
Section: checkinstall
Maintainer: vadim@fwbuilder.org
Version: 4.2.0.3511-1
Version: 4.2.0.3512-1
Depends: libqt4-gui (>= 4.3.0), libxml2, libxslt1.1, libsnmp | libsnmp15
Description: Firewall Builder GUI and policy compilers

View File

@ -1,6 +1,6 @@
%define name fwbuilder
%define version 4.2.0.3511
%define version 4.2.0.3512
%define release 1
%if "%_vendor" == "MandrakeSoft"

View File

@ -626,6 +626,7 @@ int GetServByName::getPortByName(const QString &name, const QString &proto)
// users that new mail is received
ports["udp"]["bootpc"] = 68; // Bootstrap Protocol Client
ports["udp"]["bootps"] = 67; // Bootstrap Protocol Server
ports["udp"]["cifs"] = 3020;
ports["udp"]["discard"] = 9; // Discard
ports["udp"]["dnsix"] = 195; // DNSIX Session Management
// Module Audit Redirector
@ -666,7 +667,6 @@ int GetServByName::getPortByName(const QString &name, const QString &proto)
ports["udp"]["xdmcp"] = 177; // X Display Manager Control Protocol
}
bool ok = false;
@ -676,6 +676,13 @@ int GetServByName::getPortByName(const QString &name, const QString &proto)
if (ports.contains(proto) && ports[proto].contains(name))
return ports[proto][name];
// I guess this can be considered a hack. For some reason ASA
// converts all UDP ports in "show run" to the same names as if
// they were tcp.
if ((proto == "udp" || proto == "tcp-udp") && ports["tcp"].contains(name))
return ports["tcp"][name];
struct servent *se = getservbyname(name.toAscii().constData(),
proto.toAscii().constData());
if (se!=NULL)

View File

@ -367,7 +367,8 @@ int ObjectSignature::portFromString(const QString &port_spec, const QString &pro
int port = GetServByName::getPortByName(ps, proto);
if (port == -1)
{
throw ObjectMakerException(QString("Port name '%1' is unknown").arg(ps));
throw ObjectMakerException(
QString("%1 port name '%2' is unknown").arg(proto).arg(ps));
port = 0;
}
return port;

View File

@ -47,12 +47,12 @@ void PIXCfgLexer::initLiterals()
literals["name"] = 10;
literals["names"] = 9;
literals["ospf"] = 23;
literals["established"] = 97;
literals["mac-address"] = 118;
literals["nameif"] = 109;
literals["established"] = 98;
literals["mac-address"] = 119;
literals["nameif"] = 110;
literals["subnet"] = 34;
literals["ipsec"] = 21;
literals["controller"] = 100;
literals["controller"] = 101;
literals["pcp"] = 24;
literals["access-list"] = 62;
literals["remark"] = 129;
@ -65,15 +65,15 @@ void PIXCfgLexer::initLiterals()
literals["source-quench"] = 80;
literals["conversion-error"] = 68;
literals["timeout"] = 8;
literals["hold-time"] = 116;
literals["hold-time"] = 117;
literals["time-exceeded"] = 81;
literals["tcp-udp"] = 50;
literals["community-list"] = 7;
literals["permit"] = 64;
literals["pptp"] = 26;
literals["interval"] = 96;
literals["interval"] = 97;
literals["parameter-problem"] = 76;
literals["aui"] = 103;
literals["aui"] = 104;
literals["ssh"] = 90;
literals["security-level"] = 122;
literals["no"] = 54;
@ -90,7 +90,7 @@ void PIXCfgLexer::initLiterals()
literals["icmp-type"] = 49;
literals["PIX"] = 56;
literals["icmp-object"] = 48;
literals["exit"] = 102;
literals["exit"] = 103;
literals["nat"] = 30;
literals["range"] = 33;
literals["service-object"] = 51;
@ -102,62 +102,62 @@ void PIXCfgLexer::initLiterals()
literals["ah"] = 14;
literals["host"] = 32;
literals["mask-request"] = 74;
literals["baseTX"] = 108;
literals["baseTX"] = 109;
literals["secondary"] = 132;
literals["interface"] = 92;
literals["rip"] = 121;
literals["interface"] = 93;
literals["rip"] = 92;
literals["protocol-object"] = 47;
literals["icmp6"] = 38;
literals["standard"] = 66;
literals["network"] = 29;
literals["service"] = 35;
literals["access"] = 128;
literals["vlan"] = 110;
literals["bnc"] = 105;
literals["multicast"] = 119;
literals["any"] = 93;
literals["full"] = 106;
literals["vlan"] = 111;
literals["bnc"] = 106;
literals["multicast"] = 120;
literals["any"] = 94;
literals["full"] = 107;
literals["dhcp"] = 125;
literals["redirect"] = 77;
literals["speed"] = 111;
literals["speed"] = 112;
literals["deny"] = 65;
literals["neq"] = 89;
literals["esp"] = 16;
literals["address"] = 124;
literals["network-object"] = 45;
literals["shutdown"] = 123;
literals["delay"] = 115;
literals["auto"] = 104;
literals["delay"] = 116;
literals["auto"] = 105;
literals["echo-reply"] = 70;
literals["certificate"] = 55;
literals["router-advertisement"] = 78;
literals["udp"] = 40;
literals["fragments"] = 98;
literals["fragments"] = 99;
literals["eq"] = 86;
literals["destination"] = 42;
literals["setroute"] = 133;
literals["duplex"] = 112;
literals["duplex"] = 113;
literals["echo"] = 69;
literals["baseT"] = 107;
literals["baseT"] = 108;
literals["ip"] = 6;
literals["eigrp"] = 15;
literals["log-input"] = 95;
literals["log-input"] = 96;
literals["switchport"] = 127;
literals["timestamp-request"] = 83;
literals["description"] = 31;
literals["extended"] = 63;
literals["igmp"] = 18;
literals["access-group"] = 130;
literals["ddns"] = 113;
literals["ddns"] = 114;
literals["Version"] = 58;
literals["log"] = 94;
literals["forward"] = 114;
literals["log"] = 95;
literals["forward"] = 115;
literals["ASA"] = 57;
literals["lt"] = 88;
literals["ipv6"] = 117;
literals["ipv6"] = 118;
literals["port-object"] = 52;
literals["unreachable"] = 85;
literals["time-range"] = 99;
literals["time-range"] = 100;
literals["standby"] = 126;
literals["icmp"] = 36;
literals["tcp"] = 39;
@ -511,7 +511,7 @@ void PIXCfgLexer::mNEWLINE(bool _createToken) {
}
if ( inputState->guessing==0 ) {
#line 1915 "pix.g"
#line 1917 "pix.g"
newline();
#line 517 "PIXCfgLexer.cpp"
}
@ -635,7 +635,7 @@ void PIXCfgLexer::mWhitespace(bool _createToken) {
}
}
if ( inputState->guessing==0 ) {
#line 1910 "pix.g"
#line 1912 "pix.g"
_ttype = ANTLR_USE_NAMESPACE(antlr)Token::SKIP;
#line 641 "PIXCfgLexer.cpp"
}
@ -786,7 +786,7 @@ void PIXCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
match("oup");
}
if ( inputState->guessing==0 ) {
#line 1967 "pix.g"
#line 1969 "pix.g"
_ttype = OBJECT_GROUP;
#line 792 "PIXCfgLexer.cpp"
}
@ -794,7 +794,7 @@ void PIXCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
else {
match("");
if ( inputState->guessing==0 ) {
#line 1969 "pix.g"
#line 1971 "pix.g"
_ttype = OBJECT;
#line 800 "PIXCfgLexer.cpp"
}
@ -948,7 +948,7 @@ void PIXCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
} // ( ... )+
}
if ( inputState->guessing==0 ) {
#line 1960 "pix.g"
#line 1962 "pix.g"
_ttype = IPV6;
#line 954 "PIXCfgLexer.cpp"
}
@ -1095,7 +1095,7 @@ void PIXCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
} // ( ... )+
}
if ( inputState->guessing==0 ) {
#line 1948 "pix.g"
#line 1950 "pix.g"
_ttype = IPV4;
#line 1101 "PIXCfgLexer.cpp"
}
@ -1178,7 +1178,7 @@ void PIXCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
} // ( ... )+
}
if ( inputState->guessing==0 ) {
#line 1951 "pix.g"
#line 1953 "pix.g"
_ttype = NUMBER;
#line 1184 "PIXCfgLexer.cpp"
}
@ -1199,7 +1199,7 @@ void PIXCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
_loop291:;
} // ( ... )+
if ( inputState->guessing==0 ) {
#line 1953 "pix.g"
#line 1955 "pix.g"
_ttype = INT_CONST;
#line 1205 "PIXCfgLexer.cpp"
}
@ -1444,7 +1444,7 @@ void PIXCfgLexer::mNUMBER_ADDRESS_OR_WORD(bool _createToken) {
_loop311:;
} // ( ... )*
if ( inputState->guessing==0 ) {
#line 1976 "pix.g"
#line 1978 "pix.g"
_ttype = WORD;
#line 1450 "PIXCfgLexer.cpp"
}

View File

@ -420,7 +420,7 @@ void PIXCfgParser::nameif_top_level() {
sec_level = LT(1);
match(WORD);
if ( inputState->guessing==0 ) {
#line 1327 "pix.g"
#line 1329 "pix.g"
std::string label = (intf_label) ? intf_label->getText() : "";
std::string seclevel = (sec_level) ? sec_level->getText() : "";
@ -447,7 +447,7 @@ void PIXCfgParser::controller() {
try { // for error handling
match(CONTROLLER);
if ( inputState->guessing==0 ) {
#line 1243 "pix.g"
#line 1245 "pix.g"
importer->clearCurrentInterface();
consumeUntil(NEWLINE);
@ -569,7 +569,7 @@ void PIXCfgParser::ssh_command() {
match(WORD);
}
if ( inputState->guessing==0 ) {
#line 1574 "pix.g"
#line 1576 "pix.g"
importer->clear();
std::string acl_name = "ssh_commands_" + intf_label->getText();
@ -636,7 +636,7 @@ void PIXCfgParser::telnet_command() {
match(WORD);
}
if ( inputState->guessing==0 ) {
#line 1595 "pix.g"
#line 1597 "pix.g"
importer->clear();
std::string acl_name = "telnet_commands_" + intf_label->getText();
@ -689,7 +689,7 @@ void PIXCfgParser::icmp_top_level_command() {
{
match(UNREACHABLE);
if ( inputState->guessing==0 ) {
#line 1624 "pix.g"
#line 1626 "pix.g"
consumeUntil(NEWLINE);
@ -723,7 +723,7 @@ void PIXCfgParser::icmp_top_level_command() {
}
}
if ( inputState->guessing==0 ) {
#line 1631 "pix.g"
#line 1633 "pix.g"
importer->clear();
@ -731,7 +731,7 @@ void PIXCfgParser::icmp_top_level_command() {
}
hostaddr_expr();
if ( inputState->guessing==0 ) {
#line 1635 "pix.g"
#line 1637 "pix.g"
importer->SaveTmpAddrToSrc();
@ -761,7 +761,7 @@ void PIXCfgParser::icmp_top_level_command() {
intf_label = LT(1);
match(WORD);
if ( inputState->guessing==0 ) {
#line 1640 "pix.g"
#line 1642 "pix.g"
std::string acl_name = "icmp_commands_" + intf_label->getText();
importer->setCurrentLineNumber(LT(0)->getLine());
@ -813,7 +813,7 @@ void PIXCfgParser::access_group() {
intf_label = LT(1);
match(WORD);
if ( inputState->guessing==0 ) {
#line 1698 "pix.g"
#line 1700 "pix.g"
importer->setCurrentLineNumber(LT(0)->getLine());
importer->setInterfaceAndDirectionForRuleSet(
@ -3576,7 +3576,7 @@ void PIXCfgParser::remark() {
try { // for error handling
match(REMARK);
if ( inputState->guessing==0 ) {
#line 1680 "pix.g"
#line 1682 "pix.g"
importer->setCurrentLineNumber(LT(0)->getLine());
*dbg << LT(1)->getLine() << ":";
@ -3901,7 +3901,7 @@ void PIXCfgParser::hostaddr_expr() {
intf_name = LT(1);
match(WORD);
if ( inputState->guessing==0 ) {
#line 1176 "pix.g"
#line 1178 "pix.g"
importer->tmp_a = intf_name->getText();
importer->tmp_nm = "interface";
@ -3937,7 +3937,7 @@ void PIXCfgParser::hostaddr_expr() {
match(WORD);
}
if ( inputState->guessing==0 ) {
#line 1183 "pix.g"
#line 1185 "pix.g"
importer->tmp_a = name->getText();
importer->tmp_nm = "";
@ -3955,7 +3955,7 @@ void PIXCfgParser::hostaddr_expr() {
match(IPV4);
}
if ( inputState->guessing==0 ) {
#line 1190 "pix.g"
#line 1192 "pix.g"
importer->tmp_a = h->getText();
importer->tmp_nm = "255.255.255.255";
@ -3974,7 +3974,7 @@ void PIXCfgParser::hostaddr_expr() {
match(IPV4);
}
if ( inputState->guessing==0 ) {
#line 1197 "pix.g"
#line 1199 "pix.g"
importer->tmp_a = a->getText();
importer->tmp_nm = m->getText();
@ -3988,7 +3988,7 @@ void PIXCfgParser::hostaddr_expr() {
{
match(ANY);
if ( inputState->guessing==0 ) {
#line 1204 "pix.g"
#line 1206 "pix.g"
importer->tmp_a = "0.0.0.0";
importer->tmp_nm = "0.0.0.0";
@ -4141,7 +4141,7 @@ void PIXCfgParser::time_range() {
tr_name = LT(1);
match(WORD);
if ( inputState->guessing==0 ) {
#line 1233 "pix.g"
#line 1235 "pix.g"
importer->time_range_name = tr_name->getText();
*dbg << "time_range " << tr_name->getText() << " ";
@ -4165,7 +4165,7 @@ void PIXCfgParser::fragments() {
try { // for error handling
match(FRAGMENTS);
if ( inputState->guessing==0 ) {
#line 1226 "pix.g"
#line 1228 "pix.g"
importer->fragments = true;
*dbg << "fragments ";
@ -4259,7 +4259,7 @@ void PIXCfgParser::log() {
}
}
if ( inputState->guessing==0 ) {
#line 1212 "pix.g"
#line 1214 "pix.g"
importer->logging = true;
*dbg << "logging ";
@ -4831,7 +4831,7 @@ void PIXCfgParser::established() {
try { // for error handling
match(ESTABLISHED);
if ( inputState->guessing==0 ) {
#line 1219 "pix.g"
#line 1221 "pix.g"
importer->established = true;
*dbg << "established ";
@ -4992,6 +4992,16 @@ void PIXCfgParser::tcp_udp_port_spec() {
match(INT_CONST);
break;
}
case ECHO:
{
match(ECHO);
break;
}
case RIP:
{
match(RIP);
break;
}
default:
{
throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());
@ -4999,11 +5009,11 @@ void PIXCfgParser::tcp_udp_port_spec() {
}
}
if ( inputState->guessing==0 ) {
#line 1163 "pix.g"
#line 1165 "pix.g"
importer->tmp_port_spec_2 = LT(0)->getText();
#line 5007 "PIXCfgParser.cpp"
#line 5017 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5025,7 +5035,7 @@ void PIXCfgParser::pair_of_ports_spec() {
importer->tmp_port_spec_2 = "";
#line 5029 "PIXCfgParser.cpp"
#line 5039 "PIXCfgParser.cpp"
}
tcp_udp_port_spec();
if ( inputState->guessing==0 ) {
@ -5033,7 +5043,7 @@ void PIXCfgParser::pair_of_ports_spec() {
importer->tmp_port_spec += importer->tmp_port_spec_2;
#line 5037 "PIXCfgParser.cpp"
#line 5047 "PIXCfgParser.cpp"
}
tcp_udp_port_spec();
if ( inputState->guessing==0 ) {
@ -5042,7 +5052,7 @@ void PIXCfgParser::pair_of_ports_spec() {
importer->tmp_port_spec += " ";
importer->tmp_port_spec += importer->tmp_port_spec_2;
#line 5046 "PIXCfgParser.cpp"
#line 5056 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5064,14 +5074,14 @@ void PIXCfgParser::interface_command_6() {
match(WORD);
pix6_interface_hw_speed();
if ( inputState->guessing==0 ) {
#line 1292 "pix.g"
#line 1294 "pix.g"
importer->setCurrentLineNumber(LT(0)->getLine());
importer->newInterface( in->getText() );
*dbg << in->getLine() << ":"
<< " INTRFACE: " << in->getText() << std::endl;
#line 5075 "PIXCfgParser.cpp"
#line 5085 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5087,23 +5097,23 @@ 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 1300 "pix.g"
#line 1302 "pix.g"
bool have_interface_parameters = false;
#line 5093 "PIXCfgParser.cpp"
#line 5103 "PIXCfgParser.cpp"
try { // for error handling
in = LT(1);
match(WORD);
match(NEWLINE);
if ( inputState->guessing==0 ) {
#line 1301 "pix.g"
#line 1303 "pix.g"
importer->setCurrentLineNumber(LT(0)->getLine());
importer->newInterface( in->getText() );
*dbg << in->getLine() << ":"
<< " INTRFACE: " << in->getText() << std::endl;
#line 5107 "PIXCfgParser.cpp"
#line 5117 "PIXCfgParser.cpp"
}
{
{ // ( ... )*
@ -5111,9 +5121,9 @@ void PIXCfgParser::interface_command_7() {
if ((_tokenSet_26.member(LA(1)))) {
interface_parameters();
if ( inputState->guessing==0 ) {
#line 1308 "pix.g"
#line 1310 "pix.g"
have_interface_parameters = true;
#line 5117 "PIXCfgParser.cpp"
#line 5127 "PIXCfgParser.cpp"
}
}
else {
@ -5142,7 +5152,7 @@ void PIXCfgParser::interface_command_7() {
}
}
if ( inputState->guessing==0 ) {
#line 1310 "pix.g"
#line 1312 "pix.g"
if ( ! have_interface_parameters )
{
@ -5151,7 +5161,7 @@ void PIXCfgParser::interface_command_7() {
<< " EMPTY INTERFACE " << std::endl;
}
#line 5155 "PIXCfgParser.cpp"
#line 5165 "PIXCfgParser.cpp"
}
}
}
@ -5243,11 +5253,11 @@ void PIXCfgParser::interface_parameters() {
try { // for error handling
if ( inputState->guessing==0 ) {
#line 1338 "pix.g"
#line 1340 "pix.g"
importer->setCurrentLineNumber(LT(0)->getLine());
#line 5251 "PIXCfgParser.cpp"
#line 5261 "PIXCfgParser.cpp"
}
{
switch ( LA(1)) {
@ -5294,6 +5304,7 @@ void PIXCfgParser::interface_parameters() {
case IGMP:
case OSPF:
case PIM:
case RIP:
case SPEED:
case DUPLEX:
case DDNS:
@ -5304,7 +5315,6 @@ void PIXCfgParser::interface_parameters() {
case MAC_ADDRESS:
case MULTICAST:
case PPPOE:
case RIP:
{
unsupported_interface_commands();
break;
@ -5372,12 +5382,12 @@ void PIXCfgParser::vlan_interface() {
vlan_id = LT(1);
match(INT_CONST);
if ( inputState->guessing==0 ) {
#line 1364 "pix.g"
#line 1366 "pix.g"
importer->setInterfaceVlanId(vlan_id->getText());
*dbg << " VLAN: " << vlan_id->getText() << std::endl;
#line 5381 "PIXCfgParser.cpp"
#line 5391 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5399,12 +5409,12 @@ void PIXCfgParser::sec_level() {
sec_level = LT(1);
match(INT_CONST);
if ( inputState->guessing==0 ) {
#line 1416 "pix.g"
#line 1418 "pix.g"
importer->setInterfaceSecurityLevel(sec_level->getText());
*dbg << "SEC_LEVEL: " << sec_level->getText() << std::endl;
#line 5408 "PIXCfgParser.cpp"
#line 5418 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5450,7 +5460,7 @@ void PIXCfgParser::nameif() {
}
}
if ( inputState->guessing==0 ) {
#line 1439 "pix.g"
#line 1441 "pix.g"
std::string label = (intf_label) ? intf_label->getText() : "";
std::string seclevel = (sec_level) ? sec_level->getText() : "";
@ -5458,7 +5468,7 @@ void PIXCfgParser::nameif() {
*dbg << " NAMEIF: "
<< p_intf->getText() << label << seclevel << std::endl;
#line 5462 "PIXCfgParser.cpp"
#line 5472 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5477,7 +5487,7 @@ void PIXCfgParser::interface_description() {
try { // for error handling
match(DESCRIPTION);
if ( inputState->guessing==0 ) {
#line 1451 "pix.g"
#line 1453 "pix.g"
*dbg << LT(1)->getLine() << ":";
std::string descr;
@ -5490,7 +5500,7 @@ void PIXCfgParser::interface_description() {
*dbg << " DESCRIPTION " << descr << std::endl;
//consumeUntil(NEWLINE);
#line 5494 "PIXCfgParser.cpp"
#line 5504 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5514,12 +5524,12 @@ void PIXCfgParser::switchport() {
vlan_num = LT(1);
match(INT_CONST);
if ( inputState->guessing==0 ) {
#line 1563 "pix.g"
#line 1565 "pix.g"
importer->addMessageToLog("Switch port vlan " + vlan_num->getText());
*dbg << "Switch port vlan " << vlan_num->getText() << std::endl;
#line 5523 "PIXCfgParser.cpp"
#line 5533 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5538,13 +5548,13 @@ void PIXCfgParser::shutdown() {
try { // for error handling
match(SHUTDOWN);
if ( inputState->guessing==0 ) {
#line 1466 "pix.g"
#line 1468 "pix.g"
importer->ignoreCurrentInterface();
*dbg<< LT(1)->getLine() << ":"
<< " INTERFACE SHUTDOWN " << std::endl;
#line 5548 "PIXCfgParser.cpp"
#line 5558 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5591,13 +5601,13 @@ void PIXCfgParser::interface_no_commands() {
}
}
if ( inputState->guessing==0 ) {
#line 1408 "pix.g"
#line 1410 "pix.g"
*dbg << " INTERFACE \"NO\" COMMAND: "
<< LT(0)->getText() << std::endl;
consumeUntil(NEWLINE);
#line 5601 "PIXCfgParser.cpp"
#line 5611 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5693,13 +5703,13 @@ void PIXCfgParser::unsupported_interface_commands() {
}
}
if ( inputState->guessing==0 ) {
#line 1400 "pix.g"
#line 1402 "pix.g"
*dbg << " UNSUPPORTED INTERFACE COMMAND: "
<< LT(0)->getText() << std::endl;
consumeUntil(NEWLINE);
#line 5703 "PIXCfgParser.cpp"
#line 5713 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5779,7 +5789,7 @@ void PIXCfgParser::v6_dhcp_address() {
dhcp = LT(1);
match(DHCP);
if ( inputState->guessing==0 ) {
#line 1501 "pix.g"
#line 1503 "pix.g"
std::string label = lbl->getText();
std::string addr = dhcp->getText();
@ -5790,7 +5800,7 @@ void PIXCfgParser::v6_dhcp_address() {
// which we do not support
consumeUntil(NEWLINE);
#line 5794 "PIXCfgParser.cpp"
#line 5804 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5817,7 +5827,7 @@ void PIXCfgParser::v6_static_address() {
m = LT(1);
match(IPV4);
if ( inputState->guessing==0 ) {
#line 1514 "pix.g"
#line 1516 "pix.g"
std::string label = lbl->getText();
std::string addr = a->getText();
@ -5828,7 +5838,7 @@ void PIXCfgParser::v6_static_address() {
// in case there are some other parameters after address and netmask
consumeUntil(NEWLINE);
#line 5832 "PIXCfgParser.cpp"
#line 5842 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5849,7 +5859,7 @@ void PIXCfgParser::v7_dhcp_address() {
dhcp = LT(1);
match(DHCP);
if ( inputState->guessing==0 ) {
#line 1531 "pix.g"
#line 1533 "pix.g"
std::string addr = dhcp->getText();
importer->addInterfaceAddress(addr, "");
@ -5857,7 +5867,7 @@ void PIXCfgParser::v7_dhcp_address() {
<< " INTRFACE ADDRESS: " << addr << std::endl;
consumeUntil(NEWLINE);
#line 5861 "PIXCfgParser.cpp"
#line 5871 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5900,7 +5910,7 @@ void PIXCfgParser::v7_static_address() {
}
}
if ( inputState->guessing==0 ) {
#line 1542 "pix.g"
#line 1544 "pix.g"
std::string addr = a->getText();
std::string netm = m->getText();
@ -5917,7 +5927,7 @@ void PIXCfgParser::v7_static_address() {
}
consumeUntil(NEWLINE);
#line 5921 "PIXCfgParser.cpp"
#line 5931 "PIXCfgParser.cpp"
}
}
catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) {
@ -5939,13 +5949,13 @@ void PIXCfgParser::icmp_types_for_icmp_command() {
{
match(INT_CONST);
if ( inputState->guessing==0 ) {
#line 1659 "pix.g"
#line 1661 "pix.g"
importer->icmp_type = LT(0)->getText();
importer->icmp_code = "0";
importer->icmp_spec = "";
#line 5949 "PIXCfgParser.cpp"
#line 5959 "PIXCfgParser.cpp"
}
break;
}
@ -5983,13 +5993,13 @@ void PIXCfgParser::icmp_types_for_icmp_command() {
}
}
if ( inputState->guessing==0 ) {
#line 1666 "pix.g"
#line 1668 "pix.g"
importer->icmp_type = "";
importer->icmp_code = "0";
importer->icmp_spec = LT(0)->getText();
#line 5993 "PIXCfgParser.cpp"
#line 6003 "PIXCfgParser.cpp"
}
break;
}
@ -6105,6 +6115,7 @@ const char* PIXCfgParser::tokenNames[] = {
"\"neq\"",
"\"ssh\"",
"\"telnet\"",
"\"rip\"",
"\"interface\"",
"\"any\"",
"\"log\"",
@ -6134,7 +6145,6 @@ const char* PIXCfgParser::tokenNames[] = {
"\"mac-address\"",
"\"multicast\"",
"PPPOE",
"\"rip\"",
"\"security-level\"",
"\"shutdown\"",
"\"address\"",
@ -6187,13 +6197,13 @@ const char* PIXCfgParser::tokenNames[] = {
const unsigned long PIXCfgParser::_tokenSet_0_data_[] = { 2UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// EOF
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_0(_tokenSet_0_data_,6);
const unsigned long PIXCfgParser::_tokenSet_1_data_[] = { 268445554UL, 1407191056UL, 469762048UL, 8304UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_1_data_[] = { 268445554UL, 1407191056UL, 738197504UL, 16608UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// EOF NEWLINE "quit" "ip" "timeout" "names" "name" WORD OBJECT "icmp"
// OBJECT_GROUP "crypto" "no" "certificate" "PIX" "ASA" "hostname" "access-list"
// "ssh" "telnet" "interface" "controller" LINE_COMMENT "exit" "nameif"
// "access-group" COLON_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_1(_tokenSet_1_data_,12);
const unsigned long PIXCfgParser::_tokenSet_2_data_[] = { 0UL, 32UL, 0UL, 896UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_2_data_[] = { 0UL, 32UL, 0UL, 1792UL, 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_[] = { 536854592UL, 2512UL, 1UL, 0UL, 0UL, 0UL, 0UL, 0UL };
@ -6209,7 +6219,7 @@ const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_4(_tokenSet_4_dat
const unsigned long PIXCfgParser::_tokenSet_5_data_[] = { 2147483648UL, 1576960UL, 0UL, 0UL, 0UL, 0UL };
// "description" "group-object" "service-object" "port-object"
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_5(_tokenSet_5_data_,6);
const unsigned long PIXCfgParser::_tokenSet_6_data_[] = { 268447602UL, 1407191057UL, 1006632960UL, 8304UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_6_data_[] = { 268447602UL, 1407191057UL, 1811939328UL, 16608UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// EOF NEWLINE "quit" "ip" "timeout" "names" "name" IPV4 WORD OBJECT "host"
// "icmp" OBJECT_GROUP "crypto" "no" "certificate" "PIX" "ASA" "hostname"
// "access-list" "ssh" "telnet" "interface" "any" "controller" LINE_COMMENT
@ -6219,19 +6229,19 @@ const unsigned long PIXCfgParser::_tokenSet_7_data_[] = { 268419136UL, 32UL, 0UL
// "ip" "ah" "eigrp" "esp" "gre" "igmp" "igrp" "ipinip" "ipsec" "nos" "ospf"
// "pcp" "pim" "pptp" "snp" INT_CONST
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_7(_tokenSet_7_data_,6);
const unsigned long PIXCfgParser::_tokenSet_8_data_[] = { 268445554UL, 1407191056UL, 3690987520UL, 8316UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_8_data_[] = { 268445554UL, 1407191056UL, 2885681152UL, 16633UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// EOF NEWLINE "quit" "ip" "timeout" "names" "name" WORD OBJECT "icmp"
// OBJECT_GROUP "crypto" "no" "certificate" "PIX" "ASA" "hostname" "access-list"
// "ssh" "telnet" "interface" "log" "log-input" "fragments" "time-range"
// "controller" LINE_COMMENT "exit" "nameif" "access-group" COLON_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_8(_tokenSet_8_data_,12);
const unsigned long PIXCfgParser::_tokenSet_9_data_[] = { 268445554UL, 1407192082UL, 532676608UL, 8304UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_9_data_[] = { 268445554UL, 1407192082UL, 801112064UL, 16608UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// EOF NEWLINE "quit" "ip" "timeout" "names" "name" WORD OBJECT "range"
// "icmp" "destination" OBJECT_GROUP "crypto" "no" "certificate" "PIX"
// "ASA" "hostname" "access-list" "eq" "gt" "lt" "neq" "ssh" "telnet" "interface"
// "controller" LINE_COMMENT "exit" "nameif" "access-group" COLON_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_9(_tokenSet_9_data_,12);
const unsigned long PIXCfgParser::_tokenSet_10_data_[] = { 268447602UL, 1407192083UL, 4290772992UL, 8318UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_10_data_[] = { 268447602UL, 1407192083UL, 4022337536UL, 16637UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// EOF NEWLINE "quit" "ip" "timeout" "names" "name" IPV4 WORD OBJECT "host"
// "range" "icmp" "destination" OBJECT_GROUP "crypto" "no" "certificate"
// "PIX" "ASA" "hostname" "access-list" "eq" "gt" "lt" "neq" "ssh" "telnet"
@ -6241,7 +6251,7 @@ const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_10(_tokenSet_10_d
const unsigned long PIXCfgParser::_tokenSet_11_data_[] = { 16UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// NEWLINE
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_11(_tokenSet_11_data_,6);
const unsigned long PIXCfgParser::_tokenSet_12_data_[] = { 268445712UL, 2083UL, 4093640696UL, 14UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_12_data_[] = { 268445712UL, 2083UL, 3825205240UL, 29UL, 0UL, 0UL, 0UL, 0UL };
// NEWLINE IPV4 WORD OBJECT "host" "range" INT_CONST OBJECT_GROUP "alternate-address"
// "conversion-error" "echo" "echo-reply" "information-reply" "information-request"
// "mask-reply" "mask-request" "mobile-redirect" "parameter-problem" "redirect"
@ -6250,70 +6260,72 @@ const unsigned long PIXCfgParser::_tokenSet_12_data_[] = { 268445712UL, 2083UL,
// "gt" "lt" "neq" "interface" "any" "log" "log-input" "established" "fragments"
// "time-range"
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_12(_tokenSet_12_data_,8);
const unsigned long PIXCfgParser::_tokenSet_13_data_[] = { 268437504UL, 2049UL, 805306368UL, 0UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_13_data_[] = { 268437504UL, 2049UL, 1610612736UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// IPV4 OBJECT "host" OBJECT_GROUP "interface" "any"
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_13(_tokenSet_13_data_,8);
const unsigned long PIXCfgParser::_tokenSet_14_data_[] = { 16UL, 0UL, 3221225472UL, 4UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_14_data_[] = { 16UL, 0UL, 2147483648UL, 9UL, 0UL, 0UL, 0UL, 0UL };
// NEWLINE "log" "log-input" "fragments"
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_14(_tokenSet_14_data_,8);
const unsigned long PIXCfgParser::_tokenSet_15_data_[] = { 16UL, 0UL, 3221225472UL, 0UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_15_data_[] = { 16UL, 0UL, 2147483648UL, 1UL, 0UL, 0UL, 0UL, 0UL };
// NEWLINE "log" "log-input"
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_15(_tokenSet_15_data_,8);
const unsigned long PIXCfgParser::_tokenSet_16_data_[] = { 16UL, 0UL, 3221225472UL, 12UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_16_data_[] = { 16UL, 0UL, 2147483648UL, 25UL, 0UL, 0UL, 0UL, 0UL };
// NEWLINE "log" "log-input" "fragments" "time-range"
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_16(_tokenSet_16_data_,8);
const unsigned long PIXCfgParser::_tokenSet_17_data_[] = { 268445712UL, 2050UL, 3284140032UL, 14UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_17_data_[] = { 268445712UL, 2050UL, 2210398208UL, 29UL, 0UL, 0UL, 0UL, 0UL };
// NEWLINE IPV4 WORD OBJECT "range" OBJECT_GROUP "eq" "gt" "lt" "neq" "log"
// "log-input" "established" "fragments" "time-range"
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_17(_tokenSet_17_data_,8);
const unsigned long PIXCfgParser::_tokenSet_18_data_[] = { 0UL, 2UL, 62914560UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// "range" "eq" "gt" "lt" "neq"
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_18(_tokenSet_18_data_,8);
const unsigned long PIXCfgParser::_tokenSet_19_data_[] = { 8192UL, 32UL, 201326592UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// WORD INT_CONST "ssh" "telnet"
const unsigned long PIXCfgParser::_tokenSet_19_data_[] = { 8192UL, 32UL, 469762080UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// WORD INT_CONST "echo" "ssh" "telnet" "rip"
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_19(_tokenSet_19_data_,8);
const unsigned long PIXCfgParser::_tokenSet_20_data_[] = { 268435472UL, 2050UL, 3284140032UL, 14UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_20_data_[] = { 268435472UL, 2050UL, 2210398208UL, 29UL, 0UL, 0UL, 0UL, 0UL };
// NEWLINE OBJECT "range" OBJECT_GROUP "eq" "gt" "lt" "neq" "log" "log-input"
// "established" "fragments" "time-range"
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_20(_tokenSet_20_data_,8);
const unsigned long PIXCfgParser::_tokenSet_21_data_[] = { 268445554UL, 1407191090UL, 3753902080UL, 8318UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_21_data_[] = { 268445554UL, 1407191090UL, 3217031200UL, 16637UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// EOF NEWLINE "quit" "ip" "timeout" "names" "name" WORD OBJECT "range"
// "icmp" INT_CONST OBJECT_GROUP "crypto" "no" "certificate" "PIX" "ASA"
// "hostname" "access-list" "eq" "gt" "lt" "neq" "ssh" "telnet" "interface"
// "log" "log-input" "established" "fragments" "time-range" "controller"
// LINE_COMMENT "exit" "nameif" "access-group" COLON_COMMENT
// "hostname" "access-list" "echo" "eq" "gt" "lt" "neq" "ssh" "telnet"
// "rip" "interface" "log" "log-input" "established" "fragments" "time-range"
// "controller" LINE_COMMENT "exit" "nameif" "access-group" COLON_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_21(_tokenSet_21_data_,12);
const unsigned long PIXCfgParser::_tokenSet_22_data_[] = { 268445554UL, 1407191088UL, 3690987520UL, 8316UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_22_data_[] = { 268445554UL, 1407191088UL, 3154116640UL, 16633UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// EOF NEWLINE "quit" "ip" "timeout" "names" "name" WORD OBJECT "icmp"
// INT_CONST OBJECT_GROUP "crypto" "no" "certificate" "PIX" "ASA" "hostname"
// "access-list" "ssh" "telnet" "interface" "log" "log-input" "fragments"
// "time-range" "controller" LINE_COMMENT "exit" "nameif" "access-group"
// "access-list" "echo" "ssh" "telnet" "rip" "interface" "log" "log-input"
// "fragments" "time-range" "controller" LINE_COMMENT "exit" "nameif" "access-group"
// COLON_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_22(_tokenSet_22_data_,12);
const unsigned long PIXCfgParser::_tokenSet_23_data_[] = { 268437504UL, 2051UL, 868220928UL, 0UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_23_data_[] = { 268437504UL, 2051UL, 1673527296UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// IPV4 OBJECT "host" "range" OBJECT_GROUP "eq" "gt" "lt" "neq" "interface"
// "any"
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_23(_tokenSet_23_data_,8);
const unsigned long PIXCfgParser::_tokenSet_24_data_[] = { 268445712UL, 2082UL, 3485466624UL, 14UL, 0UL, 0UL, 0UL, 0UL };
// NEWLINE IPV4 WORD OBJECT "range" INT_CONST OBJECT_GROUP "eq" "gt" "lt"
// "neq" "ssh" "telnet" "log" "log-input" "established" "fragments" "time-range"
const unsigned long PIXCfgParser::_tokenSet_24_data_[] = { 268445712UL, 2082UL, 2680160288UL, 29UL, 0UL, 0UL, 0UL, 0UL };
// NEWLINE IPV4 WORD OBJECT "range" INT_CONST OBJECT_GROUP "echo" "eq"
// "gt" "lt" "neq" "ssh" "telnet" "rip" "log" "log-input" "established"
// "fragments" "time-range"
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_24(_tokenSet_24_data_,8);
const unsigned long PIXCfgParser::_tokenSet_25_data_[] = { 268447602UL, 1407192115UL, 4290772992UL, 8318UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
const unsigned long PIXCfgParser::_tokenSet_25_data_[] = { 268447602UL, 1407192115UL, 4290773024UL, 16637UL, 12UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// EOF NEWLINE "quit" "ip" "timeout" "names" "name" IPV4 WORD OBJECT "host"
// "range" "icmp" INT_CONST "destination" OBJECT_GROUP "crypto" "no" "certificate"
// "PIX" "ASA" "hostname" "access-list" "eq" "gt" "lt" "neq" "ssh" "telnet"
// "interface" "any" "log" "log-input" "established" "fragments" "time-range"
// "controller" LINE_COMMENT "exit" "nameif" "access-group" COLON_COMMENT
// "PIX" "ASA" "hostname" "access-list" "echo" "eq" "gt" "lt" "neq" "ssh"
// "telnet" "rip" "interface" "any" "log" "log-input" "established" "fragments"
// "time-range" "controller" LINE_COMMENT "exit" "nameif" "access-group"
// COLON_COMMENT
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_25(_tokenSet_25_data_,12);
const unsigned long PIXCfgParser::_tokenSet_26_data_[] = { 2189688896UL, 4194304UL, 0UL, 2415910912UL, 0UL, 0UL, 0UL, 0UL };
// "ip" "igmp" "ospf" "pim" "description" "no" "nameif" "vlan" "speed"
const unsigned long PIXCfgParser::_tokenSet_26_data_[] = { 2189688896UL, 4194304UL, 268435456UL, 2415902720UL, 0UL, 0UL, 0UL, 0UL };
// "ip" "igmp" "ospf" "pim" "description" "no" "rip" "nameif" "vlan" "speed"
// "duplex" "ddns" "forward" "delay" "hold-time" "ipv6" "mac-address" "multicast"
// PPPOE "rip" "security-level" "shutdown" "switchport"
// PPPOE "security-level" "shutdown" "switchport"
const ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_26(_tokenSet_26_data_,8);
const unsigned long PIXCfgParser::_tokenSet_27_data_[] = { 2189688896UL, 4194304UL, 0UL, 2415911008UL, 0UL, 0UL, 0UL, 0UL };
// "ip" "igmp" "ospf" "pim" "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 unsigned long PIXCfgParser::_tokenSet_27_data_[] = { 2189688896UL, 4194304UL, 268435456UL, 2415902912UL, 0UL, 0UL, 0UL, 0UL };
// "ip" "igmp" "ospf" "pim" "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 ANTLR_USE_NAMESPACE(antlr)BitSet PIXCfgParser::_tokenSet_27(_tokenSet_27_data_,8);
const unsigned long PIXCfgParser::_tokenSet_28_data_[] = { 8192UL, 0UL, 0UL, 0UL, 0UL, 0UL };
// WORD

View File

@ -100,36 +100,36 @@ struct CUSTOM_API PIXCfgParserTokenTypes {
P_NEQ = 89,
SSH = 90,
TELNET = 91,
INTRFACE = 92,
ANY = 93,
LOG = 94,
LOG_INPUT = 95,
INTERVAL = 96,
ESTABLISHED = 97,
FRAGMENTS = 98,
TIME_RANGE = 99,
CONTROLLER = 100,
LINE_COMMENT = 101,
EXIT = 102,
AUI = 103,
AUTO = 104,
BNC = 105,
FULL = 106,
BASET = 107,
BASETX = 108,
NAMEIF = 109,
VLAN = 110,
SPEED = 111,
DUPLEX = 112,
DDNS = 113,
FORWARD = 114,
DELAY = 115,
HOLD_TIME = 116,
IPV6_C = 117,
MAC_ADDRESS = 118,
MULTICAST = 119,
PPPOE = 120,
RIP = 121,
RIP = 92,
INTRFACE = 93,
ANY = 94,
LOG = 95,
LOG_INPUT = 96,
INTERVAL = 97,
ESTABLISHED = 98,
FRAGMENTS = 99,
TIME_RANGE = 100,
CONTROLLER = 101,
LINE_COMMENT = 102,
EXIT = 103,
AUI = 104,
AUTO = 105,
BNC = 106,
FULL = 107,
BASET = 108,
BASETX = 109,
NAMEIF = 110,
VLAN = 111,
SPEED = 112,
DUPLEX = 113,
DDNS = 114,
FORWARD = 115,
DELAY = 116,
HOLD_TIME = 117,
IPV6_C = 118,
MAC_ADDRESS = 119,
MULTICAST = 120,
PPPOE = 121,
SEC_LEVEL = 122,
SHUTDOWN = 123,
ADDRESS = 124,

View File

@ -88,36 +88,36 @@ P_LT="lt"=88
P_NEQ="neq"=89
SSH="ssh"=90
TELNET="telnet"=91
INTRFACE="interface"=92
ANY="any"=93
LOG="log"=94
LOG_INPUT="log-input"=95
INTERVAL="interval"=96
ESTABLISHED="established"=97
FRAGMENTS="fragments"=98
TIME_RANGE="time-range"=99
CONTROLLER="controller"=100
LINE_COMMENT=101
EXIT="exit"=102
AUI="aui"=103
AUTO="auto"=104
BNC="bnc"=105
FULL="full"=106
BASET="baseT"=107
BASETX="baseTX"=108
NAMEIF="nameif"=109
VLAN="vlan"=110
SPEED="speed"=111
DUPLEX="duplex"=112
DDNS="ddns"=113
FORWARD="forward"=114
DELAY="delay"=115
HOLD_TIME="hold-time"=116
IPV6_C="ipv6"=117
MAC_ADDRESS="mac-address"=118
MULTICAST="multicast"=119
PPPOE=120
RIP="rip"=121
RIP="rip"=92
INTRFACE="interface"=93
ANY="any"=94
LOG="log"=95
LOG_INPUT="log-input"=96
INTERVAL="interval"=97
ESTABLISHED="established"=98
FRAGMENTS="fragments"=99
TIME_RANGE="time-range"=100
CONTROLLER="controller"=101
LINE_COMMENT=102
EXIT="exit"=103
AUI="aui"=104
AUTO="auto"=105
BNC="bnc"=106
FULL="full"=107
BASET="baseT"=108
BASETX="baseTX"=109
NAMEIF="nameif"=110
VLAN="vlan"=111
SPEED="speed"=112
DUPLEX="duplex"=113
DDNS="ddns"=114
FORWARD="forward"=115
DELAY="delay"=116
HOLD_TIME="hold-time"=117
IPV6_C="ipv6"=118
MAC_ADDRESS="mac-address"=119
MULTICAST="multicast"=120
PPPOE=121
SEC_LEVEL="security-level"=122
SHUTDOWN="shutdown"=123
ADDRESS="address"=124

View File

@ -1159,7 +1159,9 @@ pair_of_ports_spec :
}
;
tcp_udp_port_spec : (SSH | TELNET | WORD | INT_CONST)
// note that some words coincide as names of protocols or ports and
// can be used in other parts of configuration
tcp_udp_port_spec : (SSH | TELNET | WORD | INT_CONST | ECHO | RIP )
{
importer->tmp_port_spec_2 = LT(0)->getText();
}