0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-22 17:51:53 +00:00

Avoid touching F_MODIFY, it no longer exists.

This commit is contained in:
Martin Mares 1999-12-16 12:59:09 +00:00
parent 6aea8905c4
commit ccdc339756

View File

@ -114,7 +114,7 @@ do_rte_announce(struct announce_hook *a, net *net, rte *new, rte *old, ea_list *
if ((class & IADDR_SCOPE_MASK) < p->min_scope || if ((class & IADDR_SCOPE_MASK) < p->min_scope ||
(ok = p->import_control ? p->import_control(p, &new, &tmpa, rte_update_pool) : 0) < 0 || (ok = p->import_control ? p->import_control(p, &new, &tmpa, rte_update_pool) : 0) < 0 ||
(!ok && (p->out_filter == FILTER_REJECT || (!ok && (p->out_filter == FILTER_REJECT ||
p->out_filter && f_run(p->out_filter, &new, &tmpa, rte_update_pool) > F_MODIFY) p->out_filter && f_run(p->out_filter, &new, &tmpa, rte_update_pool) > F_ACCEPT)
) )
) )
new = NULL; new = NULL;
@ -127,7 +127,7 @@ do_rte_announce(struct announce_hook *a, net *net, rte *new, rte *old, ea_list *
else else
{ {
ea_list *tmpb = p->make_tmp_attrs ? p->make_tmp_attrs(old, rte_update_pool) : NULL; ea_list *tmpb = p->make_tmp_attrs ? p->make_tmp_attrs(old, rte_update_pool) : NULL;
if (f_run(p->out_filter, &old, &tmpb, rte_update_pool) > F_MODIFY) if (f_run(p->out_filter, &old, &tmpb, rte_update_pool) > F_ACCEPT)
old = NULL; old = NULL;
} }
} }
@ -323,10 +323,11 @@ rte_update(rtable *table, net *net, struct proto *p, rte *new)
tmpa = p->make_tmp_attrs(new, rte_update_pool); tmpa = p->make_tmp_attrs(new, rte_update_pool);
if (p->in_filter) if (p->in_filter)
{ {
ea_list *old_tmpa = tmpa;
int fr = f_run(p->in_filter, &new, &tmpa, rte_update_pool); int fr = f_run(p->in_filter, &new, &tmpa, rte_update_pool);
if (fr > F_MODIFY) if (fr > F_ACCEPT)
goto drop; goto drop;
if (fr == F_MODIFY && p->store_tmp_attrs) if (tmpa != old_tmpa && p->store_tmp_attrs)
p->store_tmp_attrs(new, tmpa); p->store_tmp_attrs(new, tmpa);
} }
if (!(new->attrs->aflags & RTAF_CACHED)) /* Need to copy attributes */ if (!(new->attrs->aflags & RTAF_CACHED)) /* Need to copy attributes */
@ -542,7 +543,7 @@ rt_show_net(struct cli *c, net *n, struct rt_show_data *d)
struct ea_list *tmpa = NULL; struct ea_list *tmpa = NULL;
ee = e; ee = e;
rte_update_lock(); /* We use the update buffer for filtering */ rte_update_lock(); /* We use the update buffer for filtering */
if (d->filter == FILTER_ACCEPT || f_run(d->filter, &ee, &tmpa, rte_update_pool) <= F_MODIFY) if (d->filter == FILTER_ACCEPT || f_run(d->filter, &ee, &tmpa, rte_update_pool) <= F_ACCEPT)
{ {
rt_show_rte(c, ia, e, d); rt_show_rte(c, ia, e, d);
ia[0] = 0; ia[0] = 0;