mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-11-08 12:18:42 +00:00
Nest: Fix leaking internal attributes in RIP and Babel
During backporting attribute changes from 3.0-branch, some internal attributes (RIP iface and Babel seqno) leaked to 'show route all' output. Allow protocols to hide specific attributes with GA_HIDDEN value. Thanks to Nigel Kukard for the bugreport.
This commit is contained in:
parent
82be0ba400
commit
37399f48c0
@ -94,6 +94,7 @@ void protos_dump_all(void);
|
||||
#define GA_UNKNOWN 0 /* Attribute not recognized */
|
||||
#define GA_NAME 1 /* Result = name */
|
||||
#define GA_FULL 2 /* Result = both name and value */
|
||||
#define GA_HIDDEN 3 /* Attribute should not be printed */
|
||||
|
||||
/*
|
||||
* Known protocols
|
||||
|
@ -981,6 +981,8 @@ ea_show(struct cli *c, const eattr *e)
|
||||
bsprintf(pos, "<type %02x>", e->type);
|
||||
}
|
||||
}
|
||||
|
||||
if (status != GA_HIDDEN)
|
||||
cli_printf(c, -1012, "\t%s", buf);
|
||||
}
|
||||
|
||||
|
@ -2081,9 +2081,6 @@ babel_get_attr(const eattr *a, byte *buf, int buflen UNUSED)
|
||||
{
|
||||
switch (a->id)
|
||||
{
|
||||
case EA_BABEL_SEQNO:
|
||||
return GA_FULL;
|
||||
|
||||
case EA_BABEL_METRIC:
|
||||
bsprintf(buf, "metric: %d", a->u.data);
|
||||
return GA_FULL;
|
||||
@ -2096,6 +2093,9 @@ babel_get_attr(const eattr *a, byte *buf, int buflen UNUSED)
|
||||
return GA_FULL;
|
||||
}
|
||||
|
||||
case EA_BABEL_SEQNO:
|
||||
return GA_HIDDEN;
|
||||
|
||||
default:
|
||||
return GA_UNKNOWN;
|
||||
}
|
||||
|
@ -1233,6 +1233,9 @@ rip_get_attr(const eattr *a, byte *buf, int buflen UNUSED)
|
||||
bsprintf(buf, "tag: %04x", a->u.data);
|
||||
return GA_FULL;
|
||||
|
||||
case EA_RIP_FROM:
|
||||
return GA_HIDDEN;
|
||||
|
||||
default:
|
||||
return GA_UNKNOWN;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user