Pavel Machek
38506f71b0
Sets of integers now actually work. Sets of IP will work as soon as
...
compare function is ready.
1999-04-12 19:58:18 +00:00
Pavel Machek
23b1539bf9
Filters upgraded - a bit. Moved code to filter.c because it is where
...
it belongs. (f-util.c stays there for auxiliary and non-important things.)
1999-04-07 12:11:08 +00:00
Martin Mares
d4ff748224
Use a more reasonable pool chunk size: 4080 bytes seem to be a good
...
approximation of a integral fraction of page size even if both malloc
overhead and chunk header space is counted.
1999-04-05 20:06:02 +00:00
Pavel Machek
ba92164871
Update of filters towards new interface.
1999-03-29 20:21:28 +00:00
Martin Mares
7f400d1c62
After today's lengthy discussions about filter syntax, let's clean up
...
whitespace/semicolon rules for whole config file:
o All non-zero amounts of whitespace are equivalent to single space
(aka `all the whitespace has been born equal' ;-)).
o Comments count as whitespace.
o Whitespace has no syntactic signifance (it can only separate lexical
elements).
o Consequence: line ends are no longer treated as `;'s.
o Every declaration must be terminated by an explicit `;' unless
or by a group enclosed in `{' and `}'.
1999-03-29 19:04:14 +00:00
Martin Mares
4ba84ebc82
Slightly better generator of default protocol instance names.
1999-03-26 21:37:29 +00:00
Martin Mares
e0f2e42f4f
A couple of filter tweaks:
...
o Introduced struct filter which serves as an external reference
to filter. Using struct symbol for this is unwise since it doesn't
allow extra information attached to the filter and it also forces
all filters to be named.
o Implemented config rule 'filter' which matches either named filter
or an embedded unnamed filter (`{ <filter> }').
o Fixed totally bogus comment at the top of filter.h.
o Added a missing prototype for f_run() to filter.h.
1999-03-17 14:29:39 +00:00
Pavel Machek
1aa5cf1c61
Added '=' to operator list
1999-03-09 14:44:43 +00:00
Pavel Machek
b700582445
Filters are now a tiny bit stronger (if is actually working ;-)
1999-03-08 20:30:06 +00:00
Pavel Machek
3d8ef0c9ef
I just don't like files enclosed in <>.
1999-03-02 13:15:35 +00:00
Martin Mares
726141746b
'#' comments in config files are equivalent to end of line, therefore
...
also to implicit ';'.
1999-02-13 21:34:33 +00:00
Martin Mares
4e9498cbb1
config->router_id works again.
1999-02-13 18:42:00 +00:00
Martin Mares
31b3e1bbf5
Implemented new configuration/reconfiguration interface and defined protocol
...
state machines. Full explanation will follow soon.
1999-02-05 21:37:34 +00:00
Martin Mares
c9b6670608
Original expr' is back, filter expressions renamed to
term'.
...
In the future, we'll allow any filter term in place of `expr' and we'll
just evaluate it immediately, but not now as we have no evaluation
routines.
1999-01-15 18:04:28 +00:00
Martin Mares
e3a39a9ee7
Killed duplicate %type for expr.
1999-01-15 16:59:26 +00:00
Pavel Machek
b9d70dc84e
Filters, second try. This time they have their own directory.
1999-01-15 16:49:17 +00:00
Pavel Machek
489b6b5e00
#if 1 that creeped into cvs killed.
1999-01-15 16:13:51 +00:00
Pavel Machek
72380a3447
Filters added. They are unable to do anything interesting for now
...
(with exception of printing integers to screen), but they exist.
1999-01-15 14:41:51 +00:00
Martin Mares
49e7e5ee0b
New makefiles. Includes support for out-of-source-tree builds.
1999-01-10 00:18:32 +00:00
Martin Mares
89d2355d3d
Added new rule for prefix length / netmask.
1998-12-06 23:10:45 +00:00
Martin Mares
cc12cf05c7
cf_error() now accepts any format strings instead of just an error
...
message. Also added extra kludge to get rid of collisions of REJECT
symbols.
1998-12-06 23:10:28 +00:00
Martin Mares
0846203e89
Fixed bug in CF_ADDTO. How it's possible it has ever worked?
1998-12-06 17:39:08 +00:00
Martin Mares
166b9c4912
Added rule "bool" for boolean switches.
1998-12-06 17:38:42 +00:00
Martin Mares
b35d72ac66
Name cleanups as suggested by Pavel:
...
- cfg_strcpy() -> cfg_strdup()
- mempool -> linpool, mp_* -> lp_* [to avoid confusion with memblock, mb_*]
Anyway, it might be better to stop ranting about names and do some *real* work.
1998-12-06 11:59:18 +00:00
Martin Mares
50d8424ad1
Added configuration of the device internal protocol. This is primarily
...
intended to serve as an example of interface pattern list use. As a side
effect, you can disable generating of device routes by disabling
this protocol.
1998-11-29 22:03:58 +00:00
Martin Mares
49e4a4d1fd
Created new functions for allocating configuration data:
...
o cfg_alloc(size) -- generic memory allocation
o cfg_allocu(size) -- unaligned memory allocation
o cfg_allocz(size) -- zeroed memory allocation
o cfg_strcpy(str) -- allocate a copy of a string
Also fixed a bug in lexing of string literals.
1998-11-29 21:59:37 +00:00
Martin Mares
0b62c3a7c7
Trivial 15-line bison excercise: Implemented expressions including
...
user-defined numeric symbols. Whenever possible, use `expr' instead
of `NUM' to get full express ion power :-)
1998-11-27 21:32:45 +00:00
Martin Mares
c74c0e3cdf
First attempt at protocol configuration (now done only for RIP).
1998-11-27 21:09:57 +00:00
Martin Mares
8450be97d6
Added generator of default names.
1998-11-27 21:07:02 +00:00
Martin Mares
70591fa064
Compile and use the new configuration code by default.
1998-11-27 19:37:07 +00:00
Martin Mares
f142750d34
Base of the parser.
1998-11-27 19:36:06 +00:00
Martin Mares
82fc7be7bb
Lexical analyser.
1998-11-27 19:35:50 +00:00
Martin Mares
fe7cec12e8
Replaced nest/confile.h by conf/conf.h, added a lot of new definitions.
1998-11-27 19:35:10 +00:00
Martin Mares
ce6ca80926
This script takes configuration fragments and generates full Bison grammar
...
from them.
1998-11-27 19:33:53 +00:00
Martin Mares
882c588a40
This script takes configuration fragments and extracts keyword list
...
from them.
1998-11-27 19:33:26 +00:00