Martin Mares
758458be05
Unified parsing of prefixes.
...
Had to rename `prefix' in filters to `fprefix'.
2000-05-13 11:17:49 +00:00
Martin Mares
ab1129c1bd
Added skeleton Doc files for the whole developer's documentation.
2000-05-05 17:17:42 +00:00
Martin Mares
6db8c5a63b
pxlen works even in IPv6 mode.
2000-05-04 20:02:19 +00:00
Martin Mares
a412f01ea8
Include CF_HDR section in keywords.h as well, so that protocol symbols
...
can be used in definition of ENUM's.
2000-04-28 15:12:03 +00:00
Martin Mares
2edb31b097
Split CF_HDR section to CF_HDR (only includes) and CF_DEFINES (defines,
...
C declarations etc.).
2000-04-28 15:11:10 +00:00
Martin Mares
8f6accb5bb
Event handlers no longer return re-queue flag. Instead of using it, just
...
call ev_schedule() on the same handler which should work perfectly now.
2000-04-27 22:28:49 +00:00
Pavel Machek
dcab789047
Renamed f_path to f_path_mask -- which is what it really is. Use
...
linklist instead of array of signed integers for path mask.
2000-04-12 13:07:53 +00:00
Pavel Machek
c3edb89ec1
Path masks are needed for filters.
2000-04-12 12:49:53 +00:00
Martin Mares
221135d6bf
Include "lib/string.h" instead of <string.h>. It should give us bzero()
...
and other non-portable functions on all systems.
2000-03-31 23:30:21 +00:00
Martin Mares
abf2be7d0c
Add internal commands of the client to the command list.
2000-03-12 23:04:04 +00:00
Martin Mares
4327090276
Made `show status' show uptime and time of last reconfiguration.
2000-03-12 22:44:54 +00:00
Martin Mares
6b9fa32080
Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,
...
several debug() calls converted to DBG().
2000-03-12 21:01:38 +00:00
Pavel Machek
c8d5ffafb7
Fix <=, >=, !=
2000-03-10 20:21:12 +00:00
Martin Mares
f30b86f9d5
Added configuration of default protocol debugging flags.
2000-03-07 21:50:03 +00:00
Martin Mares
16c07e3d51
Removed bogus comment.
2000-03-04 21:27:57 +00:00
Martin Mares
a58dad6238
Please *think* when defining operator priorities.
...
(-: num_of_parser_conflicts -= 42 :-)
2000-03-04 21:19:10 +00:00
Martin Mares
aee539f241
Made `datetime' more user friendly. Now it should be a quoted string
...
of type "dd-mm-yyyy".
2000-03-01 11:42:13 +00:00
Martin Mares
2ca3d9a8fc
Defined INVALID_TOKEN which is a token guaranteed to be never generated.
2000-03-01 11:30:16 +00:00
Martin Mares
0223d4fff1
Client: Online help works (Cisco style: just press `?' at the end of a line).
2000-02-17 22:00:13 +00:00
Martin Mares
f50b9e48b9
Generate a list of all commands and their help texts for the client to use.
2000-01-19 14:37:56 +00:00
Martin Mares
4b87e256eb
Split off general commands to cmds.c.
...
Added `show symbols' command which dumps whole symbol table together
with symbol types etc.
2000-01-19 12:30:19 +00:00
Martin Mares
d272fe22dd
Separated `official protocol names' used in status dumps from name templates
...
used for automatic generation of instance names.
protocol->name is the official name
protocol->template is the name template (usually "name%d"),
should be all lowercase.
Updated all protocols to define the templates, checked that their configuration
grammar includes proto_name which generates the name and interns it in the
symbol table.
2000-01-17 11:52:50 +00:00
Martin Mares
ca0edc5395
When a quoted string is encountered, don't forget to copy it to the
...
config pool before passing it to the parser.
2000-01-16 23:36:53 +00:00
Martin Mares
bf8558bc9c
Converted shutdown to a kind of reconfiguration, it's no more handled
...
as a exception in protocol state machines. Introduced a `shutdown'
CLI command. Killed few reconfiguration bugs.
2000-01-16 17:40:26 +00:00
Martin Mares
50fe90edf3
First attempt on dynamic reconfiguration. There are still lots of bugs
...
and problems to solve, but the hardest part works.
2000-01-16 16:44:50 +00:00
Martin Mares
4ab5331c63
Added type `g' for void (general) pointer.
1999-12-06 13:50:50 +00:00
Martin Mares
7c0cc76ed7
Moved initialization of protocol list to proto.c.
...
Added sysdep configuration hooks.
1999-12-06 13:44:45 +00:00
Martin Mares
f2c6c80a24
I tried to turn on the YYERROR_VERBOSE switch, but bison is buggy as hell,
...
so it doesn't even compile. Turned it again off and added a comment on it.
1999-12-02 14:03:25 +00:00
Martin Mares
efe51e3863
Avoid `default rule can be matched' warning in CLI state.
1999-12-02 12:04:39 +00:00
Martin Mares
730f2e2c8c
Added dumping of routing tables (`show route'). This includes filtering.
1999-12-01 15:10:21 +00:00
Martin Mares
c9aae7f47f
Lexer supports fallback symbol tables and uses them to recognize
...
symbols from global config when parsing CLI commands.
cf_lex_init_tables() is now called automatically inside the lexer.
1999-11-30 14:03:36 +00:00
Martin Mares
3579376927
cli_msg() moved to cli.h, so that it can be used outside the parser.
1999-11-25 15:34:51 +00:00
Martin Mares
ffb59d243a
Command line interface now works.
1999-11-17 12:00:21 +00:00
Martin Mares
944f008af7
Defined CF_ENUM.
1999-11-15 11:35:41 +00:00
Martin Mares
cbc3183007
SYM_STAT is gone.
1999-11-15 11:34:51 +00:00
Pavel Machek
f453665704
Enumerational types, defined keyword added.
1999-11-10 12:44:07 +00:00
Martin Mares
df8b85e33f
Silly bug.
1999-11-04 13:53:47 +00:00
Martin Mares
c8f61a01ea
Symbols are not scoped.
1999-11-04 13:51:52 +00:00
Pavel Machek
e5005be2b4
You should not follow next two times.
1999-11-03 22:21:26 +00:00
Martin Mares
bc2fb68098
Parse CLI commands. We use the same parser as for configuration files (because
...
we want to allow filter and similar complex constructs to be used in commands
and we should avoid code duplication), only with CLI_MARKER token prepended
before the whole input.
Defined macro CF_CLI(cmd, args, help) for defining CLI commands in .Y files.
The first argument specifies the command itself, the remaining two arguments
are copied to the help file (er, will be copied after the help file starts
to exist). This macro automatically creates a skeleton rule for the command,
you only need to append arguments as in:
CF_CLI(STEAL MONEY, <$>, [[Steal <$> US dollars or equivalent in any other currency]]): NUM {
cli_msg(0, "%d$ stolen", $3);
} ;
Also don't forget to reset lexer state between inputs.
1999-10-31 17:47:47 +00:00
Pavel Machek
41be4444f2
switch() { } done right.
1999-10-28 21:03:36 +00:00
Martin Mares
dce267832a
Basic support for IPv6. The system-dependent part doesn't work yet,
...
but the core routines are there and seem to be working.
o lib/ipv6.[ch] written
o Lexical analyser recognizes IPv6 addresses and when in IPv6
mode, treats pure IPv4 addresses as router IDs.
o Router ID must be configured manually on IPv6 systems.
o Added SCOPE_ORGANIZATION for org-scoped IPv6 multicasts.
o Fixed few places where ipa_(hton|ntoh) was called as a function
returning converted address.
1999-08-03 19:36:06 +00:00
Pavel Machek
6542ece91a
Function calling in filters works - somehow. Calling syntax is
...
currently very ugly, beware. Variables are not really local - that
needs to be fixed.
1999-07-01 09:11:21 +00:00
Pavel Machek
9d79fec8dc
Added notion of datetime
1999-05-26 14:24:32 +00:00
Martin Mares
0e02abfd57
From now we support multiple tables. The master_table variable is
...
definitely gone. Both rte_update() and rte_discard() have an additional
argument telling which table should they modify.
Also, rte_update() no longer walks the whole protocol list -- each table
has a list of all protocols connected to this table and having the
rt_notify hook set. Each protocol can also freely decide (by calling
proto_add_announce_hook) to connect to any other table, but it will
be probably used only by the table-to-table protocol.
The default debugging dumps now include all routing tables and also
all their connections.
1999-05-17 20:14:52 +00:00
Martin Mares
4107df1d1b
Implemented two new symbol handling functions:
...
o cf_define_symbol() -- it assigns a meaning to a symbol, bailing
out if it already has one.
o cf_find_symbol() -- finds symbol by name and creates it if not found.
Also modified filter/config.Y to make use of the first function.
1999-05-17 20:06:19 +00:00
Pavel Machek
36bbfc704c
Updated filters: they now actually see IP/pxlen of net being filtered,
...
gateway, and who told us, so they can do usefull jobs from now on.
1999-04-19 18:41:56 +00:00
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