From ff2b36d3296f1566569ccc0c3ac31bf7a72e5575 Mon Sep 17 00:00:00 2001 From: Vadim Kurland Date: Tue, 6 May 2008 04:11:33 +0000 Subject: [PATCH] porting bugfixes from 2.1.19 --- doc/ChangeLog | 26 + doc/fwbedit.1 | 4 +- src/gui/IPTImporter.cpp | 17 +- src/gui/RuleOptionsDialog.cpp | 42 +- src/gui/ruleoptionsdialog_q.ui | 436 +- src/ipt/MangleTableCompiler_ipt.cpp | 1 + src/ipt/PolicyCompiler_PrintRule.cpp | 18 +- src/parsers/IPTCfgLexer.cpp | 674 +- src/parsers/IPTCfgLexer.hpp | 2 +- src/parsers/IPTCfgParser.cpp | 407 +- src/parsers/IPTCfgParser.hpp | 2 +- src/parsers/IPTCfgParserTokenTypes.hpp | 6 +- src/parsers/iptables.g | 4 +- src/pflib/PolicyCompiler_pf_writers.cpp | 29 +- .../importer/test_data/iptables_test1.conf | 4 + test/pf/objects-for-regression-tests.fwb | 5836 ++++++++++------- 16 files changed, 4173 insertions(+), 3335 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index ba64bcc36..0774ae0d2 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,29 @@ +2008-05-05 vadim + + * PolicyCompiler_pf_writers.cpp (PrintRule::processNext), + RuleOptionsDialog.cpp (RuleOptionsDialog::loadFWObject): (from + 2.1) fixed bug #1821573: "Rule options limits allow for multiple + overload tables". PF allows only for one "overload" option per + rule. + + * IPTImporter.cpp (IPTImporter::pushPolicyRule), (from 2.1) + iptables.g (target_options): fixed bug #1949438: "parser expects + decimal - hex is not accepted". Importer for iptables should be + able to process "--set-mark" with hex argument. + + * fwbedit.1: (from 2.1) fixed bug #1949103: "manpage slightly + broken". Minor fixes in fwbedit.1 man page. + + * PolicyCompiler_PrintRule.cpp (PrintRule::_printOptionalGlobalRules): + (from 2.1) fixed bug# 1940504: "Clamp MSS to MTU". Iptables + command that invokes "-j TCPMSS --clamp-mss-to-pmtu" in FORWARD + chain should go before the one that matches "--state + ESTABLISHED,RELATED" in order to work for the packets in these + states. + + * RuleOptionsDialog.cpp (RuleOptionsDialog::loadFWObject): (from + 2.1) fixed bug #1938985: Rate in hashlimit in local language + 2008-04-13 Vadim Kurland * NATCompiler_PrintRule.cpp (PrintRule::_printAddr): fixed bug (no diff --git a/doc/fwbedit.1 b/doc/fwbedit.1 index ae64171b2..3d3e75c63 100644 --- a/doc/fwbedit.1 +++ b/doc/fwbedit.1 @@ -1,5 +1,4 @@ .TH fwbedit 1 "" FWB "Firewall Builder" -.LO 1 .SH NAME fwbedit \- General purpose object tree editing tool .SH SYNOPSIS @@ -57,8 +56,7 @@ error message and does not make any changes in the data file. .PP fwbedit -f x.xml -a id3D71A1BA,/Objects/Groups/testgroup .PP -Adds reference to the object with ID id3D71A1BA to the group -'testgroup'. +Adds reference to the object with ID id3D71A1BA to the group 'testgroup'. .PP .PP fwbedit can be used in combination with fwblookup to execute diff --git a/src/gui/IPTImporter.cpp b/src/gui/IPTImporter.cpp index 6f3382e87..2309198c9 100644 --- a/src/gui/IPTImporter.cpp +++ b/src/gui/IPTImporter.cpp @@ -6,7 +6,7 @@ Author: Vadim Kurland vadim@fwbuilder.org - $Id: IPTImporter.cpp,v 1.10 2008/02/11 01:30:39 vkurland Exp $ + $Id: IPTImporter.cpp,v 1.11 2008/05/05 16:09:38 vkurland Exp $ This program is free software which we release under the GNU General Public License. You may redistribute and/or modify this program under the terms @@ -460,7 +460,20 @@ void IPTImporter::pushPolicyRule() { action = PolicyRule::Tag; last_mark_rule = rule; - ropt->setStr("tagvalue", action_params["set_mark"]); + std::string mark_code = action_params["set_mark"]; + std::istringstream str(mark_code); + int m_code = 0; + + // check if the code is in hex + if (mark_code.find("0x")==0) + { + char c; + str >> c >> c >> std::hex >> m_code; + } else + { + str >> m_code; + } + ropt->setInt("tagvalue", m_code); // if (current_chain=="PREROUTING") // ropt->setBool("ipt_mark_prerouting",true); } diff --git a/src/gui/RuleOptionsDialog.cpp b/src/gui/RuleOptionsDialog.cpp index 160df8bf8..d555312bb 100644 --- a/src/gui/RuleOptionsDialog.cpp +++ b/src/gui/RuleOptionsDialog.cpp @@ -6,7 +6,7 @@ Author: Vadim Kurland vadim@fwbuilder.org - $Id: RuleOptionsDialog.cpp,v 1.24 2007/07/14 21:08:42 vkurland Exp $ + $Id: RuleOptionsDialog.cpp,v 1.26 2008/05/06 03:18:49 vkurland Exp $ This program is free software which we release under the GNU General Public License. You may redistribute and/or modify this program under the terms @@ -116,6 +116,8 @@ void RuleOptionsDialog::loadFWObject(FWObject *o) m_dialog->ipt_limitSuffix->clear(); m_dialog->ipt_limitSuffix->addItems(getScreenNames(limitSuffixes)); + m_dialog->ipt_hashlimit_suffix->clear(); + m_dialog->ipt_hashlimit_suffix->addItems(getScreenNames(limitSuffixes)); data.clear(); @@ -167,17 +169,15 @@ void RuleOptionsDialog::loadFWObject(FWObject *o) data.registerOption( m_dialog->pf_max_src_states , ropt, "pf_max_src_states" ); data.registerOption( m_dialog->pf_max_src_conn , ropt, "pf_max_src_conn" ); - data.registerOption( m_dialog->pf_max_src_conn_overload_table , - ropt, "pf_max_src_conn_overload_table" ); - data.registerOption( m_dialog->pf_max_src_conn_flush, ropt, "pf_max_src_conn_flush" ); - data.registerOption( m_dialog->pf_max_src_conn_global, ropt, "pf_max_src_conn_global" ); + data.registerOption( m_dialog->pf_overload_table , ropt, + "pf_max_src_conn_overload_table" ); + data.registerOption( m_dialog->pf_flush, ropt, "pf_max_src_conn_flush" ); + data.registerOption( m_dialog->pf_global, ropt, "pf_max_src_conn_global" ); - data.registerOption( m_dialog->pf_max_src_conn_rate_num , ropt, "pf_max_src_conn_rate_num" ); - data.registerOption( m_dialog->pf_max_src_conn_rate_seconds , ropt, "pf_max_src_conn_rate_seconds" ); - data.registerOption( m_dialog->pf_max_src_conn_rate_overload_table , - ropt, "pf_max_src_conn_rate_overload_table" ); - data.registerOption( m_dialog->pf_max_src_conn_rate_flush, ropt, "pf_max_src_conn_rate_flush" ); - data.registerOption( m_dialog->pf_max_src_conn_rate_global, ropt, "pf_max_src_conn_rate_global" ); + data.registerOption( m_dialog->pf_max_src_conn_rate_num , ropt, + "pf_max_src_conn_rate_num" ); + data.registerOption( m_dialog->pf_max_src_conn_rate_seconds , ropt, + "pf_max_src_conn_rate_seconds" ); } if (platform=="ipfw") @@ -221,16 +221,20 @@ void RuleOptionsDialog::changed() { //apply->setEnabled( true ); - m_dialog->pf_max_src_nodes->setEnabled( m_dialog->pf_source_tracking->isChecked() ); - m_dialog->pf_max_src_states->setEnabled( m_dialog->pf_source_tracking->isChecked() ); + m_dialog->pf_max_src_nodes->setEnabled( + m_dialog->pf_source_tracking->isChecked() ); + m_dialog->pf_max_src_states->setEnabled( + m_dialog->pf_source_tracking->isChecked() ); - m_dialog->pf_max_src_conn_overload_table->setEnabled( m_dialog->pf_max_src_conn->value()>0 ); - m_dialog->pf_max_src_conn_flush->setEnabled( m_dialog->pf_max_src_conn->value()>0 ); - m_dialog->pf_max_src_conn_global->setEnabled( m_dialog->pf_max_src_conn->value()>0 ); + bool enable_overload_options = ( + m_dialog->pf_max_src_conn->value()>0 || ( + m_dialog->pf_max_src_conn_rate_num->value()>0 && + m_dialog->pf_max_src_conn_rate_seconds->value()>0) + ); - m_dialog->pf_max_src_conn_rate_overload_table->setEnabled( m_dialog->pf_max_src_conn_rate_num->value()>0 && m_dialog->pf_max_src_conn_rate_seconds->value()>0); - m_dialog->pf_max_src_conn_rate_flush->setEnabled( m_dialog->pf_max_src_conn_rate_num->value()>0 && m_dialog->pf_max_src_conn_rate_seconds->value()>0 ); - m_dialog->pf_max_src_conn_rate_global->setEnabled( m_dialog->pf_max_src_conn_rate_num->value()>0 && m_dialog->pf_max_src_conn_rate_seconds->value()>0 ); + m_dialog->pf_overload_table->setEnabled(enable_overload_options); + m_dialog->pf_flush->setEnabled(enable_overload_options); + m_dialog->pf_global->setEnabled(enable_overload_options); emit changed_sign(); } diff --git a/src/gui/ruleoptionsdialog_q.ui b/src/gui/ruleoptionsdialog_q.ui index eecbca87b..a4032ed9d 100644 --- a/src/gui/ruleoptionsdialog_q.ui +++ b/src/gui/ruleoptionsdialog_q.ui @@ -5,8 +5,8 @@ 0 0 - 605 - 215 + 910 + 277 @@ -107,7 +107,7 @@ 0 - 0 + 2 @@ -1365,6 +1365,9 @@ QTabWidget::Triangular + + 3 + General @@ -1670,93 +1673,52 @@ Limits - - 2 - - - 2 - - - 2 - - - 2 - - - 2 - - - 2 - - - - - Qt::Vertical - - - QSizePolicy::Expanding - - - - 20 - 20 - - - - - - - - - 0 - 0 - - - - - 80 - 32767 - - - - 1000000 - - - - - + + - 100 + 300 0 - - - - - - - 0 - 0 - - - overload table: + Maximum number of concurrent states this rule may create. Unlimited if set to zero (option 'max'). + + + Qt::AlignVCenter false - - - - flush + + + + When this limit is reached, further packets matching the rule that would create state are dropped, until existing states time out. + + + 1000000 - + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 101 + 23 + + + + + Maximum number of simultaneous TCP connections that a single host can make (max-src-conn): @@ -1769,47 +1731,7 @@ - - - - global - - - - - - - The limit of new connections over a time interval (max-src-conn-rate): - - - Qt::AlignVCenter - - - false - - - - - - - / - - - false - - - - - - - - 100 - 0 - - - - - + @@ -1822,14 +1744,7 @@ - - - - global - - - - + Qt::Horizontal @@ -1839,56 +1754,26 @@ - 125 - 20 + 101 + 23 - - + + - flush + The limit of new connections over a time interval (max-src-conn-rate): - - - - - - overload table: + + Qt::AlignVCenter false - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 40 - 20 - - - - - - - - sec - - - false - - - - + @@ -1907,99 +1792,117 @@ - - - - Qt::Horizontal + + + + / - - QSizePolicy::Fixed + + false - - - 40 - 20 - - - + - - - - Qt::Horizontal + + + + + 0 + 0 + - - QSizePolicy::Expanding - - + 80 - 20 + 32767 - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 70 - 20 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 60 - 20 - - - - - - - - When this limit is reached, further packets matching the rule that would create state are dropped, until existing states time out. - 1000000 - - - - - 300 - 0 - - + + - Maximum number of concurrent states this rule may create. Unlimited if set to zero (option 'max'). - - - Qt::AlignVCenter + sec false + + + + + 0 + 0 + + + + overload table: + + + false + + + + + + + + 100 + 0 + + + + + + + + flush + + + + + + + global + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 431 + 23 + + + + + + + + Qt::Vertical + + + QSizePolicy::Expanding + + + + 22 + 41 + + + + @@ -2431,14 +2334,11 @@ pf_max_src_states pf_rule_max_state pf_max_src_conn - pf_max_src_conn_overload_table - pf_max_src_conn_flush - pf_max_src_conn_global + pf_overload_table + pf_flush + pf_global pf_max_src_conn_rate_num pf_max_src_conn_rate_seconds - pf_max_src_conn_rate_overload_table - pf_max_src_conn_rate_flush - pf_max_src_conn_rate_global ipfw_stateless pf_logPrefix @@ -2941,7 +2841,7 @@ - pf_max_src_conn_flush + pf_flush toggled(bool) RuleOptionsDialog_q changed() @@ -2957,7 +2857,7 @@ - pf_max_src_conn_global + pf_global toggled(bool) RuleOptionsDialog_q changed() @@ -2973,7 +2873,7 @@ - pf_max_src_conn_overload_table + pf_overload_table textChanged(QString) RuleOptionsDialog_q changed() @@ -2988,38 +2888,6 @@ - - pf_max_src_conn_rate_flush - toggled(bool) - RuleOptionsDialog_q - changed() - - - 20 - 20 - - - 20 - 20 - - - - - pf_max_src_conn_rate_global - toggled(bool) - RuleOptionsDialog_q - changed() - - - 20 - 20 - - - 20 - 20 - - - pf_max_src_conn_rate_num valueChanged(int) @@ -3036,22 +2904,6 @@ - - pf_max_src_conn_rate_overload_table - textChanged(QString) - RuleOptionsDialog_q - changed() - - - 20 - 20 - - - 20 - 20 - - - pf_max_src_conn_rate_seconds valueChanged(int) diff --git a/src/ipt/MangleTableCompiler_ipt.cpp b/src/ipt/MangleTableCompiler_ipt.cpp index 6a8a9a7e7..dac1aa036 100644 --- a/src/ipt/MangleTableCompiler_ipt.cpp +++ b/src/ipt/MangleTableCompiler_ipt.cpp @@ -118,6 +118,7 @@ string MangleTableCompiler_ipt::flushAndSetDefaultPolicy() PolicyCompiler_ipt::PrintRule *prp = createPrintRuleProcessor(); res << prp->_declareTable(); + if (have_connmark) { res << prp->_startRuleLine() diff --git a/src/ipt/PolicyCompiler_PrintRule.cpp b/src/ipt/PolicyCompiler_PrintRule.cpp index 714d3bb10..d65a8be77 100644 --- a/src/ipt/PolicyCompiler_PrintRule.cpp +++ b/src/ipt/PolicyCompiler_PrintRule.cpp @@ -1269,6 +1269,15 @@ string PolicyCompiler_ipt::PrintRule::_printOptionalGlobalRules() string s=compiler->getCachedFwOpt()->getStr("linux24_ip_forward"); ipforward= (s.empty() || s=="1" || s=="On" || s=="on"); + if ( compiler->getCachedFwOpt()->getBool("clamp_mss_to_mtu") && ipforward) + { + res << _startRuleLine() + << "FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu" + << _endRuleLine(); + + res << endl; + } + if ( compiler->getCachedFwOpt()->getBool("accept_established") && ipt_comp->my_table=="filter") { @@ -1321,15 +1330,6 @@ string PolicyCompiler_ipt::PrintRule::_printOptionalGlobalRules() res << endl; } - if ( compiler->getCachedFwOpt()->getBool("clamp_mss_to_mtu") && ipforward) - { - res << _startRuleLine() - << "FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu" - << _endRuleLine(); - - res << endl; - } - if ( ! compiler->getCachedFwOpt()->getBool("accept_new_tcp_with_no_syn") ) { res << "# drop TCP sessions opened prior firewall restart" diff --git a/src/parsers/IPTCfgLexer.cpp b/src/parsers/IPTCfgLexer.cpp index 437fbeca3..24c6c57c9 100644 --- a/src/parsers/IPTCfgLexer.cpp +++ b/src/parsers/IPTCfgLexer.cpp @@ -1,4 +1,4 @@ -/* $ANTLR 2.7.4: "iptables.g" -> "IPTCfgLexer.cpp"$ */ +/* $ANTLR 2.7.6 (20070910): "iptables.g" -> "IPTCfgLexer.cpp"$ */ #line 42 "iptables.g" // gets inserted before the antlr generated includes in the cpp @@ -55,25 +55,25 @@ void IPTCfgLexer::initLiterals() literals["multiport"] = 71; literals["tcp"] = 30; literals["NEW"] = 60; - literals["INPUT"] = 9; literals["mark"] = 66; literals["PSH"] = 87; + literals["FORWARD"] = 10; + literals["PREROUTING"] = 12; literals["FIN"] = 84; + literals["OUTPUT"] = 11; literals["RST"] = 85; - literals["RELATED"] = 62; - literals["state"] = 63; literals["icmp"] = 32; + literals["ESTABLISHED"] = 61; literals["ALL"] = 88; literals["URG"] = 86; literals["limit"] = 68; literals["COMMIT"] = 6; literals["INVALID"] = 59; - literals["ESTABLISHED"] = 61; - literals["OUTPUT"] = 11; + literals["state"] = 63; + literals["RELATED"] = 62; literals["ACK"] = 83; - literals["PREROUTING"] = 12; literals["NONE"] = 89; - literals["FORWARD"] = 10; + literals["INPUT"] = 9; literals["POSTROUTING"] = 13; } @@ -172,7 +172,7 @@ ANTLR_USE_NAMESPACE(antlr)RefToken IPTCfgLexer::nextToken() theRetToken=_returnToken; break; } - case 0x22 /* '"' */ : + case 0x22 /* '\"' */ : { mSTRING(true); theRetToken=_returnToken; @@ -578,9 +578,9 @@ tryAgain:; } void IPTCfgLexer::mLINE_COMMENT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = LINE_COMMENT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("#"); { // ( ... )* @@ -591,11 +591,11 @@ void IPTCfgLexer::mLINE_COMMENT(bool _createToken) { } } else { - goto _loop127; + goto _loop128; } } - _loop127:; + _loop128:; } // ( ... )* mNEWLINE(false); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -607,19 +607,19 @@ void IPTCfgLexer::mLINE_COMMENT(bool _createToken) { } void IPTCfgLexer::mNEWLINE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = NEWLINE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; { if ((LA(1) == 0xd /* '\r' */ ) && (LA(2) == 0xa /* '\n' */ )) { match("\r\n"); } else if ((LA(1) == 0xd /* '\r' */ ) && (true)) { - match('\r'); + match('\r' /* charlit */ ); } else if ((LA(1) == 0xa /* '\n' */ )) { - match('\n'); + match('\n' /* charlit */ ); } else { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); @@ -640,9 +640,9 @@ void IPTCfgLexer::mNEWLINE(bool _createToken) { } void IPTCfgLexer::mWhitespace(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = Whitespace; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; { switch ( LA(1)) { @@ -658,17 +658,17 @@ void IPTCfgLexer::mWhitespace(bool _createToken) { } case 0x9 /* '\t' */ : { - match('\t'); + match('\t' /* charlit */ ); break; } case 0xb /* '\13' */ : { - match('\13'); + match('\13' /* charlit */ ); break; } case 0xc /* '\14' */ : { - match('\14'); + match('\14' /* charlit */ ); break; } case 0xe /* '\16' */ : @@ -695,12 +695,12 @@ void IPTCfgLexer::mWhitespace(bool _createToken) { } case 0x20 /* ' ' */ : { - match(' '); + match(' ' /* charlit */ ); break; } default: if (((LA(1) >= 0x7f && LA(1) <= 0xff))) { - matchRange('\177',static_cast(255)); + matchRange('\177',static_cast('\377')); } else { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); @@ -721,9 +721,9 @@ void IPTCfgLexer::mWhitespace(bool _createToken) { } void IPTCfgLexer::mINT_CONST(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = INT_CONST; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -734,9 +734,9 @@ void IPTCfgLexer::mINT_CONST(bool _createToken) { } void IPTCfgLexer::mHEX_CONST(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = HEX_CONST; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -747,9 +747,9 @@ void IPTCfgLexer::mHEX_CONST(bool _createToken) { } void IPTCfgLexer::mNEG_INT_CONST(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = NEG_INT_CONST; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -760,9 +760,9 @@ void IPTCfgLexer::mNEG_INT_CONST(bool _createToken) { } void IPTCfgLexer::mDIGIT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = DIGIT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; matchRange('0','9'); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -774,9 +774,9 @@ void IPTCfgLexer::mDIGIT(bool _createToken) { } void IPTCfgLexer::mHEXDIGIT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = HEXDIGIT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; switch ( LA(1)) { case 0x30 /* '0' */ : @@ -803,6 +803,16 @@ void IPTCfgLexer::mHEXDIGIT(bool _createToken) { matchRange('A','F'); break; } + case 0x61 /* 'a' */ : + case 0x62 /* 'b' */ : + case 0x63 /* 'c' */ : + case 0x64 /* 'd' */ : + case 0x65 /* 'e' */ : + case 0x66 /* 'f' */ : + { + matchRange('a','f'); + break; + } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn()); @@ -817,260 +827,260 @@ void IPTCfgLexer::mHEXDIGIT(bool _createToken) { } void IPTCfgLexer::mNUMBER(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = NUMBER; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; { - bool synPredMatched146 = false; + bool synPredMatched147 = 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) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true))) { - int _m146 = mark(); - synPredMatched146 = true; + int _m147 = mark(); + synPredMatched147 = true; inputState->guessing++; try { { { // ( ... )+ - int _cnt141=0; + int _cnt142=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt141>=1 ) { goto _loop141; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt142>=1 ) { goto _loop142; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt141++; + _cnt142++; } - _loop141:; + _loop142:; } // ( ... )+ mDOT(false); { // ( ... )+ - int _cnt143=0; + int _cnt144=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt143>=1 ) { goto _loop143; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt144>=1 ) { goto _loop144; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt143++; + _cnt144++; } - _loop143:; + _loop144:; } // ( ... )+ mDOT(false); { // ( ... )+ - int _cnt145=0; + int _cnt146=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt145>=1 ) { goto _loop145; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt146>=1 ) { goto _loop146; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt145++; + _cnt146++; } - _loop145:; + _loop146:; } // ( ... )+ } } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) { - synPredMatched146 = false; + synPredMatched147 = false; } - rewind(_m146); + rewind(_m147); inputState->guessing--; } - if ( synPredMatched146 ) { + if ( synPredMatched147 ) { { { // ( ... )+ - int _cnt149=0; + int _cnt150=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt149>=1 ) { goto _loop149; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt150>=1 ) { goto _loop150; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt149++; + _cnt150++; } - _loop149:; + _loop150:; } // ( ... )+ mDOT(false); { // ( ... )+ - int _cnt151=0; + int _cnt152=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt151>=1 ) { goto _loop151; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt152>=1 ) { goto _loop152; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt151++; + _cnt152++; } - _loop151:; + _loop152:; } // ( ... )+ mDOT(false); { // ( ... )+ - int _cnt153=0; + int _cnt154=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt153>=1 ) { goto _loop153; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt154>=1 ) { goto _loop154; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt153++; + _cnt154++; } - _loop153:; + _loop154:; } // ( ... )+ mDOT(false); { // ( ... )+ - int _cnt155=0; + int _cnt156=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt155>=1 ) { goto _loop155; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt156>=1 ) { goto _loop156; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt155++; + _cnt156++; } - _loop155:; + _loop156:; } // ( ... )+ } if ( inputState->guessing==0 ) { #line 993 "iptables.g" _ttype = IPV4; -#line 950 "IPTCfgLexer.cpp" +#line 960 "IPTCfgLexer.cpp" } } else { - bool synPredMatched161 = false; + bool synPredMatched162 = 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) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true))) { - int _m161 = mark(); - synPredMatched161 = true; + int _m162 = mark(); + synPredMatched162 = true; inputState->guessing++; try { { { // ( ... )+ - int _cnt158=0; + int _cnt159=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt158>=1 ) { goto _loop158; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt159>=1 ) { goto _loop159; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt158++; + _cnt159++; } - _loop158:; + _loop159:; } // ( ... )+ mDOT(false); { // ( ... )+ - int _cnt160=0; + int _cnt161=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt160>=1 ) { goto _loop160; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt161>=1 ) { goto _loop161; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt160++; + _cnt161++; } - _loop160:; + _loop161:; } // ( ... )+ } } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& pe) { - synPredMatched161 = false; + synPredMatched162 = false; } - rewind(_m161); + rewind(_m162); inputState->guessing--; } - if ( synPredMatched161 ) { + if ( synPredMatched162 ) { { { // ( ... )+ - int _cnt164=0; + int _cnt165=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt164>=1 ) { goto _loop164; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt165>=1 ) { goto _loop165; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt164++; + _cnt165++; } - _loop164:; + _loop165:; } // ( ... )+ mDOT(false); { // ( ... )+ - int _cnt166=0; + int _cnt167=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt166>=1 ) { goto _loop166; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt167>=1 ) { goto _loop167; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt166++; + _cnt167++; } - _loop166:; + _loop167:; } // ( ... )+ } } else if ((LA(1) == 0x30 /* '0' */ ) && (LA(2) == 0x78 /* 'x' */ )) { { - match('0'); - match('x'); + match('0' /* charlit */ ); + match('x' /* charlit */ ); { // ( ... )+ - int _cnt171=0; + int _cnt172=0; for (;;) { if ((_tokenSet_3.member(LA(1)))) { mHEXDIGIT(false); } else { - if ( _cnt171>=1 ) { goto _loop171; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt172>=1 ) { goto _loop172; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt171++; + _cnt172++; } - _loop171:; + _loop172:; } // ( ... )+ } if ( inputState->guessing==0 ) { #line 999 "iptables.g" _ttype = HEX_CONST; -#line 1053 "IPTCfgLexer.cpp" +#line 1063 "IPTCfgLexer.cpp" } } else if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ )) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true) && (true)) { { // ( ... )+ - int _cnt168=0; + int _cnt169=0; for (;;) { if (((LA(1) >= 0x30 /* '0' */ && LA(1) <= 0x39 /* '9' */ ))) { mDIGIT(false); } else { - if ( _cnt168>=1 ) { goto _loop168; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt169>=1 ) { goto _loop169; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltForCharException(LA(1), getFilename(), getLine(), getColumn());} } - _cnt168++; + _cnt169++; } - _loop168:; + _loop169:; } // ( ... )+ if ( inputState->guessing==0 ) { #line 997 "iptables.g" _ttype = INT_CONST; -#line 1074 "IPTCfgLexer.cpp" +#line 1084 "IPTCfgLexer.cpp" } } else { @@ -1087,11 +1097,11 @@ void IPTCfgLexer::mNUMBER(bool _createToken) { } void IPTCfgLexer::mDOT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = DOT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('.'); + match('.' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -1101,9 +1111,9 @@ void IPTCfgLexer::mDOT(bool _createToken) { } void IPTCfgLexer::mWORD(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = WORD; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; { switch ( LA(1)) { @@ -1169,7 +1179,7 @@ void IPTCfgLexer::mWORD(bool _createToken) { } case 0x24 /* '$' */ : { - match('$'); + match('$' /* charlit */ ); break; } default: @@ -1182,7 +1192,7 @@ void IPTCfgLexer::mWORD(bool _createToken) { for (;;) { switch ( LA(1)) { case 0x21 /* '!' */ : - case 0x22 /* '"' */ : + case 0x22 /* '\"' */ : case 0x23 /* '#' */ : case 0x24 /* '$' */ : case 0x25 /* '%' */ : @@ -1198,17 +1208,17 @@ void IPTCfgLexer::mWORD(bool _createToken) { } case 0x2d /* '-' */ : { - match('-'); + match('-' /* charlit */ ); break; } case 0x2e /* '.' */ : { - match('.'); + match('.' /* charlit */ ); break; } case 0x2f /* '/' */ : { - match('/'); + match('/' /* charlit */ ); break; } case 0x30 /* '0' */ : @@ -1227,37 +1237,37 @@ void IPTCfgLexer::mWORD(bool _createToken) { } case 0x3a /* ':' */ : { - match(':'); + match(':' /* charlit */ ); break; } case 0x3b /* ';' */ : { - match(';'); + match(';' /* charlit */ ); break; } case 0x3c /* '<' */ : { - match('<'); + match('<' /* charlit */ ); break; } case 0x3d /* '=' */ : { - match('='); + match('=' /* charlit */ ); break; } case 0x3e /* '>' */ : { - match('>'); + match('>' /* charlit */ ); break; } case 0x3f /* '?' */ : { - match('?'); + match('?' /* charlit */ ); break; } case 0x40 /* '@' */ : { - match('@'); + match('@' /* charlit */ ); break; } case 0x41 /* 'A' */ : @@ -1292,17 +1302,17 @@ void IPTCfgLexer::mWORD(bool _createToken) { } case 0x5e /* '^' */ : { - match('^'); + match('^' /* charlit */ ); break; } case 0x5f /* '_' */ : { - match('_'); + match('_' /* charlit */ ); break; } case 0x60 /* '`' */ : { - match('`'); + match('`' /* charlit */ ); break; } case 0x61 /* 'a' */ : @@ -1337,11 +1347,11 @@ void IPTCfgLexer::mWORD(bool _createToken) { } default: { - goto _loop175; + goto _loop176; } } } - _loop175:; + _loop176:; } // ( ... )* if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -1352,24 +1362,24 @@ void IPTCfgLexer::mWORD(bool _createToken) { } void IPTCfgLexer::mSTRING(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = STRING; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('"'); + match('\"' /* charlit */ ); { // ( ... )* for (;;) { if ((_tokenSet_4.member(LA(1)))) { - matchNot('"'); + matchNot('\"' /* charlit */ ); } else { - goto _loop178; + goto _loop179; } } - _loop178:; + _loop179:; } // ( ... )* - match('"'); + match('\"' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -1379,9 +1389,9 @@ void IPTCfgLexer::mSTRING(bool _createToken) { } void IPTCfgLexer::mUNSUPPORTED_OPTION(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = UNSUPPORTED_OPTION; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -1392,15 +1402,15 @@ void IPTCfgLexer::mUNSUPPORTED_OPTION(bool _createToken) { } void IPTCfgLexer::mSECONDS(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = SECONDS; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--seconds"); if ( inputState->guessing==0 ) { #line 1015 "iptables.g" _ttype = UNSUPPORTED_OPTION; -#line 1404 "IPTCfgLexer.cpp" +#line 1414 "IPTCfgLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -1411,15 +1421,15 @@ void IPTCfgLexer::mSECONDS(bool _createToken) { } void IPTCfgLexer::mSET(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = SET; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--set"); if ( inputState->guessing==0 ) { #line 1018 "iptables.g" _ttype = UNSUPPORTED_OPTION; -#line 1423 "IPTCfgLexer.cpp" +#line 1433 "IPTCfgLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -1430,15 +1440,15 @@ void IPTCfgLexer::mSET(bool _createToken) { } void IPTCfgLexer::mRSOURCE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = RSOURCE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--rsource"); if ( inputState->guessing==0 ) { #line 1021 "iptables.g" _ttype = UNSUPPORTED_OPTION; -#line 1442 "IPTCfgLexer.cpp" +#line 1452 "IPTCfgLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -1449,9 +1459,9 @@ void IPTCfgLexer::mRSOURCE(bool _createToken) { } void IPTCfgLexer::mADD_RULE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = ADD_RULE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("-A"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1463,9 +1473,9 @@ void IPTCfgLexer::mADD_RULE(bool _createToken) { } void IPTCfgLexer::mMATCH_STATE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_STATE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--state"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1477,9 +1487,9 @@ void IPTCfgLexer::mMATCH_STATE(bool _createToken) { } void IPTCfgLexer::mMATCH_SRC_MULTIPORT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_SRC_MULTIPORT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--source-ports"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1491,9 +1501,9 @@ void IPTCfgLexer::mMATCH_SRC_MULTIPORT(bool _createToken) { } void IPTCfgLexer::mMATCH_DST_MULTIPORT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_DST_MULTIPORT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--destination-ports"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1505,9 +1515,9 @@ void IPTCfgLexer::mMATCH_DST_MULTIPORT(bool _createToken) { } void IPTCfgLexer::mMATCH_SRC_MULTIPORT_SHORT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_SRC_MULTIPORT_SHORT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--sports"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1519,9 +1529,9 @@ void IPTCfgLexer::mMATCH_SRC_MULTIPORT_SHORT(bool _createToken) { } void IPTCfgLexer::mMATCH_DST_MULTIPORT_SHORT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_DST_MULTIPORT_SHORT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--dports"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1533,9 +1543,9 @@ void IPTCfgLexer::mMATCH_DST_MULTIPORT_SHORT(bool _createToken) { } void IPTCfgLexer::mMATCH_SRC_PORT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_SRC_PORT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--source-port"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1547,9 +1557,9 @@ void IPTCfgLexer::mMATCH_SRC_PORT(bool _createToken) { } void IPTCfgLexer::mMATCH_DST_PORT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_DST_PORT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--destination-port"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1561,9 +1571,9 @@ void IPTCfgLexer::mMATCH_DST_PORT(bool _createToken) { } void IPTCfgLexer::mMATCH_SYN(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_SYN; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--syn"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1575,9 +1585,9 @@ void IPTCfgLexer::mMATCH_SYN(bool _createToken) { } void IPTCfgLexer::mMATCH_TCP_FLAGS(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_TCP_FLAGS; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--tcp-flags"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1589,9 +1599,9 @@ void IPTCfgLexer::mMATCH_TCP_FLAGS(bool _createToken) { } void IPTCfgLexer::mMATCH_TCP_OPTION(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_TCP_OPTION; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--tcp-option"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1603,9 +1613,9 @@ void IPTCfgLexer::mMATCH_TCP_OPTION(bool _createToken) { } void IPTCfgLexer::mMATCH_SRC_PORT_SHORT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_SRC_PORT_SHORT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--sport"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1617,9 +1627,9 @@ void IPTCfgLexer::mMATCH_SRC_PORT_SHORT(bool _createToken) { } void IPTCfgLexer::mMATCH_DST_PORT_SHORT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_DST_PORT_SHORT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--dport"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1631,9 +1641,9 @@ void IPTCfgLexer::mMATCH_DST_PORT_SHORT(bool _createToken) { } void IPTCfgLexer::mMATCH_ICMP_TYPE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_ICMP_TYPE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--icmp-type"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1645,9 +1655,9 @@ void IPTCfgLexer::mMATCH_ICMP_TYPE(bool _createToken) { } void IPTCfgLexer::mMATCH_MARK(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_MARK; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--mark"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1659,9 +1669,9 @@ void IPTCfgLexer::mMATCH_MARK(bool _createToken) { } void IPTCfgLexer::mMATCH_LIMIT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_LIMIT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--limit"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1673,9 +1683,9 @@ void IPTCfgLexer::mMATCH_LIMIT(bool _createToken) { } void IPTCfgLexer::mMATCH_LIMIT_BURST(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MATCH_LIMIT_BURST; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--limit-burst"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1687,9 +1697,9 @@ void IPTCfgLexer::mMATCH_LIMIT_BURST(bool _createToken) { } void IPTCfgLexer::mREJECT_WITH(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = REJECT_WITH; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--reject-with"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1701,9 +1711,9 @@ void IPTCfgLexer::mREJECT_WITH(bool _createToken) { } void IPTCfgLexer::mSET_MARK(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = SET_MARK; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--set-mark"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1715,9 +1725,9 @@ void IPTCfgLexer::mSET_MARK(bool _createToken) { } void IPTCfgLexer::mSAVE_MARK(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = SAVE_MARK; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--save-mark"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1729,9 +1739,9 @@ void IPTCfgLexer::mSAVE_MARK(bool _createToken) { } void IPTCfgLexer::mRESTORE_MARK(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = RESTORE_MARK; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--restore-mark"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1743,9 +1753,9 @@ void IPTCfgLexer::mRESTORE_MARK(bool _createToken) { } void IPTCfgLexer::mSET_TOS(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = SET_TOS; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--set-tos"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1757,9 +1767,9 @@ void IPTCfgLexer::mSET_TOS(bool _createToken) { } void IPTCfgLexer::mCONTINUE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = CONTINUE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--continue"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1771,9 +1781,9 @@ void IPTCfgLexer::mCONTINUE(bool _createToken) { } void IPTCfgLexer::mROUTE_IIF(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = ROUTE_IIF; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--iif"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1785,9 +1795,9 @@ void IPTCfgLexer::mROUTE_IIF(bool _createToken) { } void IPTCfgLexer::mROUTE_OIF(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = ROUTE_OIF; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--oif"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1799,9 +1809,9 @@ void IPTCfgLexer::mROUTE_OIF(bool _createToken) { } void IPTCfgLexer::mROUTE_GW(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = ROUTE_GW; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--gw"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1813,9 +1823,9 @@ void IPTCfgLexer::mROUTE_GW(bool _createToken) { } void IPTCfgLexer::mROUTE_TEE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = ROUTE_TEE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--tee"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1827,9 +1837,9 @@ void IPTCfgLexer::mROUTE_TEE(bool _createToken) { } void IPTCfgLexer::mLOG_PREFIX(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = LOG_PREFIX; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--log-prefix"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1841,9 +1851,9 @@ void IPTCfgLexer::mLOG_PREFIX(bool _createToken) { } void IPTCfgLexer::mLOG_LEVEL(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = LOG_LEVEL; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--log-level"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1855,9 +1865,9 @@ void IPTCfgLexer::mLOG_LEVEL(bool _createToken) { } void IPTCfgLexer::mLOG_TCP_SEQ(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = LOG_TCP_SEQ; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--log-tcp-sequence"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1869,9 +1879,9 @@ void IPTCfgLexer::mLOG_TCP_SEQ(bool _createToken) { } void IPTCfgLexer::mLOG_TCP_OPT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = LOG_TCP_OPT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--log-tcp-options"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1883,9 +1893,9 @@ void IPTCfgLexer::mLOG_TCP_OPT(bool _createToken) { } void IPTCfgLexer::mLOG_IP_OPT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = LOG_IP_OPT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--log-ip-options"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1897,9 +1907,9 @@ void IPTCfgLexer::mLOG_IP_OPT(bool _createToken) { } void IPTCfgLexer::mULOG_PREFIX(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = ULOG_PREFIX; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--ulog-prefix"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1911,15 +1921,15 @@ void IPTCfgLexer::mULOG_PREFIX(bool _createToken) { } void IPTCfgLexer::mULOG_QTHR(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = ULOG_QTHR; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--ulog-qthreshold"); if ( inputState->guessing==0 ) { #line 1069 "iptables.g" _ttype = UNSUPPORTED_OPTION; -#line 1923 "IPTCfgLexer.cpp" +#line 1933 "IPTCfgLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -1930,15 +1940,15 @@ void IPTCfgLexer::mULOG_QTHR(bool _createToken) { } void IPTCfgLexer::mULOG_NLG(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = ULOG_NLG; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--ulog-nlgroup"); if ( inputState->guessing==0 ) { #line 1070 "iptables.g" _ttype = UNSUPPORTED_OPTION; -#line 1942 "IPTCfgLexer.cpp" +#line 1952 "IPTCfgLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -1949,15 +1959,15 @@ void IPTCfgLexer::mULOG_NLG(bool _createToken) { } void IPTCfgLexer::mULOG_CPR(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = ULOG_CPR; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--ulog-cprange"); if ( inputState->guessing==0 ) { #line 1071 "iptables.g" _ttype = UNSUPPORTED_OPTION; -#line 1961 "IPTCfgLexer.cpp" +#line 1971 "IPTCfgLexer.cpp" } if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); @@ -1968,9 +1978,9 @@ void IPTCfgLexer::mULOG_CPR(bool _createToken) { } void IPTCfgLexer::mTO_SOURCE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = TO_SOURCE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--to-source"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1982,9 +1992,9 @@ void IPTCfgLexer::mTO_SOURCE(bool _createToken) { } void IPTCfgLexer::mTO_DESTINATION(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = TO_DESTINATION; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--to-destination"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -1996,9 +2006,9 @@ void IPTCfgLexer::mTO_DESTINATION(bool _createToken) { } void IPTCfgLexer::mTO_PORTS(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = TO_PORTS; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--to-ports"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -2010,9 +2020,9 @@ void IPTCfgLexer::mTO_PORTS(bool _createToken) { } void IPTCfgLexer::mTO_NETMAP(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = TO_NETMAP; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--to"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -2024,9 +2034,9 @@ void IPTCfgLexer::mTO_NETMAP(bool _createToken) { } void IPTCfgLexer::mCLAMP_MSS(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = CLAMP_MSS; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("--clamp-mss-to-pmtu"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -2038,9 +2048,9 @@ void IPTCfgLexer::mCLAMP_MSS(bool _createToken) { } void IPTCfgLexer::mOPT_MODULE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = OPT_MODULE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("-m"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -2052,9 +2062,9 @@ void IPTCfgLexer::mOPT_MODULE(bool _createToken) { } void IPTCfgLexer::mOPT_SRC(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = OPT_SRC; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("-s"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -2066,9 +2076,9 @@ void IPTCfgLexer::mOPT_SRC(bool _createToken) { } void IPTCfgLexer::mOPT_DST(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = OPT_DST; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("-d"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -2080,9 +2090,9 @@ void IPTCfgLexer::mOPT_DST(bool _createToken) { } void IPTCfgLexer::mOPT_IN_INTF(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = OPT_IN_INTF; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("-i"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -2094,9 +2104,9 @@ void IPTCfgLexer::mOPT_IN_INTF(bool _createToken) { } void IPTCfgLexer::mOPT_OUT_INTF(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = OPT_OUT_INTF; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("-o"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -2108,9 +2118,9 @@ void IPTCfgLexer::mOPT_OUT_INTF(bool _createToken) { } void IPTCfgLexer::mOPT_PROTO(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = OPT_PROTO; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("-p"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -2122,9 +2132,9 @@ void IPTCfgLexer::mOPT_PROTO(bool _createToken) { } void IPTCfgLexer::mOPT_TARGET(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = OPT_TARGET; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("-j"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -2136,9 +2146,9 @@ void IPTCfgLexer::mOPT_TARGET(bool _createToken) { } void IPTCfgLexer::mOPT_FRAGM(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = OPT_FRAGM; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; match("-f"); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { @@ -2150,11 +2160,11 @@ void IPTCfgLexer::mOPT_FRAGM(bool _createToken) { } void IPTCfgLexer::mEXCLAMATION(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = EXCLAMATION; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('!'); + match('!' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2164,11 +2174,11 @@ void IPTCfgLexer::mEXCLAMATION(bool _createToken) { } void IPTCfgLexer::mNUMBER_SIGN(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = NUMBER_SIGN; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('#'); + match('#' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2178,11 +2188,11 @@ void IPTCfgLexer::mNUMBER_SIGN(bool _createToken) { } void IPTCfgLexer::mPERCENT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = PERCENT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('%'); + match('%' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2192,11 +2202,11 @@ void IPTCfgLexer::mPERCENT(bool _createToken) { } void IPTCfgLexer::mAMPERSAND(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = AMPERSAND; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('&'); + match('&' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2206,11 +2216,11 @@ void IPTCfgLexer::mAMPERSAND(bool _createToken) { } void IPTCfgLexer::mAPOSTROPHE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = APOSTROPHE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('\''); + match('\'' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2220,11 +2230,11 @@ void IPTCfgLexer::mAPOSTROPHE(bool _createToken) { } void IPTCfgLexer::mOPENING_PAREN(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = OPENING_PAREN; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('('); + match('(' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2234,11 +2244,11 @@ void IPTCfgLexer::mOPENING_PAREN(bool _createToken) { } void IPTCfgLexer::mCLOSING_PAREN(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = CLOSING_PAREN; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match(')'); + match(')' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2248,11 +2258,11 @@ void IPTCfgLexer::mCLOSING_PAREN(bool _createToken) { } void IPTCfgLexer::mSTAR(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = STAR; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('*'); + match('*' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2262,11 +2272,11 @@ void IPTCfgLexer::mSTAR(bool _createToken) { } void IPTCfgLexer::mPLUS(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = PLUS; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('+'); + match('+' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2276,11 +2286,11 @@ void IPTCfgLexer::mPLUS(bool _createToken) { } void IPTCfgLexer::mCOMMA(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = COMMA; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match(','); + match(',' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2290,11 +2300,11 @@ void IPTCfgLexer::mCOMMA(bool _createToken) { } void IPTCfgLexer::mMINUS(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = MINUS; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('-'); + match('-' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2304,11 +2314,11 @@ void IPTCfgLexer::mMINUS(bool _createToken) { } void IPTCfgLexer::mSLASH(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = SLASH; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('/'); + match('/' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2318,11 +2328,11 @@ void IPTCfgLexer::mSLASH(bool _createToken) { } void IPTCfgLexer::mCOLON(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = COLON; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match(':'); + match(':' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2332,11 +2342,11 @@ void IPTCfgLexer::mCOLON(bool _createToken) { } void IPTCfgLexer::mSEMICOLON(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = SEMICOLON; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match(';'); + match(';' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2346,11 +2356,11 @@ void IPTCfgLexer::mSEMICOLON(bool _createToken) { } void IPTCfgLexer::mLESS_THAN(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = LESS_THAN; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('<'); + match('<' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2360,11 +2370,11 @@ void IPTCfgLexer::mLESS_THAN(bool _createToken) { } void IPTCfgLexer::mEQUALS(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = EQUALS; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('='); + match('=' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2374,11 +2384,11 @@ void IPTCfgLexer::mEQUALS(bool _createToken) { } void IPTCfgLexer::mGREATER_THAN(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = GREATER_THAN; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('>'); + match('>' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2388,11 +2398,11 @@ void IPTCfgLexer::mGREATER_THAN(bool _createToken) { } void IPTCfgLexer::mQUESTION(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = QUESTION; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('?'); + match('?' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2402,11 +2412,11 @@ void IPTCfgLexer::mQUESTION(bool _createToken) { } void IPTCfgLexer::mCOMMERCIAL_AT(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = COMMERCIAL_AT; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('@'); + match('@' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2416,11 +2426,11 @@ void IPTCfgLexer::mCOMMERCIAL_AT(bool _createToken) { } void IPTCfgLexer::mOPENING_SQUARE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = OPENING_SQUARE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('['); + match('[' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2430,11 +2440,11 @@ void IPTCfgLexer::mOPENING_SQUARE(bool _createToken) { } void IPTCfgLexer::mCLOSING_SQUARE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = CLOSING_SQUARE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match(']'); + match(']' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2444,11 +2454,11 @@ void IPTCfgLexer::mCLOSING_SQUARE(bool _createToken) { } void IPTCfgLexer::mCARET(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = CARET; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('^'); + match('^' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2458,11 +2468,11 @@ void IPTCfgLexer::mCARET(bool _createToken) { } void IPTCfgLexer::mUNDERLINE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = UNDERLINE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('_'); + match('_' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2472,11 +2482,11 @@ void IPTCfgLexer::mUNDERLINE(bool _createToken) { } void IPTCfgLexer::mOPENING_BRACE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = OPENING_BRACE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('{'); + match('{' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2486,11 +2496,11 @@ void IPTCfgLexer::mOPENING_BRACE(bool _createToken) { } void IPTCfgLexer::mCLOSING_BRACE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = CLOSING_BRACE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('}'); + match('}' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2500,11 +2510,11 @@ void IPTCfgLexer::mCLOSING_BRACE(bool _createToken) { } void IPTCfgLexer::mTILDE(bool _createToken) { - int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; int _begin=text.length(); + int _ttype; ANTLR_USE_NAMESPACE(antlr)RefToken _token; ANTLR_USE_NAMESPACE(std)string::size_type _begin = text.length(); _ttype = TILDE; - int _saveIndex; + ANTLR_USE_NAMESPACE(std)string::size_type _saveIndex; - match('~'); + match('~' /* charlit */ ); if ( _createToken && _token==ANTLR_USE_NAMESPACE(antlr)nullToken && _ttype!=ANTLR_USE_NAMESPACE(antlr)Token::SKIP ) { _token = makeToken(_ttype); _token->setText(text.substr(_begin, text.length()-_begin)); @@ -2520,22 +2530,22 @@ const unsigned long IPTCfgLexer::_tokenSet_0_data_[] = { 4294958072UL, 1UL, 0UL, const ANTLR_USE_NAMESPACE(antlr)BitSet IPTCfgLexer::_tokenSet_0(_tokenSet_0_data_,16); const unsigned long IPTCfgLexer::_tokenSet_1_data_[] = { 4294958072UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // 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 O P Q R S T U V W X Y Z [ \\ ] ^ _ ` a b c d e f g h i j -// k l m n o p q r s t u v w x +// 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 O P Q R S T U V W X Y Z [ 0x5c ] ^ _ ` a b c d e f g h +// i j k l m n o p q r s t u v w x const ANTLR_USE_NAMESPACE(antlr)BitSet IPTCfgLexer::_tokenSet_1(_tokenSet_1_data_,16); const unsigned long IPTCfgLexer::_tokenSet_2_data_[] = { 0UL, 67059712UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // . 0 1 2 3 4 5 6 7 8 9 const ANTLR_USE_NAMESPACE(antlr)BitSet IPTCfgLexer::_tokenSet_2(_tokenSet_2_data_,10); -const unsigned long IPTCfgLexer::_tokenSet_3_data_[] = { 0UL, 67043328UL, 126UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; -// 0 1 2 3 4 5 6 7 8 9 A B C D E F +const unsigned long IPTCfgLexer::_tokenSet_3_data_[] = { 0UL, 67043328UL, 126UL, 126UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +// 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f const ANTLR_USE_NAMESPACE(antlr)BitSet IPTCfgLexer::_tokenSet_3(_tokenSet_3_data_,10); const unsigned long IPTCfgLexer::_tokenSet_4_data_[] = { 4294967288UL, 4294967291UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // 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 O P Q R S T U V W X Y Z [ \\ ] ^ _ ` a b c d e f g h -// i j k l m n o p q r s t u v w x +// G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ ` a b c d e f g +// h i j k l m n o p q r s t u v w x const ANTLR_USE_NAMESPACE(antlr)BitSet IPTCfgLexer::_tokenSet_4(_tokenSet_4_data_,16); diff --git a/src/parsers/IPTCfgLexer.hpp b/src/parsers/IPTCfgLexer.hpp index a2e0d5b56..e8f7b38c8 100644 --- a/src/parsers/IPTCfgLexer.hpp +++ b/src/parsers/IPTCfgLexer.hpp @@ -8,7 +8,7 @@ #line 10 "IPTCfgLexer.hpp" #include -/* $ANTLR 2.7.4: "iptables.g" -> "IPTCfgLexer.hpp"$ */ +/* $ANTLR 2.7.6 (20070910): "iptables.g" -> "IPTCfgLexer.hpp"$ */ #include #include #include diff --git a/src/parsers/IPTCfgParser.cpp b/src/parsers/IPTCfgParser.cpp index 2198df364..532a141bf 100644 --- a/src/parsers/IPTCfgParser.cpp +++ b/src/parsers/IPTCfgParser.cpp @@ -1,4 +1,4 @@ -/* $ANTLR 2.7.4: "iptables.g" -> "IPTCfgParser.cpp"$ */ +/* $ANTLR 2.7.6 (20070910): "iptables.g" -> "IPTCfgParser.cpp"$ */ #line 42 "iptables.g" // gets inserted before the antlr generated includes in the cpp @@ -99,8 +99,7 @@ void IPTCfgParser::cfgfile() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_0); + recover(ex,_tokenSet_0); } } @@ -111,8 +110,7 @@ void IPTCfgParser::comment() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_1); + recover(ex,_tokenSet_1); } } @@ -126,12 +124,11 @@ void IPTCfgParser::start_table() { importer->current_table = LT(0)->getText(); *dbg << "TABLE " << LT(0)->getText() << std::endl; -#line 130 "IPTCfgParser.cpp" +#line 128 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_1); + recover(ex,_tokenSet_1); } } @@ -145,7 +142,7 @@ void IPTCfgParser::create_chain() { importer->newUnidirRuleSet(LT(0)->getText()); *dbg << "NEW CHAIN " << LT(0)->getText() << std::endl; -#line 149 "IPTCfgParser.cpp" +#line 146 "IPTCfgParser.cpp" { switch ( LA(1)) { case WORD: @@ -194,8 +191,7 @@ void IPTCfgParser::create_chain() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_1); + recover(ex,_tokenSet_1); } } @@ -218,7 +214,7 @@ void IPTCfgParser::add_rule() { *dbg << "add_rule: line=" << LT(0)->getLine() << " chain=" << LT(0)->getText(); -#line 222 "IPTCfgParser.cpp" +#line 218 "IPTCfgParser.cpp" { // ( ... )+ int _cnt14=0; for (;;) { @@ -237,8 +233,7 @@ void IPTCfgParser::add_rule() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_1); + recover(ex,_tokenSet_1); } } @@ -254,12 +249,11 @@ void IPTCfgParser::commit() { // clear current table importer->current_table = ""; -#line 258 "IPTCfgParser.cpp" +#line 253 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_1); + recover(ex,_tokenSet_1); } } @@ -307,8 +301,7 @@ void IPTCfgParser::chain_def() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_3); + recover(ex,_tokenSet_3); } } @@ -416,8 +409,7 @@ void IPTCfgParser::ipt_option() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -476,8 +468,7 @@ void IPTCfgParser::module() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -489,7 +480,7 @@ void IPTCfgParser::src() { *dbg << " SRC="; -#line 493 "IPTCfgParser.cpp" +#line 484 "IPTCfgParser.cpp" { switch ( LA(1)) { case EXCLAMATION: @@ -499,7 +490,7 @@ void IPTCfgParser::src() { importer->src_neg = true; -#line 503 "IPTCfgParser.cpp" +#line 494 "IPTCfgParser.cpp" break; } case WORD: @@ -537,7 +528,7 @@ void IPTCfgParser::src() { importer->src_a = LT(0)->getText(); *dbg << LT(0)->getText(); -#line 541 "IPTCfgParser.cpp" +#line 532 "IPTCfgParser.cpp" { switch ( LA(1)) { case SLASH: @@ -566,7 +557,7 @@ void IPTCfgParser::src() { importer->src_nm = LT(0)->getText(); *dbg << "/" << LT(0)->getText(); -#line 570 "IPTCfgParser.cpp" +#line 561 "IPTCfgParser.cpp" break; } case NEWLINE: @@ -609,8 +600,7 @@ void IPTCfgParser::src() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -622,7 +612,7 @@ void IPTCfgParser::dst() { *dbg << " DST="; -#line 626 "IPTCfgParser.cpp" +#line 616 "IPTCfgParser.cpp" { switch ( LA(1)) { case EXCLAMATION: @@ -632,7 +622,7 @@ void IPTCfgParser::dst() { importer->dst_neg = true; -#line 636 "IPTCfgParser.cpp" +#line 626 "IPTCfgParser.cpp" break; } case WORD: @@ -670,7 +660,7 @@ void IPTCfgParser::dst() { importer->dst_a = LT(0)->getText(); *dbg << LT(0)->getText(); -#line 674 "IPTCfgParser.cpp" +#line 664 "IPTCfgParser.cpp" { switch ( LA(1)) { case SLASH: @@ -699,7 +689,7 @@ void IPTCfgParser::dst() { importer->dst_nm = LT(0)->getText(); *dbg << "/" << LT(0)->getText(); -#line 703 "IPTCfgParser.cpp" +#line 693 "IPTCfgParser.cpp" break; } case NEWLINE: @@ -742,8 +732,7 @@ void IPTCfgParser::dst() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -761,7 +750,7 @@ void IPTCfgParser::i_intf() { importer->intf_neg = true; -#line 765 "IPTCfgParser.cpp" +#line 754 "IPTCfgParser.cpp" break; } case WORD: @@ -781,12 +770,11 @@ void IPTCfgParser::i_intf() { importer->i_intf = LT(0)->getText(); *dbg << " I_INTF=" << i->getText(); -#line 785 "IPTCfgParser.cpp" +#line 774 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -804,7 +792,7 @@ void IPTCfgParser::o_intf() { importer->intf_neg = true; -#line 808 "IPTCfgParser.cpp" +#line 796 "IPTCfgParser.cpp" break; } case WORD: @@ -824,12 +812,11 @@ void IPTCfgParser::o_intf() { importer->o_intf = LT(0)->getText(); *dbg << " O_INTF=" << i->getText(); -#line 828 "IPTCfgParser.cpp" +#line 816 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -846,7 +833,7 @@ void IPTCfgParser::proto() { importer->srv_neg = true; -#line 850 "IPTCfgParser.cpp" +#line 837 "IPTCfgParser.cpp" break; } case WORD: @@ -874,12 +861,11 @@ void IPTCfgParser::proto() { ::tolower); *dbg << " PROTO=" << importer->protocol; -#line 878 "IPTCfgParser.cpp" +#line 865 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -895,7 +881,7 @@ void IPTCfgParser::target() { importer->target = LT(0)->getText(); *dbg << " TARGET=" << t->getText(); -#line 899 "IPTCfgParser.cpp" +#line 885 "IPTCfgParser.cpp" { // ( ... )* for (;;) { if ((_tokenSet_5.member(LA(1)))) { @@ -911,8 +897,7 @@ void IPTCfgParser::target() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -925,12 +910,11 @@ void IPTCfgParser::fragm() { importer->fragments = true; *dbg << " FRAGM"; -#line 929 "IPTCfgParser.cpp" +#line 914 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -948,7 +932,7 @@ void IPTCfgParser::icmp_type_spec() { importer->icmp_spec = LT(0)->getText(); *dbg << " ICMP_SPEC=" << LT(0)->getText(); -#line 952 "IPTCfgParser.cpp" +#line 936 "IPTCfgParser.cpp" break; } case INT_CONST: @@ -961,7 +945,7 @@ void IPTCfgParser::icmp_type_spec() { importer->icmp_code = "-1"; *dbg << " ICMP_TYPE=" << LT(0)->getText(); -#line 965 "IPTCfgParser.cpp" +#line 949 "IPTCfgParser.cpp" { switch ( LA(1)) { case SLASH: @@ -973,7 +957,7 @@ void IPTCfgParser::icmp_type_spec() { importer->icmp_code = LT(0)->getText(); *dbg << " ICMP_CODE=" << LT(0)->getText(); -#line 977 "IPTCfgParser.cpp" +#line 961 "IPTCfgParser.cpp" break; } case NEWLINE: @@ -1024,8 +1008,7 @@ void IPTCfgParser::icmp_type_spec() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1063,7 +1046,7 @@ void IPTCfgParser::basic_tcp_udp_port_spec() { importer->srv_neg = true; -#line 1067 "IPTCfgParser.cpp" +#line 1050 "IPTCfgParser.cpp" break; } case WORD: @@ -1082,7 +1065,7 @@ void IPTCfgParser::basic_tcp_udp_port_spec() { importer->pushTmpPortSpecToSrcPortList(); -#line 1086 "IPTCfgParser.cpp" +#line 1069 "IPTCfgParser.cpp" break; } case MATCH_DST_PORT: @@ -1115,7 +1098,7 @@ void IPTCfgParser::basic_tcp_udp_port_spec() { importer->srv_neg = true; -#line 1119 "IPTCfgParser.cpp" +#line 1102 "IPTCfgParser.cpp" break; } case WORD: @@ -1134,7 +1117,7 @@ void IPTCfgParser::basic_tcp_udp_port_spec() { importer->pushTmpPortSpecToDstPortList(); -#line 1138 "IPTCfgParser.cpp" +#line 1121 "IPTCfgParser.cpp" break; } default: @@ -1145,8 +1128,7 @@ void IPTCfgParser::basic_tcp_udp_port_spec() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1182,15 +1164,15 @@ void IPTCfgParser::multiport_tcp_udp_port_spec() { importer->startSrcMultiPort(); *dbg << " SRC MULTIPORT="; -#line 1186 "IPTCfgParser.cpp" +#line 1168 "IPTCfgParser.cpp" port_def_no_range(); #line 678 "iptables.g" importer->pushTmpPortSpecToSrcPortList(); -#line 1192 "IPTCfgParser.cpp" +#line 1174 "IPTCfgParser.cpp" { // ( ... )+ - int _cnt85=0; + int _cnt86=0; for (;;) { if ((LA(1) == COMMA)) { match(COMMA); @@ -1199,15 +1181,15 @@ void IPTCfgParser::multiport_tcp_udp_port_spec() { importer->pushTmpPortSpecToSrcPortList(); -#line 1203 "IPTCfgParser.cpp" +#line 1185 "IPTCfgParser.cpp" } else { - if ( _cnt85>=1 ) { goto _loop85; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());} + if ( _cnt86>=1 ) { goto _loop86; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());} } - _cnt85++; + _cnt86++; } - _loop85:; + _loop86:; } // ( ... )+ } break; @@ -1239,15 +1221,15 @@ void IPTCfgParser::multiport_tcp_udp_port_spec() { importer->startDstMultiPort(); *dbg << " DST MULTIPORT="; -#line 1243 "IPTCfgParser.cpp" +#line 1225 "IPTCfgParser.cpp" port_def_no_range(); #line 693 "iptables.g" importer->pushTmpPortSpecToDstPortList(); -#line 1249 "IPTCfgParser.cpp" +#line 1231 "IPTCfgParser.cpp" { // ( ... )+ - int _cnt89=0; + int _cnt90=0; for (;;) { if ((LA(1) == COMMA)) { match(COMMA); @@ -1256,15 +1238,15 @@ void IPTCfgParser::multiport_tcp_udp_port_spec() { importer->pushTmpPortSpecToDstPortList(); -#line 1260 "IPTCfgParser.cpp" +#line 1242 "IPTCfgParser.cpp" } else { - if ( _cnt89>=1 ) { goto _loop89; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());} + if ( _cnt90>=1 ) { goto _loop90; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());} } - _cnt89++; + _cnt90++; } - _loop89:; + _loop90:; } // ( ... )+ } break; @@ -1278,8 +1260,7 @@ void IPTCfgParser::multiport_tcp_udp_port_spec() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1313,8 +1294,7 @@ void IPTCfgParser::tcp_options() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1328,12 +1308,11 @@ void IPTCfgParser::match_mark() { importer->match_mark = LT(0)->getText(); *dbg << " MATCH MARK " << LT(0)->getText(); -#line 1332 "IPTCfgParser.cpp" +#line 1312 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1345,8 +1324,7 @@ void IPTCfgParser::match_limit() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1360,12 +1338,11 @@ void IPTCfgParser::match_limit_burst() { importer->limit_burst = LT(0)->getText(); *dbg << " LIMIT BURST " << LT(0)->getText(); -#line 1364 "IPTCfgParser.cpp" +#line 1342 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1382,7 +1359,7 @@ void IPTCfgParser::unknown_option() { std::string("Unknown option: -")+LT(0)->getText()); *dbg << " UNKNOWN OPTION=-" << LT(0)->getText(); -#line 1386 "IPTCfgParser.cpp" +#line 1363 "IPTCfgParser.cpp" { switch ( LA(1)) { case WORD: @@ -1443,7 +1420,7 @@ void IPTCfgParser::unknown_option() { std::string("Unknown option: --")+LT(0)->getText()); *dbg << " UNKNOWN OPTION=--" << LT(0)->getText(); -#line 1447 "IPTCfgParser.cpp" +#line 1424 "IPTCfgParser.cpp" { switch ( LA(1)) { case WORD: @@ -1500,7 +1477,7 @@ void IPTCfgParser::unknown_option() { std::string("Unknown option: ")+LT(0)->getText()); *dbg << " UNKNOWN OPTION=" << LT(0)->getText(); -#line 1504 "IPTCfgParser.cpp" +#line 1481 "IPTCfgParser.cpp" { switch ( LA(1)) { case WORD: @@ -1555,8 +1532,7 @@ void IPTCfgParser::unknown_option() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1566,7 +1542,7 @@ void IPTCfgParser::unknown_parameter() { if ((LA(1) == INT_CONST || LA(1) == DIGIT) && (LA(2) == SLASH)) { #line 240 "iptables.g" std::string s; -#line 1570 "IPTCfgParser.cpp" +#line 1546 "IPTCfgParser.cpp" { { { @@ -1576,7 +1552,7 @@ void IPTCfgParser::unknown_parameter() { match(DIGIT); #line 244 "iptables.g" s+=LT(0)->getText(); -#line 1580 "IPTCfgParser.cpp" +#line 1556 "IPTCfgParser.cpp" break; } case INT_CONST: @@ -1584,7 +1560,7 @@ void IPTCfgParser::unknown_parameter() { match(INT_CONST); #line 246 "iptables.g" s+=LT(0)->getText(); -#line 1588 "IPTCfgParser.cpp" +#line 1564 "IPTCfgParser.cpp" break; } default: @@ -1596,11 +1572,11 @@ void IPTCfgParser::unknown_parameter() { match(SLASH); #line 248 "iptables.g" s+=LT(0)->getText(); -#line 1600 "IPTCfgParser.cpp" +#line 1576 "IPTCfgParser.cpp" match(WORD); #line 249 "iptables.g" s+=LT(0)->getText(); -#line 1604 "IPTCfgParser.cpp" +#line 1580 "IPTCfgParser.cpp" } #line 251 "iptables.g" @@ -1608,7 +1584,7 @@ void IPTCfgParser::unknown_parameter() { std::string("Unknown parameter: ")+s); *dbg << " UNKNOWN PARMETER=" << s; -#line 1612 "IPTCfgParser.cpp" +#line 1588 "IPTCfgParser.cpp" } } else if ((LA(1) == WORD || LA(1) == INT_CONST || LA(1) == DIGIT) && (_tokenSet_4.member(LA(2)))) { @@ -1642,7 +1618,7 @@ void IPTCfgParser::unknown_parameter() { std::string("Unknown parameter: ")+LT(0)->getText()); *dbg << " UNKNOWN PARMETER=" << LT(0)->getText(); -#line 1646 "IPTCfgParser.cpp" +#line 1622 "IPTCfgParser.cpp" } } else { @@ -1652,8 +1628,7 @@ void IPTCfgParser::unknown_parameter() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1666,13 +1641,13 @@ void IPTCfgParser::m_state() { importer->current_state = ""; -#line 1670 "IPTCfgParser.cpp" +#line 1645 "IPTCfgParser.cpp" state_word(); #line 597 "iptables.g" importer->current_state += LT(0)->getText(); -#line 1676 "IPTCfgParser.cpp" +#line 1651 "IPTCfgParser.cpp" { switch ( LA(1)) { case COMMA: @@ -1683,7 +1658,7 @@ void IPTCfgParser::m_state() { importer->current_state += std::string(",") + LT(0)->getText(); -#line 1687 "IPTCfgParser.cpp" +#line 1662 "IPTCfgParser.cpp" break; } case NEWLINE: @@ -1726,12 +1701,11 @@ void IPTCfgParser::m_state() { *dbg << " STATE MATCH=" << importer->current_state; -#line 1730 "IPTCfgParser.cpp" +#line 1705 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1743,12 +1717,11 @@ void IPTCfgParser::m_mport() { *dbg << " MULTIPORT"; -#line 1747 "IPTCfgParser.cpp" +#line 1721 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1761,12 +1734,11 @@ void IPTCfgParser::m_icmp() { importer->protocol = "icmp"; *dbg << " ICMP"; -#line 1765 "IPTCfgParser.cpp" +#line 1738 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1779,12 +1751,11 @@ void IPTCfgParser::m_tcp() { importer->protocol = "tcp"; *dbg << " TCP"; -#line 1783 "IPTCfgParser.cpp" +#line 1755 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1797,12 +1768,11 @@ void IPTCfgParser::m_udp() { importer->protocol = "udp"; *dbg << " UDP"; -#line 1801 "IPTCfgParser.cpp" +#line 1772 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1814,12 +1784,11 @@ void IPTCfgParser::m_mark() { *dbg << " MARK"; -#line 1818 "IPTCfgParser.cpp" +#line 1788 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1831,12 +1800,11 @@ void IPTCfgParser::m_limit() { *dbg << " LIMIT"; -#line 1835 "IPTCfgParser.cpp" +#line 1804 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1850,12 +1818,11 @@ void IPTCfgParser::m_unknown_module() { importer->markCurrentRuleBad( std::string("Unknown module: ")+LT(0)->getText()); -#line 1854 "IPTCfgParser.cpp" +#line 1822 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1898,8 +1865,7 @@ void IPTCfgParser::protocol_word() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -1917,7 +1883,7 @@ void IPTCfgParser::target_options() { importer->action_params["reject_with"] = LT(0)->getText(); *dbg << " REJECT WITH=" << LT(0)->getText(); -#line 1921 "IPTCfgParser.cpp" +#line 1887 "IPTCfgParser.cpp" break; } case LOG_PREFIX: @@ -1946,7 +1912,7 @@ void IPTCfgParser::target_options() { importer->action_params["log_prefix"] = LT(0)->getText(); *dbg << " LOG PREFIX=" << LT(0)->getText(); -#line 1950 "IPTCfgParser.cpp" +#line 1916 "IPTCfgParser.cpp" break; } case LOG_TCP_SEQ: @@ -1957,7 +1923,7 @@ void IPTCfgParser::target_options() { importer->action_params["log_tcp_seq"] = LT(0)->getText(); *dbg << " LOG TCP SEQUENCE="; -#line 1961 "IPTCfgParser.cpp" +#line 1927 "IPTCfgParser.cpp" break; } case LOG_TCP_OPT: @@ -1968,7 +1934,7 @@ void IPTCfgParser::target_options() { importer->action_params["log_tcp_options"] = LT(0)->getText(); *dbg << " LOG TCP OPTIONS="; -#line 1972 "IPTCfgParser.cpp" +#line 1938 "IPTCfgParser.cpp" break; } case LOG_IP_OPT: @@ -1979,7 +1945,7 @@ void IPTCfgParser::target_options() { importer->action_params["log_ip_options"] = LT(0)->getText(); *dbg << " LOG IP OPTIONS="; -#line 1983 "IPTCfgParser.cpp" +#line 1949 "IPTCfgParser.cpp" break; } case ULOG_PREFIX: @@ -2008,7 +1974,7 @@ void IPTCfgParser::target_options() { importer->action_params["log_prefix"] = LT(0)->getText(); *dbg << " ULOG PREFIX=" << LT(0)->getText(); -#line 2012 "IPTCfgParser.cpp" +#line 1978 "IPTCfgParser.cpp" break; } case LOG_LEVEL: @@ -2020,19 +1986,36 @@ void IPTCfgParser::target_options() { importer->action_params["log_level"] = LT(0)->getText(); *dbg << " LOG LEVEL=" << LT(0)->getText(); -#line 2024 "IPTCfgParser.cpp" +#line 1990 "IPTCfgParser.cpp" break; } case SET_MARK: { match(SET_MARK); - match(INT_CONST); + { + switch ( LA(1)) { + case INT_CONST: + { + match(INT_CONST); + break; + } + case HEX_CONST: + { + match(HEX_CONST); + break; + } + default: + { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); + } + } + } #line 429 "iptables.g" importer->action_params["set_mark"] = LT(0)->getText(); *dbg << " SET MARK=" << LT(0)->getText(); -#line 2036 "IPTCfgParser.cpp" +#line 2019 "IPTCfgParser.cpp" break; } case SAVE_MARK: @@ -2043,7 +2026,7 @@ void IPTCfgParser::target_options() { importer->action_params["connmark_save_mark"] = "--save-mark"; *dbg << " SAVE MARK"; -#line 2047 "IPTCfgParser.cpp" +#line 2030 "IPTCfgParser.cpp" break; } case RESTORE_MARK: @@ -2054,7 +2037,7 @@ void IPTCfgParser::target_options() { importer->action_params["connmark_restore_mark"] = "--restore-mark"; *dbg << " RESTORE MARK"; -#line 2058 "IPTCfgParser.cpp" +#line 2041 "IPTCfgParser.cpp" break; } case CONTINUE: @@ -2065,7 +2048,7 @@ void IPTCfgParser::target_options() { importer->action_params["route_continue"] = "--continue"; *dbg << " CONTINUE"; -#line 2069 "IPTCfgParser.cpp" +#line 2052 "IPTCfgParser.cpp" break; } case ROUTE_IIF: @@ -2077,7 +2060,7 @@ void IPTCfgParser::target_options() { importer->action_params["route_iif"] = LT(0)->getText(); *dbg << " ROUTE_IIF=" << LT(0)->getText(); -#line 2081 "IPTCfgParser.cpp" +#line 2064 "IPTCfgParser.cpp" break; } case ROUTE_OIF: @@ -2089,7 +2072,7 @@ void IPTCfgParser::target_options() { importer->action_params["route_oif"] = LT(0)->getText(); *dbg << " ROUTE_OIF=" << LT(0)->getText(); -#line 2093 "IPTCfgParser.cpp" +#line 2076 "IPTCfgParser.cpp" break; } case ROUTE_GW: @@ -2101,7 +2084,7 @@ void IPTCfgParser::target_options() { importer->action_params["route_gw"] = LT(0)->getText(); *dbg << " ROUTE_GW=" << LT(0)->getText(); -#line 2105 "IPTCfgParser.cpp" +#line 2088 "IPTCfgParser.cpp" break; } case ROUTE_TEE: @@ -2112,7 +2095,7 @@ void IPTCfgParser::target_options() { importer->action_params["route_tee"] = "--tee"; *dbg << " ROUTE_TEE"; -#line 2116 "IPTCfgParser.cpp" +#line 2099 "IPTCfgParser.cpp" break; } case TO_SOURCE: @@ -2122,7 +2105,7 @@ void IPTCfgParser::target_options() { *dbg << " TO-SOURCE"; -#line 2126 "IPTCfgParser.cpp" +#line 2109 "IPTCfgParser.cpp" nat_spec(); break; } @@ -2133,7 +2116,7 @@ void IPTCfgParser::target_options() { *dbg << " TO-DESTINATION"; -#line 2137 "IPTCfgParser.cpp" +#line 2120 "IPTCfgParser.cpp" nat_spec(); break; } @@ -2150,7 +2133,7 @@ void IPTCfgParser::target_options() { *dbg << " TO-NETMAP"; -#line 2154 "IPTCfgParser.cpp" +#line 2137 "IPTCfgParser.cpp" { match(IPV4); #line 506 "iptables.g" @@ -2159,7 +2142,7 @@ void IPTCfgParser::target_options() { importer->nat_addr2 = LT(0)->getText(); *dbg << LT(0)->getText(); -#line 2163 "IPTCfgParser.cpp" +#line 2146 "IPTCfgParser.cpp" match(SLASH); { switch ( LA(1)) { @@ -2184,7 +2167,7 @@ void IPTCfgParser::target_options() { importer->nat_nm = LT(0)->getText(); *dbg << "/" << LT(0)->getText(); -#line 2188 "IPTCfgParser.cpp" +#line 2171 "IPTCfgParser.cpp" } break; } @@ -2196,7 +2179,7 @@ void IPTCfgParser::target_options() { importer->action_params["clamp-mss-to-pmtu"] = "--clamp-mss-to-pmtu"; *dbg << " TO-NETMAP"; -#line 2200 "IPTCfgParser.cpp" +#line 2183 "IPTCfgParser.cpp" break; } default: @@ -2207,7 +2190,7 @@ void IPTCfgParser::target_options() { *dbg << " SET TOS=" << LT(0)->getText() << "(unsupported)"; -#line 2211 "IPTCfgParser.cpp" +#line 2194 "IPTCfgParser.cpp" } else if ((LA(1) == SET_TOS) && (LA(2) == WORD)) { match(SET_TOS); @@ -2216,7 +2199,7 @@ void IPTCfgParser::target_options() { *dbg << " SET TOS=" << LT(0)->getText() << "(unsupported)"; -#line 2220 "IPTCfgParser.cpp" +#line 2203 "IPTCfgParser.cpp" } else { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); @@ -2226,8 +2209,7 @@ void IPTCfgParser::target_options() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_6); + recover(ex,_tokenSet_6); } } @@ -2311,12 +2293,11 @@ void IPTCfgParser::nat_spec() { << "-" << importer->nat_port_range_end; -#line 2315 "IPTCfgParser.cpp" +#line 2297 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_6); + recover(ex,_tokenSet_6); } } @@ -2334,12 +2315,11 @@ void IPTCfgParser::redirect_spec() { << importer->nat_port_range_start << importer->nat_port_range_end; -#line 2338 "IPTCfgParser.cpp" +#line 2319 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_6); + recover(ex,_tokenSet_6); } } @@ -2354,14 +2334,14 @@ void IPTCfgParser::nat_addr_range() { importer->nat_addr1 = LT(0)->getText(); importer->nat_addr2 = LT(0)->getText(); -#line 2358 "IPTCfgParser.cpp" +#line 2338 "IPTCfgParser.cpp" { if ((LA(1) == MINUS) && (LA(2) == IPV4)) { match(MINUS); match(IPV4); #line 552 "iptables.g" importer->nat_addr2 = LT(0)->getText(); -#line 2365 "IPTCfgParser.cpp" +#line 2345 "IPTCfgParser.cpp" } else if ((_tokenSet_7.member(LA(1))) && (_tokenSet_8.member(LA(2)))) { } @@ -2373,8 +2353,7 @@ void IPTCfgParser::nat_addr_range() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_7); + recover(ex,_tokenSet_7); } } @@ -2405,7 +2384,7 @@ void IPTCfgParser::nat_port_def_with_range() { importer->nat_port_range_end = LT(0)->getText(); *dbg << " PORT=" << LT(0)->getText(); -#line 2409 "IPTCfgParser.cpp" +#line 2388 "IPTCfgParser.cpp" { if ((LA(1) == MINUS) && (LA(2) == WORD || LA(2) == INT_CONST)) { match(MINUS); @@ -2432,7 +2411,7 @@ void IPTCfgParser::nat_port_def_with_range() { importer->nat_port_range_end = LT(0)->getText(); *dbg << ":" << LT(0)->getText(); -#line 2436 "IPTCfgParser.cpp" +#line 2415 "IPTCfgParser.cpp" } else if ((_tokenSet_6.member(LA(1))) && (_tokenSet_8.member(LA(2)))) { } @@ -2444,8 +2423,7 @@ void IPTCfgParser::nat_port_def_with_range() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_6); + recover(ex,_tokenSet_6); } } @@ -2483,8 +2461,7 @@ void IPTCfgParser::state_word() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_9); + recover(ex,_tokenSet_9); } } @@ -2494,24 +2471,23 @@ void IPTCfgParser::limit_rate() { match(INT_CONST); #line 643 "iptables.g" importer->limit_val = LT(0)->getText(); -#line 2498 "IPTCfgParser.cpp" +#line 2475 "IPTCfgParser.cpp" match(SLASH); match(WORD); #line 645 "iptables.g" importer->limit_suffix = LT(0)->getText(); -#line 2503 "IPTCfgParser.cpp" +#line 2480 "IPTCfgParser.cpp" #line 646 "iptables.g" *dbg << " MATCH LIMIT " << importer->limit_val << "/" << importer->limit_suffix; -#line 2510 "IPTCfgParser.cpp" +#line 2487 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -2542,12 +2518,11 @@ void IPTCfgParser::port_def_no_range() { importer->tmp_port_range_end = LT(0)->getText(); *dbg << " PORT=" << LT(0)->getText(); -#line 2546 "IPTCfgParser.cpp" +#line 2522 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_9); + recover(ex,_tokenSet_9); } } @@ -2578,7 +2553,7 @@ void IPTCfgParser::port_def_with_range() { importer->tmp_port_range_end = LT(0)->getText(); *dbg << " PORT=" << LT(0)->getText(); -#line 2582 "IPTCfgParser.cpp" +#line 2557 "IPTCfgParser.cpp" { switch ( LA(1)) { case COLON: @@ -2607,7 +2582,7 @@ void IPTCfgParser::port_def_with_range() { importer->tmp_port_range_end = LT(0)->getText(); *dbg << ":" << LT(0)->getText(); -#line 2611 "IPTCfgParser.cpp" +#line 2586 "IPTCfgParser.cpp" break; } case NEWLINE: @@ -2649,8 +2624,7 @@ void IPTCfgParser::port_def_with_range() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -2666,7 +2640,7 @@ void IPTCfgParser::syn() { importer->srv_neg = true; -#line 2670 "IPTCfgParser.cpp" +#line 2644 "IPTCfgParser.cpp" break; } case MATCH_SYN: @@ -2690,12 +2664,11 @@ void IPTCfgParser::syn() { importer->tcp_flags_comp.clear(); importer->tcp_flags_comp.push_back(libfwbuilder::TCPService::SYN); -#line 2694 "IPTCfgParser.cpp" +#line 2668 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -2709,7 +2682,7 @@ void IPTCfgParser::tcp_flags() { importer->tcp_flags_mask = importer->tmp_tcp_flags_list; importer->tmp_tcp_flags_list.clear(); -#line 2713 "IPTCfgParser.cpp" +#line 2686 "IPTCfgParser.cpp" tcp_flags_list(); #line 903 "iptables.g" @@ -2725,12 +2698,11 @@ void IPTCfgParser::tcp_flags() { i!=importer->tcp_flags_comp.end(); ++i) *dbg << *i << "|"; -#line 2729 "IPTCfgParser.cpp" +#line 2702 "IPTCfgParser.cpp" } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -2760,8 +2732,7 @@ void IPTCfgParser::tcp_option() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_4); + recover(ex,_tokenSet_4); } } @@ -2775,7 +2746,7 @@ void IPTCfgParser::tcp_flag_word() { match(SYN); #line 860 "iptables.g" importer->tmp_tcp_flag_code = libfwbuilder::TCPService::SYN; -#line 2779 "IPTCfgParser.cpp" +#line 2750 "IPTCfgParser.cpp" break; } case ACK: @@ -2783,7 +2754,7 @@ void IPTCfgParser::tcp_flag_word() { match(ACK); #line 862 "iptables.g" importer->tmp_tcp_flag_code = libfwbuilder::TCPService::ACK; -#line 2787 "IPTCfgParser.cpp" +#line 2758 "IPTCfgParser.cpp" break; } case FIN: @@ -2791,7 +2762,7 @@ void IPTCfgParser::tcp_flag_word() { match(FIN); #line 864 "iptables.g" importer->tmp_tcp_flag_code = libfwbuilder::TCPService::FIN; -#line 2795 "IPTCfgParser.cpp" +#line 2766 "IPTCfgParser.cpp" break; } case RST: @@ -2799,7 +2770,7 @@ void IPTCfgParser::tcp_flag_word() { match(RST); #line 866 "iptables.g" importer->tmp_tcp_flag_code = libfwbuilder::TCPService::RST; -#line 2803 "IPTCfgParser.cpp" +#line 2774 "IPTCfgParser.cpp" break; } case URG: @@ -2807,7 +2778,7 @@ void IPTCfgParser::tcp_flag_word() { match(URG); #line 868 "iptables.g" importer->tmp_tcp_flag_code = libfwbuilder::TCPService::URG; -#line 2811 "IPTCfgParser.cpp" +#line 2782 "IPTCfgParser.cpp" break; } case PSH: @@ -2815,7 +2786,7 @@ void IPTCfgParser::tcp_flag_word() { match(PSH); #line 870 "iptables.g" importer->tmp_tcp_flag_code = libfwbuilder::TCPService::PSH; -#line 2819 "IPTCfgParser.cpp" +#line 2790 "IPTCfgParser.cpp" break; } case ALL: @@ -2823,7 +2794,7 @@ void IPTCfgParser::tcp_flag_word() { match(ALL); #line 872 "iptables.g" importer->tmp_tcp_flag_code = 99; -#line 2827 "IPTCfgParser.cpp" +#line 2798 "IPTCfgParser.cpp" break; } case NONE: @@ -2831,7 +2802,7 @@ void IPTCfgParser::tcp_flag_word() { match(NONE); #line 874 "iptables.g" importer->tmp_tcp_flag_code = 98; -#line 2835 "IPTCfgParser.cpp" +#line 2806 "IPTCfgParser.cpp" break; } default: @@ -2843,8 +2814,7 @@ void IPTCfgParser::tcp_flag_word() { } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_10); + recover(ex,_tokenSet_10); } } @@ -2856,13 +2826,13 @@ void IPTCfgParser::tcp_flags_list() { importer->tmp_tcp_flags_list.clear(); importer->tmp_tcp_flag_code = 0; -#line 2860 "IPTCfgParser.cpp" +#line 2830 "IPTCfgParser.cpp" tcp_flag_word(); #line 884 "iptables.g" importer->tmp_tcp_flags_list.push_back(importer->tmp_tcp_flag_code); -#line 2866 "IPTCfgParser.cpp" +#line 2836 "IPTCfgParser.cpp" { // ( ... )* for (;;) { if ((LA(1) == COMMA)) { @@ -2873,20 +2843,19 @@ void IPTCfgParser::tcp_flags_list() { importer->tmp_tcp_flags_list.push_back( importer->tmp_tcp_flag_code); -#line 2877 "IPTCfgParser.cpp" +#line 2847 "IPTCfgParser.cpp" } else { - goto _loop120; + goto _loop121; } } - _loop120:; + _loop121:; } // ( ... )* } catch (ANTLR_USE_NAMESPACE(antlr)RecognitionException& ex) { reportError(ex); - consume(); - consumeUntil(_tokenSet_11); + recover(ex,_tokenSet_11); } } @@ -2938,8 +2907,8 @@ const char* IPTCfgParser::tokenNames[] = { "ULOG_PREFIX", "LOG_LEVEL", "SET_MARK", - "SET_TOS", "HEX_CONST", + "SET_TOS", "SAVE_MARK", "RESTORE_MARK", "CONTINUE", @@ -3045,13 +3014,13 @@ const unsigned long IPTCfgParser::_tokenSet_4_data_[] = { 999325712UL, 67108870U // MATCH_DST_MULTIPORT_SHORT MATCH_ICMP_TYPE MATCH_SRC_PORT MATCH_SRC_PORT_SHORT // MATCH_DST_PORT MATCH_DST_PORT_SHORT MATCH_SYN MATCH_TCP_FLAGS MATCH_TCP_OPTION const ANTLR_USE_NAMESPACE(antlr)BitSet IPTCfgParser::_tokenSet_4(_tokenSet_4_data_,8); -const unsigned long IPTCfgParser::_tokenSet_5_data_[] = { 0UL, 67100632UL, 0UL, 0UL }; +const unsigned long IPTCfgParser::_tokenSet_5_data_[] = { 0UL, 67104728UL, 0UL, 0UL }; // REJECT_WITH LOG_PREFIX LOG_TCP_SEQ LOG_TCP_OPT LOG_IP_OPT ULOG_PREFIX // LOG_LEVEL SET_MARK SET_TOS SAVE_MARK RESTORE_MARK CONTINUE ROUTE_IIF // ROUTE_OIF ROUTE_GW ROUTE_TEE TO_SOURCE TO_DESTINATION TO_PORTS TO_NETMAP // CLAMP_MSS const ANTLR_USE_NAMESPACE(antlr)BitSet IPTCfgParser::_tokenSet_5(_tokenSet_5_data_,4); -const unsigned long IPTCfgParser::_tokenSet_6_data_[] = { 999325712UL, 134209502UL, 201588584UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long IPTCfgParser::_tokenSet_6_data_[] = { 999325712UL, 134213598UL, 201588584UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // NEWLINE MINUS UNSUPPORTED_OPTION OPT_MODULE OPT_SRC EXCLAMATION OPT_DST // OPT_IN_INTF OPT_OUT_INTF OPT_PROTO OPT_TARGET REJECT_WITH LOG_PREFIX // LOG_TCP_SEQ LOG_TCP_OPT LOG_IP_OPT ULOG_PREFIX LOG_LEVEL SET_MARK SET_TOS @@ -3062,7 +3031,7 @@ const unsigned long IPTCfgParser::_tokenSet_6_data_[] = { 999325712UL, 134209502 // MATCH_SRC_PORT_SHORT MATCH_DST_PORT MATCH_DST_PORT_SHORT MATCH_SYN MATCH_TCP_FLAGS // MATCH_TCP_OPTION const ANTLR_USE_NAMESPACE(antlr)BitSet IPTCfgParser::_tokenSet_6(_tokenSet_6_data_,8); -const unsigned long IPTCfgParser::_tokenSet_7_data_[] = { 999342096UL, 134209502UL, 201588584UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long IPTCfgParser::_tokenSet_7_data_[] = { 999342096UL, 134213598UL, 201588584UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // NEWLINE COLON MINUS UNSUPPORTED_OPTION OPT_MODULE OPT_SRC EXCLAMATION // OPT_DST OPT_IN_INTF OPT_OUT_INTF OPT_PROTO OPT_TARGET REJECT_WITH LOG_PREFIX // LOG_TCP_SEQ LOG_TCP_OPT LOG_IP_OPT ULOG_PREFIX LOG_LEVEL SET_MARK SET_TOS @@ -3078,7 +3047,7 @@ const unsigned long IPTCfgParser::_tokenSet_8_data_[] = { 4290429426UL, 22817013 // UNSUPPORTED_OPTION DIGIT OPT_MODULE OPT_SRC EXCLAMATION IPV4 OPT_DST // OPT_IN_INTF OPT_OUT_INTF "tcp" "udp" "icmp" OPT_PROTO OPT_TARGET REJECT_WITH // LOG_PREFIX STRING LOG_TCP_SEQ LOG_TCP_OPT LOG_IP_OPT ULOG_PREFIX LOG_LEVEL -// SET_MARK SET_TOS HEX_CONST SAVE_MARK RESTORE_MARK CONTINUE ROUTE_IIF +// SET_MARK HEX_CONST SET_TOS SAVE_MARK RESTORE_MARK CONTINUE ROUTE_IIF // ROUTE_OIF ROUTE_GW ROUTE_TEE TO_SOURCE TO_DESTINATION TO_PORTS TO_NETMAP // CLAMP_MSS OPT_FRAGM "state" "mark" MATCH_MARK "limit" MATCH_LIMIT MATCH_LIMIT_BURST // "multiport" MATCH_SRC_MULTIPORT MATCH_SRC_MULTIPORT_SHORT MATCH_DST_MULTIPORT diff --git a/src/parsers/IPTCfgParser.hpp b/src/parsers/IPTCfgParser.hpp index bd9ad5deb..54f05551f 100644 --- a/src/parsers/IPTCfgParser.hpp +++ b/src/parsers/IPTCfgParser.hpp @@ -8,7 +8,7 @@ #line 10 "IPTCfgParser.hpp" #include -/* $ANTLR 2.7.4: "iptables.g" -> "IPTCfgParser.hpp"$ */ +/* $ANTLR 2.7.6 (20070910): "iptables.g" -> "IPTCfgParser.hpp"$ */ #include #include #include "IPTCfgParserTokenTypes.hpp" diff --git a/src/parsers/IPTCfgParserTokenTypes.hpp b/src/parsers/IPTCfgParserTokenTypes.hpp index 267d38ec7..cc07d04e5 100644 --- a/src/parsers/IPTCfgParserTokenTypes.hpp +++ b/src/parsers/IPTCfgParserTokenTypes.hpp @@ -1,7 +1,7 @@ #ifndef INC_IPTCfgParserTokenTypes_hpp_ #define INC_IPTCfgParserTokenTypes_hpp_ -/* $ANTLR 2.7.4: "iptables.g" -> "IPTCfgParserTokenTypes.hpp"$ */ +/* $ANTLR 2.7.6 (20070910): "iptables.g" -> "IPTCfgParserTokenTypes.hpp"$ */ #ifndef CUSTOM_API # define CUSTOM_API @@ -52,8 +52,8 @@ struct CUSTOM_API IPTCfgParserTokenTypes { ULOG_PREFIX = 41, LOG_LEVEL = 42, SET_MARK = 43, - SET_TOS = 44, - HEX_CONST = 45, + HEX_CONST = 44, + SET_TOS = 45, SAVE_MARK = 46, RESTORE_MARK = 47, CONTINUE = 48, diff --git a/src/parsers/iptables.g b/src/parsers/iptables.g index bcb8a095f..89589a74c 100644 --- a/src/parsers/iptables.g +++ b/src/parsers/iptables.g @@ -425,7 +425,7 @@ target_options : *dbg << " LOG LEVEL=" << LT(0)->getText(); } | - SET_MARK INT_CONST + SET_MARK (INT_CONST | HEX_CONST) { importer->action_params["set_mark"] = LT(0)->getText(); *dbg << " SET MARK=" << LT(0)->getText(); @@ -985,7 +985,7 @@ protected DIGIT : '0'..'9' ; protected -HEXDIGIT : '0'..'9' | 'A'..'F' ; +HEXDIGIT : '0'..'9' | 'A'..'F' | 'a'..'f'; NUMBER : ( diff --git a/src/pflib/PolicyCompiler_pf_writers.cpp b/src/pflib/PolicyCompiler_pf_writers.cpp index 6d313bed0..0dde76c85 100644 --- a/src/pflib/PolicyCompiler_pf_writers.cpp +++ b/src/pflib/PolicyCompiler_pf_writers.cpp @@ -866,7 +866,6 @@ bool PolicyCompiler_pf::PrintRule::processNext() if (ruleopt->getInt("pf_max_src_conn")>0) nopt++; if (ruleopt->getStr("pf_max_src_conn_overload_table")!="") nopt++; if (ruleopt->getInt("pf_max_src_conn_rate_num")>0) nopt++; - if (ruleopt->getStr("pf_max_src_conn_rate_overload_table")!="") nopt++; bool not_the_first = false; if (nopt) @@ -895,20 +894,15 @@ bool PolicyCompiler_pf::PrintRule::processNext() not_the_first = true; } + bool check_overload_opts = false; if (ruleopt->getInt("pf_max_src_conn")>0) { if (not_the_first) compiler->output << ","; compiler->output << " max-src-conn " << ruleopt->getInt("pf_max_src_conn"); - if (ruleopt->getStr("pf_max_src_conn_overload_table")!="") - compiler->output << ", overload <" - << ruleopt->getStr("pf_max_src_conn_overload_table") << ">"; - if (ruleopt->getBool("pf_max_src_conn_flush")) - compiler->output << " flush"; - if (ruleopt->getBool("pf_max_src_conn_global")) - compiler->output << " global"; not_the_first = true; + check_overload_opts = true; } if (ruleopt->getInt("pf_max_src_conn_rate_num")>0 && @@ -919,17 +913,22 @@ bool PolicyCompiler_pf::PrintRule::processNext() compiler->output << " max-src-conn-rate " << ruleopt->getInt("pf_max_src_conn_rate_num") << "/" - << ruleopt->getInt("pf_max_src_conn_rate_seconds"); - - if (ruleopt->getStr("pf_max_src_conn_rate_overload_table")!="") + << ruleopt->getInt( + "pf_max_src_conn_rate_seconds"); + check_overload_opts = true; + } + if (check_overload_opts) + { + if (ruleopt->getStr("pf_max_src_conn_overload_table")!="") compiler->output << ", overload <" - << ruleopt->getStr("pf_max_src_conn_rate_overload_table") << ">"; - if (ruleopt->getBool("pf_max_src_conn_rate_flush")) + << ruleopt->getStr( + "pf_max_src_conn_overload_table") + << ">"; + if (ruleopt->getBool("pf_max_src_conn_flush")) compiler->output << " flush"; - if (ruleopt->getBool("pf_max_src_conn_rate_global")) + if (ruleopt->getBool("pf_max_src_conn_global")) compiler->output << " global"; } - if (nopt>1) compiler->output << " ) "; } } else diff --git a/src/unit_tests/importer/test_data/iptables_test1.conf b/src/unit_tests/importer/test_data/iptables_test1.conf index c712c5e9e..3063484e2 100644 --- a/src/unit_tests/importer/test_data/iptables_test1.conf +++ b/src/unit_tests/importer/test_data/iptables_test1.conf @@ -128,6 +128,10 @@ COMMIT # mark in FORWARD -A FORWARD -i eth1 -p tcp --dport smtp -j MARK --set-mark 16 +# mark in FORWARD, argument is hex +-A FORWARD -i eth1 -p tcp --dport smtp -j MARK --set-mark 0xa +-A FORWARD -i eth1 -p tcp --dport smtp -j MARK --set-mark 0xB + # mark in PREROUTING (check option "ipt_mark_prerouting") -A PREROUTING -i eth1 -p tcp --dport smtp -j MARK --set-mark 16 diff --git a/test/pf/objects-for-regression-tests.fwb b/test/pf/objects-for-regression-tests.fwb index 2fc0ea694..1f7355d3c 100644 --- a/test/pf/objects-for-regression-tests.fwb +++ b/test/pf/objects-for-regression-tests.fwb @@ -1,6 +1,6 @@ - + @@ -9,9 +9,9 @@ - - - + + + @@ -60,7 +60,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -76,15 +76,15 @@ - + + - + @@ -92,15 +92,15 @@ - + + - + @@ -108,7 +108,7 @@ - + @@ -121,7 +121,7 @@ - + @@ -129,7 +129,7 @@ - + @@ -137,7 +137,7 @@ - + @@ -145,7 +145,7 @@ - + @@ -153,7 +153,7 @@ - + @@ -166,7 +166,7 @@ - + @@ -179,7 +179,7 @@ - + @@ -193,7 +193,7 @@ - + @@ -202,15 +202,15 @@ - + + - + @@ -219,15 +219,15 @@ - + + - + @@ -235,16 +235,16 @@ - + + - + @@ -252,16 +252,16 @@ - + + - + @@ -269,16 +269,16 @@ - + + - + @@ -286,16 +286,16 @@ - + + - + @@ -303,16 +303,16 @@ - + + - + @@ -320,16 +320,16 @@ - + + - + @@ -337,16 +337,16 @@ - + + - + @@ -359,7 +359,7 @@ - + @@ -395,13 +395,13 @@ - - - - - - - + + + + + + + @@ -483,17 +483,17 @@ - - + + -m ip_conntrack_talk -m ip_nat_talk - - - + + + proto {tcp udp icmp gre} - - + + @@ -520,7 +520,8 @@ - + + @@ -540,7 +541,8 @@ - + + @@ -560,7 +562,8 @@ - + + @@ -580,16 +583,20 @@ - - + + + - + + - + + - + + @@ -599,13 +606,17 @@ - + + - + + - + + - + + @@ -616,13 +627,17 @@ - + + - + + - + + - + + @@ -632,11 +647,14 @@ - + + - + + - + + @@ -644,11 +662,14 @@ - + + - + + - + + @@ -658,20 +679,24 @@ - + + - + + - + + - + + - - @@ -679,15 +704,19 @@ - + + - + + - + + - + + @@ -697,61 +726,73 @@ - + + - + + - + + - + + - + - - + + - + + - + + - + + - + - - + + - + + - + + - + + - + - @@ -759,21 +800,25 @@ - + + - + + - + + - + + - + - @@ -784,28 +829,32 @@ - + + - + + - + + - + + - + - - - @@ -817,21 +866,25 @@ - + + - + + - + + - + + - + - @@ -842,93 +895,113 @@ - + + - + + - + + - + + - + - - + + - + + - + + - + + - + - - + + - + + - + + - + + - + - - + + - + + - + + - + + - + - - + + - + + - + + - + + @@ -937,83 +1010,91 @@ - + + - + + - + + - + + - + - - + + - + + - + + - + + - + - + - - - - - - - - - - + + + + - + + + + + + + - + - + + - + - - - + + @@ -1038,9 +1119,9 @@ - + + @@ -1059,7 +1140,7 @@ - @@ -1102,15 +1183,15 @@ - + + + + - + @@ -1133,7 +1214,8 @@ - + + @@ -1153,7 +1235,8 @@ - + + @@ -1173,7 +1256,8 @@ - + + @@ -1193,7 +1277,8 @@ - + + @@ -1214,7 +1299,8 @@ - + + @@ -1235,7 +1321,8 @@ - + + @@ -1255,7 +1342,8 @@ - + + @@ -1275,7 +1363,8 @@ - + + @@ -1295,7 +1384,8 @@ - + + @@ -1315,7 +1405,8 @@ - + + @@ -1335,7 +1426,8 @@ - + + @@ -1355,7 +1447,8 @@ - + + @@ -1375,7 +1468,8 @@ - + + @@ -1395,7 +1489,8 @@ - + + @@ -1416,16 +1511,20 @@ - - + + + - + + - + + - + + @@ -1435,13 +1534,17 @@ - + + - + + - + + - + + @@ -1452,11 +1555,14 @@ - + + - + + - + + @@ -1466,11 +1572,14 @@ - + + - + + - + + @@ -1480,13 +1589,17 @@ - + + - + + - + + - + + @@ -1494,13 +1607,17 @@ - + + - + + - + + - + + @@ -1510,13 +1627,17 @@ - + + - + + - + + - + + @@ -1526,13 +1647,17 @@ - + + - + + - + + - + + @@ -1540,20 +1665,24 @@ - + + - + + - + + - + + - - @@ -1561,20 +1690,24 @@ - + + - + + - + + - + + - - @@ -1582,13 +1715,17 @@ - + + - + + - + + - + + @@ -1599,13 +1736,17 @@ - + + - + + - + + - + + @@ -1616,14 +1757,18 @@ - + + - + + - + + - + + @@ -1633,35 +1778,43 @@ - + + - + + - + + - + + - - - + + - + + - + + - + + @@ -1671,15 +1824,19 @@ - + + - + + - + + - + + @@ -1687,13 +1844,17 @@ - + + - + + - + + - + + @@ -1703,13 +1864,17 @@ - + + - + + - + + - + + @@ -1717,63 +1882,69 @@ - + + - + + - + + - + + - - - - - - - - - - - - - - + + + + - + + + + + + + + + + + + + - + - + + - + - - - + + @@ -1785,18 +1956,18 @@ - - - + + @@ -1809,7 +1980,7 @@ - @@ -1858,16 +2029,16 @@ - + + + + - + @@ -1890,7 +2061,8 @@ - + + @@ -1911,7 +2083,8 @@ - + + @@ -1931,19 +2104,24 @@ - - + + + - + + - + + - + + - + + @@ -1951,13 +2129,17 @@ - + + - + + - + + - + + @@ -1965,52 +2147,55 @@ - + + - + + - + + - + + - - - - - - - - + + + + - + + + + - + - + - - + + @@ -2022,7 +2207,7 @@ - @@ -2033,13 +2218,13 @@ - + - @@ -2051,14 +2236,14 @@ - + + + - + @@ -2082,9 +2267,10 @@ - - + + @@ -2106,9 +2292,10 @@ - - + + @@ -2131,7 +2318,8 @@ - + + @@ -2152,9 +2340,10 @@ - - + + @@ -2176,9 +2365,10 @@ - - + + @@ -2201,7 +2391,8 @@ - + + @@ -2222,9 +2413,10 @@ - - + + @@ -2246,9 +2438,10 @@ - - + + @@ -2271,7 +2464,8 @@ - + + @@ -2291,7 +2485,8 @@ - + + @@ -2312,7 +2507,8 @@ - + + @@ -2332,7 +2528,8 @@ - + + @@ -2352,9 +2549,10 @@ - - + + @@ -2374,7 +2572,8 @@ - + + @@ -2394,7 +2593,8 @@ - + + @@ -2414,7 +2614,8 @@ - + + @@ -2434,7 +2635,8 @@ - + + @@ -2454,7 +2656,8 @@ - + + @@ -2474,7 +2677,8 @@ - + + @@ -2494,7 +2698,8 @@ - + + @@ -2514,7 +2719,8 @@ - + + @@ -2534,7 +2740,8 @@ - + + @@ -2554,7 +2761,8 @@ - + + @@ -2574,7 +2782,8 @@ - + + @@ -2594,7 +2803,8 @@ - + + @@ -2614,7 +2824,8 @@ - + + @@ -2634,7 +2845,8 @@ - + + @@ -2654,7 +2866,8 @@ - + + @@ -2677,18 +2890,23 @@ - - + + + - + + - + + - + + - + + @@ -2699,16 +2917,19 @@ - + + - + + - + + - + @@ -2718,18 +2939,22 @@ - + + - + + - + + - + + - + @@ -2739,19 +2964,23 @@ - + + - + + - + + - + + - + @@ -2761,19 +2990,23 @@ - + + - + + - + + - + + - + @@ -2783,16 +3016,19 @@ - + + - + + - + + - + @@ -2801,35 +3037,43 @@ - + + - + + - + + - + + - - + + - + + - + + - + + - @@ -2839,13 +3083,17 @@ - + + - + + - + + - + + @@ -2853,14 +3101,18 @@ - + + - + + - + + - + + @@ -2868,29 +3120,37 @@ - + + - + + - + + - + + - - + + - + + - + + - + + @@ -2898,16 +3158,20 @@ - + + - + + - + + - + + @@ -2915,65 +3179,71 @@ - + + - + + - + + - + + - - - - - - - - - - - - - - - + + + + - + + + + + + + + + + + + + - + - + + - + - - - - + + @@ -3000,9 +3270,9 @@ - + + @@ -3066,16 +3336,16 @@ # prolog commands go after set commands - + + + + - + @@ -3098,9 +3368,10 @@ - - + + @@ -3120,9 +3391,10 @@ - - + + @@ -3142,7 +3414,8 @@ - + + @@ -3162,16 +3435,20 @@ - - + + + - + + - + + - + + @@ -3182,11 +3459,14 @@ - + + - + + - + + @@ -3197,11 +3477,14 @@ - + + - + + - + + @@ -3211,34 +3494,42 @@ - + + - + + - + + - + + - - + + - + + - + + - + + - @@ -3246,117 +3537,135 @@ - + + - + + - + + - + + - - + + - + + - + + - + + - - + + - + + - + + - + + - - + + - + + - + + - + + - - - - - - - - - - - - - - - + + + + - + + + + + + + + + + + + + - + - + + - + - - - - + + @@ -3368,18 +3677,18 @@ - - - + + @@ -3392,7 +3701,7 @@ - @@ -3436,15 +3745,15 @@ - + + + + - + @@ -3467,103 +3776,116 @@ - - + + + - + + - + + - + + - + + - - + - + + - + + - + + - + + - - + - + + - + + - + + - + + - - - - - - - - - - + + + + - + + + + + + + - + - + - + - - + + @@ -3575,7 +3897,7 @@ - @@ -3586,13 +3908,13 @@ - + - @@ -3605,26 +3927,28 @@ - + + + - + - - - + + - + + - + + - + + @@ -3634,58 +3958,64 @@ - + + - + + - + + - + + - - - - - - - - - - - - - - + + + + - + + + + + + + + + + + + + - + - + - - + + @@ -3697,20 +4027,20 @@ - - + - @@ -3723,29 +4053,32 @@ - + + + - + - - - + + - + + - + + - + + - + + @@ -3755,56 +4088,62 @@ - + + - + + - + + - + + - - - - - - - - - - - - - - + + + + - + + + + + + + + + + + + + - + - + - - + + @@ -3816,20 +4155,20 @@ - - + - @@ -3842,15 +4181,15 @@ - + + + - + @@ -3873,7 +4212,8 @@ - + + @@ -3893,7 +4233,8 @@ - + + @@ -3913,7 +4254,8 @@ - + + @@ -3933,7 +4275,8 @@ - + + @@ -3953,7 +4296,8 @@ - + + @@ -3973,7 +4317,8 @@ - + + @@ -3993,7 +4338,8 @@ - + + @@ -4013,7 +4359,8 @@ - + + @@ -4033,18 +4380,23 @@ - - + + + - + + - + + - + + - + + @@ -4054,13 +4406,17 @@ - + + - + + - + + - + + @@ -4070,13 +4426,17 @@ - + + - + + - + + - + + @@ -4084,13 +4444,17 @@ - + + - + + - + + - + + @@ -4098,13 +4462,17 @@ - + + - + + - + + - + + @@ -4112,46 +4480,51 @@ - + + - + + - + + - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - + - @@ -4162,7 +4535,7 @@ - @@ -4173,12 +4546,12 @@ - + + - + @@ -4201,7 +4574,8 @@ - + + @@ -4221,18 +4595,23 @@ - - + + + - + + - + + - + + - + + @@ -4242,13 +4621,17 @@ - + + - + + - + + - + + @@ -4256,13 +4639,17 @@ - + + - + + - + + - + + @@ -4270,13 +4657,17 @@ - + + - + + - + + - + + @@ -4284,55 +4675,59 @@ - + + - + + - + + - + + - - - - - - - - + + + + - + + + + + - + - + - - + + - + + @@ -4344,20 +4739,20 @@ - - + - @@ -4370,15 +4765,15 @@ - + + + - + @@ -4401,7 +4796,8 @@ - + + @@ -4421,7 +4817,8 @@ - + + @@ -4442,7 +4839,8 @@ - + + @@ -4463,18 +4861,23 @@ - - + + + - + + - + + - + + - + + @@ -4482,13 +4885,17 @@ - + + - + + - + + - + + @@ -4496,13 +4903,17 @@ - + + - + + - + + - + + @@ -4510,13 +4921,17 @@ - + + - + + - + + - + + @@ -4524,13 +4939,17 @@ - + + - + + - + + - + + @@ -4540,13 +4959,17 @@ - + + - + + - + + - + + @@ -4556,13 +4979,17 @@ - + + - + + - + + - + + @@ -4570,13 +4997,17 @@ - + + - + + - + + - + + @@ -4584,14 +5015,18 @@ - + + - + + - + + - + + @@ -4599,14 +5034,18 @@ - + + - + + - + + - + + @@ -4614,14 +5053,18 @@ - + + - + + - + + - + + @@ -4629,81 +5072,85 @@ - + + - + + - + + - + + - - - - - - - - + + + + + - + + + + - + - + + - + - + - + + - + + + + + + + + + + + + + + + - + + + @@ -4717,20 +5164,20 @@ - - - - + + + + @@ -4740,8 +5187,8 @@ - - + + @@ -4763,7 +5210,8 @@ - + + @@ -4783,7 +5231,8 @@ - + + @@ -4803,7 +5252,8 @@ - + + @@ -4823,7 +5273,8 @@ - + + @@ -4843,7 +5294,8 @@ - + + @@ -4863,7 +5315,8 @@ - + + @@ -4883,18 +5336,23 @@ - - + + + - + + - + + - + + - + + @@ -4902,13 +5360,17 @@ - + + - + + - + + - + + @@ -4918,13 +5380,17 @@ - + + - + + - + + - + + @@ -4934,13 +5400,17 @@ - + + - + + - + + - + + @@ -4950,13 +5420,17 @@ - + + - + + - + + - + + @@ -4966,14 +5440,18 @@ - + + - + + - + + - + + @@ -4983,13 +5461,17 @@ - + + - + + - + + - + + @@ -5000,13 +5482,17 @@ - + + - + + - + + - + + @@ -5017,13 +5503,17 @@ - + + - + + - + + - + + @@ -5031,17 +5521,22 @@ - + + - + + - + + - + + - + @@ -5049,7 +5544,7 @@ - @@ -5061,13 +5556,17 @@ - + + - + + - + + - + + @@ -5075,81 +5574,85 @@ - + + - + + - + + - + + - - - - - - - - + + + + + - + + + + - + - + + - + - + - + + - + + + + + + + + + + + + + + + - + + + @@ -5163,20 +5666,20 @@ - - - - + + + + @@ -5186,7 +5689,7 @@ - + @@ -5209,7 +5712,8 @@ - + + @@ -5229,40 +5733,49 @@ - - + + + - + + - + + - + + - + + - + + - - + + - + + - + + - + + @@ -5270,13 +5783,17 @@ - + + - + + - + + - + + @@ -5284,13 +5801,17 @@ - + + - + + - + + - + + @@ -5298,13 +5819,17 @@ - + + - + + - + + - + + @@ -5312,13 +5837,17 @@ - + + - + + - + + - + + @@ -5326,13 +5855,17 @@ - + + - + + - + + - + + @@ -5340,14 +5873,18 @@ - + + - + + - + + - + + @@ -5355,14 +5892,18 @@ - + + - + + - + + - + + @@ -5370,85 +5911,94 @@ - + + - + + - + + - + + - - - - - + + - + + - + + - + + - - - - - - - - - - + + + + - + + + + + + + + - + - + + - + - - - + + - + + @@ -5460,18 +6010,18 @@ - - - + + @@ -5484,7 +6034,7 @@ - @@ -5524,18 +6074,18 @@ - - + + + + - + @@ -5565,7 +6115,8 @@ - + + @@ -5597,7 +6148,8 @@ - + + @@ -5624,7 +6176,8 @@ - + + @@ -5651,7 +6204,8 @@ - + + @@ -5679,18 +6233,23 @@ - - + + + - + + - + + - + + - + + @@ -5700,17 +6259,21 @@ - + + - + + - + + - + + - @@ -5718,36 +6281,36 @@ - - - - - - - - - - - + + + + + - + + + + + + + - + - + + - + - @@ -5763,11 +6326,11 @@ - - @@ -5780,7 +6343,7 @@ - @@ -5838,11 +6401,11 @@ - - + @@ -5865,7 +6428,8 @@ - + + @@ -5885,40 +6449,49 @@ - - + + + - + + - + + - + + - + + - + + - - + + - + + - + + - + + @@ -5926,13 +6499,17 @@ - + + - + + - + + - + + @@ -5943,13 +6520,17 @@ - + + - + + - + + - + + @@ -5960,13 +6541,17 @@ - + + - + + - + + - + + @@ -5974,13 +6559,17 @@ - + + - + + - + + - + + @@ -5991,13 +6580,17 @@ - + + - + + - + + - + + @@ -6005,14 +6598,18 @@ - + + - + + - + + - + + @@ -6020,14 +6617,18 @@ - + + - + + - + + - + + @@ -6035,163 +6636,194 @@ - + + - + + - + + - + + - - - - - + + - + + - + + - + + - - - + + + - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - + + + - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - - - - - - - - + + + + + - + + + + + + + + - + - + + - + - - - + + - + + @@ -6203,18 +6835,18 @@ - - - + + @@ -6227,7 +6859,7 @@ - @@ -6267,18 +6899,18 @@ - - + + + + - + @@ -6301,7 +6933,8 @@ - + + @@ -6321,22 +6954,27 @@ - - + + + - + + - + + - + + - + + - @@ -6347,17 +6985,21 @@ - + + - + + - + + - + + - @@ -6368,90 +7010,102 @@ - + + - + + - + + - + + - + + + + + + - + - - - + + - + + - + + - + + - + + + + + + - + - - - + + - + + - + + - + + @@ -6459,50 +7113,55 @@ - + + - + + - + + - + + - - - - - - - - - - - - + + + + - + + + + + + + + + + - + - + + - + - @@ -6518,11 +7177,11 @@ - - @@ -6535,7 +7194,7 @@ - @@ -6586,29 +7245,32 @@ - - - + - - - + + - + + - + + - + + - + + @@ -6616,13 +7278,17 @@ - + + - + + - + + - + + @@ -6630,32 +7296,35 @@ - + + - + + - + + - + + - - - - - - - - + + + + - + + + + - + @@ -6699,7 +7368,7 @@ - + @@ -6722,7 +7391,8 @@ - + + @@ -6742,19 +7412,24 @@ - - + + + - + + - + + - + + - + + @@ -6764,26 +7439,30 @@ - + + - + + - + + - + + - - - @@ -6795,26 +7474,30 @@ - + + - + + - + + - + + - - - @@ -6826,60 +7509,64 @@ - + + - + + - + + - + + - - - - - - - - + + + + - + + + + + - + - + + - + - - - + + - + + @@ -6891,7 +7578,7 @@ - @@ -6900,9 +7587,9 @@ - + + @@ -6921,7 +7608,7 @@ - @@ -6962,18 +7649,18 @@ - - + + + + - + @@ -6996,7 +7683,8 @@ - + + @@ -7016,19 +7704,24 @@ - - + + + - + + - + + - + + - + + @@ -7038,26 +7731,30 @@ - + + - + + - + + - + + - - - @@ -7069,26 +7766,30 @@ - + + - + + - + + - + + - - - @@ -7100,60 +7801,64 @@ - + + - + + - + + - + + - - - - - - - - + + + + - + + + + + - + - + + - + - - - + + - + + @@ -7165,7 +7870,7 @@ - @@ -7174,9 +7879,9 @@ - + + @@ -7195,7 +7900,7 @@ - @@ -7236,18 +7941,18 @@ - - + + + + - + @@ -7270,7 +7975,8 @@ - + + @@ -7290,19 +7996,24 @@ - - + + + - + + - + + - + + - + + @@ -7312,26 +8023,30 @@ - + + - + + - + + - + + - - - @@ -7343,26 +8058,30 @@ - + + - + + - + + - + + - - - @@ -7374,60 +8093,64 @@ - + + - + + - + + - + + - - - - - - - - + + + + - + + + + + - + - + + - + - - - + + - + + @@ -7439,7 +8162,7 @@ - @@ -7448,9 +8171,9 @@ - + + @@ -7469,7 +8192,7 @@ - @@ -7510,18 +8233,18 @@ - - + + + + - + @@ -7544,7 +8267,8 @@ - + + @@ -7564,19 +8288,24 @@ - - + + + - + + - + + - + + - + + @@ -7586,26 +8315,30 @@ - + + - + + - + + - + + - - - @@ -7617,26 +8350,30 @@ - + + - + + - + + - + + - - - @@ -7648,60 +8385,64 @@ - + + - + + - + + - + + - - - - - - - - + + + + - + + + + + - + - + + - + - - - + + - + + @@ -7713,7 +8454,7 @@ - @@ -7722,9 +8463,9 @@ - + + @@ -7743,7 +8484,7 @@ - @@ -7784,18 +8525,18 @@ - - + + + + - + @@ -7818,7 +8559,8 @@ - + + @@ -7838,31 +8580,36 @@ - - + + + - + + - + + - + + - + + - - - @@ -7874,14 +8621,18 @@ - + + - + + - + + - + + @@ -7891,26 +8642,30 @@ - + + - + + - + + - + + - - - @@ -7922,26 +8677,30 @@ - + + - + + - + + - + + - - - @@ -7953,60 +8712,64 @@ - + + - + + - + + - + + - - - - - - - - + + + + - + + + + + - + - + + - + - - - + + - + + @@ -8018,7 +8781,7 @@ - @@ -8027,9 +8790,9 @@ - + + @@ -8048,7 +8811,7 @@ - @@ -8089,18 +8852,18 @@ - - + + + + - + @@ -8123,7 +8886,8 @@ - + + @@ -8143,19 +8907,24 @@ - - + + + - + + - + + - + + - + + @@ -8165,26 +8934,30 @@ - + + - + + - + + - + + - - - @@ -8196,26 +8969,30 @@ - + + - + + - + + - + + - - - @@ -8227,60 +9004,64 @@ - + + - + + - + + - + + - - - - - - - - + + + + - + + + + + - + - + + - + - - - + + - + + @@ -8292,7 +9073,7 @@ - @@ -8301,9 +9082,9 @@ - + + @@ -8322,7 +9103,7 @@ - @@ -8363,18 +9144,18 @@ - - + + + + - + @@ -8397,7 +9178,8 @@ - + + @@ -8417,50 +9199,55 @@ - - + + + - + + - + + - + + - + + - + + + - + + - + - - - - @@ -8470,52 +9257,56 @@ - - + + - + + - + + - + + - + + + - + + - + - - - - @@ -8525,52 +9316,56 @@ - - + + - + + - + + - + + - + + + - + + - + - - - - @@ -8580,52 +9375,56 @@ - - + + - + + - + + - + + - + + + - + + - + - - - - @@ -8635,52 +9434,56 @@ - - + + - + + - + + - + + - + + + - + + - + - - - - @@ -8690,52 +9493,56 @@ - - + + - + + - + + - + + - + + + - + + - + - - - - @@ -8745,52 +9552,56 @@ - - + + - + + - + + - + + - + + + - + + - + - - - - @@ -8800,52 +9611,56 @@ - - + + - + + - + + - + + - + + + - + + - + - - - - @@ -8855,52 +9670,56 @@ - - + + - + + - + + - + + - + + + - + + - + - - - - @@ -8910,52 +9729,56 @@ - - + + - + + - + + - + + - + + + - + + - + - - - - @@ -8965,52 +9788,56 @@ - - + + - + + - + + - + + - + + + - + + - + - - - - @@ -9020,52 +9847,56 @@ - - + + - + + - + + - + + - + + + - + + - + - - - - @@ -9075,41 +9906,42 @@ - - - - - - - - - - - - - + + + + - + + + + + + + + + + - + - + + - + - @@ -9125,11 +9957,11 @@ - - @@ -9142,7 +9974,7 @@ - @@ -9193,15 +10025,15 @@ - - - + @@ -9234,8 +10066,8 @@ - - + + @@ -9263,8 +10095,8 @@ - - + + @@ -9292,15 +10124,15 @@ - + - - + + @@ -9344,7 +10176,8 @@ - + + @@ -9366,19 +10199,24 @@ - - + + + - + + - + + - + + - + + @@ -9389,13 +10227,17 @@ - + + - + + - + + - + + @@ -9405,13 +10247,17 @@ - + + - + + - + + - + + @@ -9419,13 +10265,17 @@ - + + - + + - + + - + + @@ -9438,14 +10288,18 @@ - + + - + + - + + - + + @@ -9454,13 +10308,17 @@ - + + - + + - + + - + + @@ -9468,97 +10326,110 @@ - + + - + + - + + - + + - - - + + + - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + - + + + + + + + - + - - + - - + + @@ -9568,9 +10439,9 @@ - - @@ -9579,13 +10450,13 @@ - - + + + + @@ -9598,7 +10469,7 @@ - @@ -9639,17 +10510,17 @@ - + + + + + - + @@ -9672,19 +10543,24 @@ - - + + + - + + - + + - + + - + + @@ -9695,13 +10571,17 @@ - + + - + + - + + - + + @@ -9711,13 +10591,17 @@ - + + - + + - + + - + + @@ -9725,13 +10609,17 @@ - + + - + + - + + - + + @@ -9741,13 +10629,17 @@ - + + - + + - + + - + + @@ -9755,13 +10647,17 @@ - + + - + + - + + - + + @@ -9769,66 +10665,70 @@ - + + - + + - + + - + + - - - - - - - - - - + + + + - + + + + + + + - + - - + - - + + + + + - + + @@ -9838,9 +10738,9 @@ - - @@ -9849,13 +10749,13 @@ - - + + + + @@ -9868,7 +10768,7 @@ - @@ -9908,31 +10808,34 @@ - + + + + + - + - - - + + - + + - + + - + + - + + @@ -9942,13 +10845,17 @@ - + + - + + - + + - + + @@ -9958,13 +10865,17 @@ - + + - + + - + + - + + @@ -9972,13 +10883,17 @@ - + + - + + - + + - + + @@ -9990,13 +10905,17 @@ - + + - + + - + + - + + @@ -10004,95 +10923,107 @@ - + + - + + - + + - + + - - - + + + - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + - + + + + - + - - - + - - + + @@ -10102,9 +11033,9 @@ - - @@ -10113,13 +11044,13 @@ - - + + + + @@ -10132,7 +11063,7 @@ - @@ -10173,31 +11104,34 @@ - + + + + + - + - - - + + - + + - + + - + + - + + @@ -10207,13 +11141,17 @@ - + + - + + - + + - + + @@ -10223,13 +11161,17 @@ - + + - + + - + + - + + @@ -10237,13 +11179,17 @@ - + + - + + - + + - + + @@ -10255,13 +11201,17 @@ - + + - + + - + + - + + @@ -10269,95 +11219,107 @@ - + + - + + - + + - + + - - - + + + - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + - + + + + - + - - - + - - + + @@ -10367,9 +11329,9 @@ - - @@ -10378,13 +11340,13 @@ - - + + + + @@ -10403,7 +11365,7 @@ - @@ -10444,17 +11406,17 @@ - + + + + + - +