summaryrefslogtreecommitdiff
path: root/conf/cf-lex.l
AgeCommit message (Collapse)Author
2019-02-20Filter + Config: Fix bugs, tests and split symbols by typeMaria Matejka
2018-09-11Conf: Show the line:char position where the syntax error happensJan Maria Matejka
2017-05-30Merge branch 'master' into int-newOndrej Zajicek (work)
2017-05-30Workaround for older bisonsOndrej Zajicek (work)
2017-05-25Merge branch 'master' into int-newOndrej Zajicek (work)
2017-05-25Conf: Replace keyword and symbol hash table with generic hash table.Ondrej Zajicek (work)
The old hash table had fixed size, which makes it slow for config files with large number of symbols and symbol lookups. The new one is growing according to needs.
2017-05-18Fix VPN-RD parsing on 32-bit systemsOndrej Zajicek (work)
When shift count >= width of type the behavior is undefined.
2017-04-18Check validity of dest w.r.t. net_typeOndrej Zajicek (work)
Allow to define static roa/flow routes without dest.
2017-03-28Simpler format of VPN RDJan Moskyto Matejka
2017-02-20Several minor fixesOndrej Zajicek (work)
2016-12-22VPN4 and VPN6 literalsJan Moskyto Matejka
From now on, protocol static accepts VPN4 and VPN6 addressess. With some concerns about VPN6 Route Distinguishers, I finally chose to have the same format as for VPN4 (where it is defined by RFC 4364).
2016-11-16Lexer: Add a quotation mark back while parsing quotesPavel Tvrdik
Thanks to Ondrej Zajicek for code.
2016-11-08Merge branch 'master' into int-newOndrej Zajicek (work)
2016-11-08Minor code cleanupsOndrej Zajicek (work)
2016-11-08Merge tag 'v1.6.2' into int-newOndrej Zajicek (work)
2016-09-21Add !~ operator to filter grammarPavel Tvrdik
2016-08-16Include <stdint.h> in cf-lex.l to avoid UINTx_MAX redefinitionOndřej Surý
2016-05-12Merge remote-tracking branch 'origin/master' into int-newOndrej Zajicek (work)
2016-05-12Prog Doc: Complete several missing parametersPavel Tvrdik
2015-12-20ROA code switchoffJan Moskyto Matejka
2015-11-25Merge branch 'master' into int-newOndrej Zajicek (work)
2015-11-09Conf: Fixes bug in symbol lookup during reconfigurationOndrej Zajicek (work)
Symbol lookup by cf_find_symbol() not only did the lookup but also added new void symbols allocated from cfg_mem linpool, which gets broken when lookups are done outside of config parsing, which may lead to crashes during reconfiguration. The patch separates lookup-only cf_find_symbol() and config-modifying cf_get_symbol(), while the later is called only during parsing. Also new_config and cfg_mem global variables are NULLed outside of parsing.
2015-11-05Initial commit on integrated BIRDOndrej Zajicek (work)
New data types net_addr and variants (in lib/net.h) describing network addresses (prefix/pxlen). Modifications of FIB structures to handle these data types and changing everything to use these data types instead of prefix/pxlen pairs where possible. The commit is WiP, some protocols are not yet updated (BGP, Kernel), and the code contains some temporary scaffolding. Comments are welcome.
2015-02-21Bump max symbol length to 64.Ondrej Zajicek
And move the constant to conf.h header. Thanks to Alexander Chernikov for the patch.
2014-10-24Integrated IP functions.Ondrej Zajicek
2014-10-02Allows more constants in set literals.Ondrej Zajicek
Thanks to Michael Fincham for the bugreport.
2014-03-25Fixes file descriptor leak when parser ends with error.Ondrej Zajicek
Thanks to MrBr for the bugreport.
2013-08-15Symbol names enclosed by apostrophes can contain colons.Ondrej Filip
2013-07-25Allows to define constants of all filter types.Ondrej Zajicek
2013-02-10Symbol names enclosed by apostrophes can contain DOTs.Ondrej Filip
2012-07-18Implements wildcard matching in config file include.Ondrej Zajicek
Also fixes some minor bugs in include. Thanks Kelly Cochran for suggestion and draft patch.
2012-03-18Route Origin Authorization basics.Ondrej Zajicek
- ROA tables, which are used as a basic part for RPKI. - Commands for examining and modifying ROA tables. - Filter operators based on ROA tables consistent with RFC 6483.
2011-12-22Fixes parsing larger numbers on 64bit platforms.Ondrej Zajicek
2011-11-10Fixes missing header.Ondrej Zajicek
2011-11-07Implements protocol templates.Ondrej Zajicek
Based on the patch from Alexander V. Chernikov. Extended to support almost all protocols. Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
2011-10-10Fixes for include.Ondrej Zajicek
2011-09-11Configuration can include other files.Ondrej Filip
2011-05-06Fixes several problems in filter syntax.Ondrej Zajicek
- Fixes several conflicts in the grammar. - Fixes a bug in (a..b, c) pair patterns. - Makes pair patterns orthogonal. - Allows term expressions in pair patterns without additional ( ). - Allows several comma separated values in switch cases.
2011-03-23A hack to distinguish if..else from else: in case.Ondrej Zajicek
The old BIRD grammar needs two lookaheads to distinguish if..else from else: in case, which caused the parser to fail on some combinations of both expressions. This patch replaces two tokens 'else' ':' by one token 'else:' to fix that.
2011-03-13Implements Router Advertisement protocol.Ondrej Zajicek
2010-05-02Merge several fixes suggested by Joakim Tjernlund.Ondrej Zajicek
2010-02-20Implements pattern match for 'show protocols' command.Ondrej Zajicek
And generally consolidates protocol commands.
2010-02-10Define symbols as text between ''.Ondrej Filip
2009-03-14New syntax for bgp_pathOndrej Zajicek
2009-01-27New syntax for bgp_pathOndrej Zajicek
2000-06-08Fixes for the programmer's manual.Martin Mares
2000-06-07Fixes to the progdoc.Martin Mares
2000-06-07Spelling fixes to progdoc.Martin Mares
2000-06-04Nested scopes could never have worked. My fault I wrote such a buggy code,Martin Mares
Pavel's fault that he's never tested shadowing of declarations in the filters. cf_define_symbol() has been modified to check the scope of the symbol it's given and it if it's an already defined symbol, but in a different scope, a copy is created in the current scope and redefined to the new meaning, the consequence being that it cf_define_symbol() now returns the new symbol you need to use when assigning aux and aux2.
2000-06-04Moved parser docs to cf-lex.l, so that the parser compiles.Martin Mares