ok
Claudio Jeker([email protected]) on 2019.05.29 07:25:59 +0200:
> The check if a network is already present is slightly wrong since it does
> not check the type. I triggered it with:
>
> network inet static
> network 0.0.0.0/0
>
> Fix is trivial.
> --
> :wq Claudio
>
> Index: parse.y
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/parse.y,v
> retrieving revision 1.388
> diff -u -p -r1.388 parse.y
> --- parse.y 27 May 2019 09:14:32 -0000 1.388
> +++ parse.y 29 May 2019 05:21:55 -0000
> @@ -868,7 +868,8 @@ network : NETWORK prefix filter_set {
> filterset_move($3, &n->net.attrset);
> free($3);
> TAILQ_FOREACH(m, netconf, entry) {
> - if (n->net.prefixlen == m->net.prefixlen &&
> + if (n->net.type == m->net.type &&
> + n->net.prefixlen == m->net.prefixlen &&
> prefix_compare(&n->net.prefix,
> &m->net.prefix, n->net.prefixlen) == 0)
> yyerror("duplicate prefix "
>