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 */

Reply via email to