diff options
author | Pavel Machek <pavel@ucw.cz> | 1999-12-01 12:54:23 +0000 |
---|---|---|
committer | Pavel Machek <pavel@ucw.cz> | 1999-12-01 12:54:23 +0000 |
commit | 7e1f99719e01af86006bc5c9b9a472516ec85a2c (patch) | |
tree | 9dece24661273728affca909f5a58e1295f6f629 | |
parent | 639e62855495fcf461c177373d8f5eb0d5d87332 (diff) |
accept should behave as return, not running any commands after it.
-rw-r--r-- | bird.conf | 4 | ||||
-rw-r--r-- | filter/filter.c | 3 |
2 files changed, 5 insertions, 2 deletions
@@ -11,6 +11,8 @@ define xyzzy = 120+10; filter testf int j; { + print "Ok, accepting"; + accept; print "Heya, filtering route to " rta.net.ip " prefixlen " rta.net.len; print "This route was from " rta.from; j = 7; @@ -33,7 +35,7 @@ protocol rip MyRIP_test { passwords { password "ahoj" from 0 to 10; password "nazdar" from 10; } - authentication md5; + authentication none; } protocol device { diff --git a/filter/filter.c b/filter/filter.c index 6ae4eaab..2ffcbb7f 100644 --- a/filter/filter.c +++ b/filter/filter.c @@ -286,7 +286,7 @@ interpret(struct f_inst *what) case F_REJECT: /* FIXME (noncritical) Should print compele route along with reason to reject route */ res.type = T_RETURN; res.val.i = what->a1.i; - break; + return res; /* We have to return now, no more processing. */ case F_NONL: case F_NOP: break; @@ -412,6 +412,7 @@ interpret(struct f_inst *what) return res; } +/* FIXME: tmp_attrs is unreferenced. That can't be right */ int f_run(struct filter *filter, struct rte **rte, struct ea_list **tmp_attrs, struct linpool *tmp_pool) { |