Commit graph

57 commits

Author SHA1 Message Date
Martin Mares 30a6108ccc Added filter_same() for comparision of two filters.
Pavel, please implement this as soon as possible.
2000-01-16 17:49:32 +00:00
Pavel Machek 60d7d10e6f Added fixme. 1999-12-18 20:39:53 +00:00
Martin Mares d46ffc97ff Kicked off F_MODIFY (not generated nor used) 1999-12-16 12:18:19 +00:00
Pavel Machek 2e18b87dcf Disallow rta.net syntax. 1999-12-08 12:51:26 +00:00
Pavel Machek 6c14255dd6 Make rta. syntax optional. 1999-12-08 10:15:51 +00:00
Martin Mares 430da60fa2 Implemented `show route where <condition>' command.
Pavel, please check my addition to filter/config.Y.
1999-12-02 14:04:44 +00:00
Martin Mares 2ad6dcdb2c Make ACCEPT/REJECT actually return the result... 1999-12-01 15:07:06 +00:00
Pavel Machek 7e1f99719e accept should behave as return, not running any commands after it. 1999-12-01 12:54:23 +00:00
Pavel Machek 6781e5213b FIXME's cleaned up: I have actually fixed things without killing
comments.

There are no urgent FIXME's in filters. Perhaps we should start with
documentation?
1999-12-01 11:39:58 +00:00
Pavel Machek 4aa885a53c Filters: fix rta access to use ->aux field. 1999-11-25 13:42:49 +00:00
Pavel Machek 455ca441d9 Check that prefixes are really prefixes + fix config file to
comply. (:-( 1.2.3.4/8 looks nicer than 1.0.0.0/8).
1999-11-24 12:16:31 +00:00
Pavel Machek 8f013d9ca4 Sorry, previous commit did not even compile. 1999-11-24 12:09:58 +00:00
Pavel Machek 48f9e01954 Filters: write access to dynamic attributes should actually work. It
would be nice to find method of testing such beasts.
1999-11-24 12:04:32 +00:00
Pavel Machek f31156ca21 Filters: first parts of extended attributes being read-write. It can
not actually work since I do not do rta/rte cow, yet.
1999-11-18 14:29:10 +00:00
Pavel Machek c7b43f33ae Split inst->code into inst->code and inst->aux. Both are only 16 bit,
so aux is suitable for storing type but not much more.
1999-11-18 14:01:36 +00:00
Pavel Machek 346a12c210 You can now print enum. 1999-11-18 13:21:52 +00:00
Martin Mares fd54b60266 ENUM's are now recognized as constants. 1999-11-15 11:36:09 +00:00
Pavel Machek 4515bdba4f Fixed order of arguments for function call.
Enumeration types should work once CF_ENUM() is ready.

Created test.conf for testing of filters. (I'm currently thinking
about ./tests in root directory which will just fire all available
tests...)
1999-11-11 13:55:39 +00:00
Pavel Machek 4ed8718a19 Shift/reduce conflict goes away _and_ if/then/else works. 1999-11-11 13:27:59 +00:00
Pavel Machek 1183b6b229 Enums do not work, this is testcase. 1999-11-10 13:59:13 +00:00
Pavel Machek cb8034f42c First try on enumerational types.
Mj's noassoc removed: this brings back shift/reduce conflict but
it makes parser actually work. Mj please check it. IF/THEN/ELSE still
will not work.
1999-11-10 13:44:29 +00:00
Pavel Machek 2f702671b4 No more shift/reduce conflicts. 1999-11-10 13:07:18 +00:00
Martin Mares 4995564570 Shift/reduce conflicts in IF/THEN/ELSE rules solved. 1999-11-10 13:05:57 +00:00
Pavel Machek f453665704 Enumerational types, defined keyword added. 1999-11-10 12:44:07 +00:00
Pavel Machek 3c989eb4a7 Fixed comments about shift/reduce conflicts. 1999-11-04 14:05:40 +00:00
Pavel Machek ae3e1af2a8 Add possibility of local variables. 1999-11-04 14:03:45 +00:00
Pavel Machek 91447965fe Possibility to access first extended attributes. 1999-11-04 13:33:30 +00:00
Pavel Machek 6dc7a0cb39 Filters now do not allow function (int arg; int arg2; ). 1999-11-03 22:23:01 +00:00
Pavel Machek 41be4444f2 switch() { } done right. 1999-10-28 21:03:36 +00:00
Pavel Machek d3dd620b96 Filters: permit variables of prefix types, cleanup around
variables. TODO list added, hopefully complete. Use new features of
filters in bird.conf
1999-10-12 06:27:42 +00:00
Pavel Machek 720d911d77 Added constants of type prefix and pair, added their printing 1999-10-07 14:10:08 +00:00
Pavel Machek c9f8c1a855 FIXME's added. Hopefully fixme list is now complete for filters. 1999-10-07 13:38:26 +00:00
Pavel Machek 7db7b7db60 Case arg { 1: printf "one"; } works. You can not use two commands
after one label, yet.
1999-09-29 14:24:58 +00:00
Pavel Machek 2981814066 Few FIXME's removed from auth, few FIXME's added to filter. 1999-08-20 09:59:39 +00:00
Martin Mares 9a706f32af Added missing structure declarations. 1999-08-03 19:31:11 +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
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 43fc099b98 Sets of IP addresses should work, now. (From now on it is also
possible to write if 1.2.3.4 < 1.2.3.5, but I'm not sure if it is good
for anything.)
1999-04-13 11:40:04 +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 bad631e048 Oops, typo. 1999-04-12 12:07:15 +00:00
Pavel Machek 8ba2cc064b In case no startup function is defined, don't try to launch it. 1999-04-12 12:01:59 +00:00
Pavel Machek 2db3b2887e Decrease number of warnings. 1999-04-10 09:45:08 +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 63a381dbf5 Several filter changes. (Pavel, please check if they are OK.)
o  Changed parameters of f_run. Changed rtein+rteout pair to rte pointer
      passed by reference, added ea_list of temporary attrs again passed
      by reference and finally added a pointer to memory pool for storing
      temporary data (new ea_lists's, temporary rta's etc.).
   o  Re-ordered result codes, so that all accepts come before all rejects.
   o  Introduced FILTER_ACCEPT and FILTER_REJECT dummy values (will be
      used in protocol configurations).
   o  Added filter_name() which returns name of a filter or ACCEPT/REJECT
      for the dummies.
1999-04-05 20:10:31 +00:00
Martin Mares 78d5ec1504 Please don't commit debugging code which makes BIRD exit before anything
actually starts to happen. Grrr.
1999-03-29 20:28:25 +00:00
Pavel Machek ba92164871 Update of filters towards new interface. 1999-03-29 20:21:28 +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 3c7ad64c57 Compilation fix for mj. 1999-03-17 13:04:33 +00:00
Pavel Machek d36d838df5 accept & reject should now work 1999-03-17 10:19:07 +00:00