Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package bird for openSUSE:Factory checked in at 2023-06-22 23:27:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bird (Old) and /work/SRC/openSUSE:Factory/.bird.new.15902 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bird" Thu Jun 22 23:27:14 2023 rev:16 rq:1094708 version:2.13.1 Changes: -------- --- /work/SRC/openSUSE:Factory/bird/bird.changes 2023-04-28 16:24:30.178407596 +0200 +++ /work/SRC/openSUSE:Factory/.bird.new.15902/bird.changes 2023-06-22 23:27:59.554432604 +0200 @@ -1,0 +2,10 @@ +Thu Jun 22 15:39:36 UTC 2023 - Martin Hauke <[email protected]> + +- Update to version 2.13.1 + Bugfix release: + * When a case statement in filter had an empty branch, it crashed + BIRD. + * fixed a bug in BGP Roles manifesting when the other party sent + no capabilities at all. + +------------------------------------------------------------------- Old: ---- bird-2.13.tar.gz New: ---- bird-2.13.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bird.spec ++++++ --- /var/tmp/diff_new_pack.L5agSL/_old 2023-06-22 23:28:02.786449087 +0200 +++ /var/tmp/diff_new_pack.L5agSL/_new 2023-06-22 23:28:02.794449128 +0200 @@ -21,7 +21,7 @@ %define bird_home %{_localstatedir}/lib/bird %define bird_runtimedir %{_rundir}/%{name} Name: bird -Version: 2.13 +Version: 2.13.1 Release: 0 Summary: The BIRD Internet Routing Daemon License: GPL-2.0-or-later ++++++ bird-2.13.tar.gz -> bird-2.13.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.13/ChangeLog new/bird-2.13.1/ChangeLog --- old/bird-2.13/ChangeLog 2023-04-23 16:26:14.000000000 +0200 +++ new/bird-2.13.1/ChangeLog 2023-06-22 17:06:15.000000000 +0200 @@ -1,3 +1,29 @@ +commit 52bae235b716a3c8d629ddf1306178568c69833f +Author: Maria Matejka <[email protected]> +Date: Thu Jun 22 16:14:12 2023 +0200 + + NEWS and version update + +commit 1499a335f6f44a0fd85365e404c2a11842d7f75c +Author: Maria Matejka <[email protected]> +Date: Thu Jun 22 16:07:28 2023 +0200 + + Filter: Fixed segfault when a case option had an empty block + + Thanks to Kobayashi_Bairuo <[email protected]> for reporting. + +commit ac7341a18146bf0f0b2c60477c4292a9cd428a87 +Author: Ondrej Zajicek <[email protected]> +Date: Fri May 19 01:02:57 2023 +0200 + + BGP: Fix role check when no capability option is present + + When an OPEN message without capability options was parsed, the remote + role field was not initialized with the proper (non-zero) default value, + so it was interpreted as if 'provider' was announced. + + Thanks to Mikhail Grishin for the bugreport. + commit ca0f239c72486cebfe171e335e3b8a86f5999714 Author: Ondrej Zajicek <[email protected]> Date: Fri Apr 21 20:24:43 2023 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.13/NEWS new/bird-2.13.1/NEWS --- old/bird-2.13/NEWS 2023-04-23 16:22:56.000000000 +0200 +++ new/bird-2.13.1/NEWS 2023-06-22 17:04:57.000000000 +0200 @@ -1,3 +1,9 @@ +Version 2.13.1 (2023-06-23) + o BGP: Fix role check when no capability option is present + o Filter: Fixed segfault when a case option had an empty block + + This is a bugfix version. + Version 2.13 (2023-04-21) o Babel: IPv4 via IPv6 extension (RFC 9229) o Babel: Improve authentication on lossy networks diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.13/filter/decl.m4 new/bird-2.13.1/filter/decl.m4 --- old/bird-2.13/filter/decl.m4 2023-04-23 16:22:52.000000000 +0200 +++ new/bird-2.13.1/filter/decl.m4 2023-06-22 17:04:57.000000000 +0200 @@ -200,7 +200,7 @@ # Executing another filter line. This replaces the recursion # that was needed in the former implementation. m4_define(LINEX, `FID_INTERPRET_EXEC()LINEX_($1)FID_INTERPRET_NEW()return $1 FID_INTERPRET_BODY()') -m4_define(LINEX_, `do { +m4_define(LINEX_, `do if ($1) { fstk->estk[fstk->ecnt].pos = 0; fstk->estk[fstk->ecnt].line = $1; fstk->estk[fstk->ecnt].ventry = fstk->vcnt; @@ -227,9 +227,7 @@ FID_ITERATE_BODY()m4_dnl if (whati->fl$1) BUFFER_PUSH(fit->lines) = whati->fl$1; FID_INTERPRET_EXEC()m4_dnl -do { if (whati->fl$1) { - LINEX_(whati->fl$1); -} } while(0) +LINEX_(whati->fl$1) FID_INTERPRET_NEW()m4_dnl return whati->f$1 FID_INTERPRET_BODY()') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.13/filter/f-inst.c new/bird-2.13.1/filter/f-inst.c --- old/bird-2.13/filter/f-inst.c 2023-04-23 16:22:52.000000000 +0200 +++ new/bird-2.13.1/filter/f-inst.c 2023-06-22 17:04:57.000000000 +0200 @@ -1327,7 +1327,6 @@ FID_HIC(,break,return NULL); } } - /* It is actually possible to have t->data NULL */ LINEX(t->data); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.13/filter/test.conf new/bird-2.13.1/filter/test.conf --- old/bird-2.13/filter/test.conf 2023-04-23 16:22:56.000000000 +0200 +++ new/bird-2.13.1/filter/test.conf 2023-06-22 17:04:57.000000000 +0200 @@ -39,6 +39,18 @@ bt_test_same(onef, twof, 0); /* + * Testing filter corner cases + * --------------------------- + */ + +function t_nothing() {} +bt_test_suite(t_nothing, "Testing nothing"); + +function t_metanothing() { t_nothing(); } +bt_test_suite(t_metanothing, "Testing meta nothing"); + + +/* * Testing boolean expressions * --------------------------- */ @@ -76,6 +88,14 @@ * ---------------- */ +function aux_t_int(int t; int u) +{ + case t { + 1: {} + else: {} + } +} + define four = 4; define xyzzy = (120+10); define '1a-a1' = (xyzzy-100); @@ -120,7 +140,10 @@ else: bt_assert(false); } - + aux_t_int(1, 2); + aux_t_int(1, 3); + aux_t_int(2, 3); + aux_t_int(2, 2); } bt_test_suite(t_int, "Testing integers"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.13/proto/bgp/packets.c new/bird-2.13.1/proto/bgp/packets.c --- old/bird-2.13/proto/bgp/packets.c 2023-04-23 16:22:52.000000000 +0200 +++ new/bird-2.13.1/proto/bgp/packets.c 2023-06-22 17:02:50.000000000 +0200 @@ -215,6 +215,13 @@ return (x->afi < y->afi) ? -1 : (x->afi > y->afi) ? 1 : 0; } +struct bgp_caps * +bgp_alloc_capabilities(struct bgp_proto *p, int n) +{ + struct bgp_caps *caps = mb_allocz(p->p.pool, sizeof(struct bgp_caps) + n * sizeof(struct bgp_af_caps)); + caps->role = BGP_ROLE_UNDEFINED; + return caps; +} void bgp_prepare_capabilities(struct bgp_conn *conn) @@ -227,13 +234,13 @@ if (!p->cf->capabilities) { /* Just prepare empty local_caps */ - conn->local_caps = mb_allocz(p->p.pool, sizeof(struct bgp_caps)); + conn->local_caps = bgp_alloc_capabilities(p, 0); return; } /* Prepare bgp_caps structure */ int n = list_length(&p->p.channels); - caps = mb_allocz(p->p.pool, sizeof(struct bgp_caps) + n * sizeof(struct bgp_af_caps)); + caps = bgp_alloc_capabilities(p, n); conn->local_caps = caps; caps->as4_support = p->cf->enable_as4; @@ -464,10 +471,7 @@ u32 af; if (!conn->remote_caps) - { - caps = mb_allocz(p->p.pool, sizeof(struct bgp_caps) + sizeof(struct bgp_af_caps)); - caps->role = BGP_ROLE_UNDEFINED; - } + caps = bgp_alloc_capabilities(p, 1); else { caps = conn->remote_caps; @@ -763,7 +767,7 @@ /* Prepare empty caps if no capability option was announced */ if (!conn->remote_caps) - conn->remote_caps = mb_allocz(p->p.pool, sizeof(struct bgp_caps)); + conn->remote_caps = bgp_alloc_capabilities(p, 0); return 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.13/sysdep/config.h new/bird-2.13.1/sysdep/config.h --- old/bird-2.13/sysdep/config.h 2023-04-23 16:22:56.000000000 +0200 +++ new/bird-2.13.1/sysdep/config.h 2023-06-22 17:04:57.000000000 +0200 @@ -13,7 +13,7 @@ #ifdef GIT_LABEL #define BIRD_VERSION XSTR1(GIT_LABEL) #else -#define BIRD_VERSION "2.13" +#define BIRD_VERSION "2.13.1" #endif /* Include parameters determined by configure script */
