summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Machek <pavel@ucw.cz>2000-05-31 23:50:13 +0200
committerPavel Machek <pavel@ucw.cz>2000-05-31 23:50:13 +0200
commit0b1cad81623e85f1f1b9ef3652cdc389641496e5 (patch)
tree284a69d6323db5629581a0e46872f1e62cc37b46
parentb5958826cc5fc75b5f99c51559d1ffedea5884b4 (diff)
downloadbird-0b1cad81623e85f1f1b9ef3652cdc389641496e5.tar
bird-0b1cad81623e85f1f1b9ef3652cdc389641496e5.zip
Complain when filter does not end in accept nor reject.
-rw-r--r--filter/filter.c4
-rw-r--r--filter/test.conf21
2 files changed, 3 insertions, 2 deletions
diff --git a/filter/filter.c b/filter/filter.c
index 59b9658..f1a8f8f 100644
--- a/filter/filter.c
+++ b/filter/filter.c
@@ -736,8 +736,10 @@ f_run(struct filter *filter, struct rte **rte, struct ea_list **tmp_attrs, struc
f_pool = tmp_pool;
inst = filter->root;
res = interpret(inst);
- if (res.type != T_RETURN)
+ if (res.type != T_RETURN) {
+ log( L_ERR "Filter %s did not return accept nor reject. Make up your mind", filter->name);
return F_ERROR;
+ }
DBG( "done (%d)\n", res.val.i );
return res.val.i;
}
diff --git a/filter/test.conf2 b/filter/test.conf2
index 64991f7..055e49a 100644
--- a/filter/test.conf2
+++ b/filter/test.conf2
@@ -57,7 +57,6 @@ protocol static {
bgp_community.empty;
print "community = ", bgp_community;
print "done";
- accept;
};
route 0.0.0.0/0 via 195.113.31.113;