Your message dated Sat, 14 Mar 2026 11:48:35 +0000
with message-id <[email protected]>
and subject line Released with 13.4
has caused the Debian Bug report #1124650,
regarding trixie-pu: package bird2/2.17.1-1+deb13u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1124650: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1124650
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected]
Control: affects -1 + src:bird2
User: [email protected]
Usertags: pu

This upload fixes in stable some significant bugs, as requested by the 
upstream maintainer.
These commits have been backported from the precedent stable release and 
have been in testing/unstable for some time.

I am also taking over maintenance of the package.

https://salsa.debian.org/md/bird/-/commits/debian/bird2/trixie

diff -Nru bird2-2.17.1/debian/bird2.bird.service 
bird2-2.17.1/debian/bird2.bird.service
--- bird2-2.17.1/debian/bird2.bird.service      2025-01-13 16:13:45.000000000 
+0100
+++ bird2-2.17.1/debian/bird2.bird.service      2025-12-18 00:21:35.000000000 
+0100
@@ -8,7 +8,7 @@
 ExecStartPre=/usr/sbin/bird -p
 ExecReload=/usr/sbin/birdc configure
 ExecStart=/usr/sbin/bird -f -u $BIRD_RUN_USER -g $BIRD_RUN_GROUP $BIRD_ARGS
-Restart=on-abort
+Restart=on-abnormal
 
 [Install]
 WantedBy=multi-user.target
diff -Nru bird2-2.17.1/debian/changelog bird2-2.17.1/debian/changelog
--- bird2-2.17.1/debian/changelog       2025-05-06 16:20:00.000000000 +0200
+++ bird2-2.17.1/debian/changelog       2025-12-18 00:21:35.000000000 +0100
@@ -1,3 +1,16 @@
+bird2 (2.17.1-1+deb13u1) stable; urgency=medium
+
+  * New maintainer.
+  * Use Restart=on-abnormal instead of on-abort. (Closes: #1099513)
+  * Backport all fixes from upstream 2.17.3:
+    + RAdv: Fix flags for deprecated prefixes.
+    + BMP: Fix crash when exporting a route with non-bgp attributes.
+  * Backport all fixes from upstream 2.17.2:
+    + ASPA check fix for AS_SET.
+    + Invalid check fix in text_or_ipa grammar.
+
+ -- Marco d'Itri <[email protected]>  Thu, 18 Dec 2025 00:21:35 +0100
+
 bird2 (2.17.1-1) unstable; urgency=medium
 
   * New upstream version 2.17.1
diff -Nru bird2-2.17.1/debian/control bird2-2.17.1/debian/control
--- bird2-2.17.1/debian/control 2025-01-13 16:13:45.000000000 +0100
+++ bird2-2.17.1/debian/control 2025-12-18 00:21:35.000000000 +0100
@@ -16,10 +16,10 @@
  linuxdoc-tools-latex,
  opensp,
  texlive-latex-extra,
-Maintainer: Jakub Ružička <[email protected]>
+Maintainer: Marco d'Itri <[email protected]>
 Standards-Version: 4.7.0
-Vcs-Browser: https://salsa.debian.org/debian/bird2
-Vcs-Git: https://salsa.debian.org/debian/bird2.git
+Vcs-Browser: https://salsa.debian.org/md/bird
+Vcs-Git: https://salsa.debian.org/md/bird.git -b debian/bird2/unstable
 Homepage: https://bird.network.cz/
 Rules-Requires-Root: no
 
diff -Nru bird2-2.17.1/debian/patches/backport-01-8f5b2196 
bird2-2.17.1/debian/patches/backport-01-8f5b2196
--- bird2-2.17.1/debian/patches/backport-01-8f5b2196    1970-01-01 
01:00:00.000000000 +0100
+++ bird2-2.17.1/debian/patches/backport-01-8f5b2196    2025-12-18 
00:21:35.000000000 +0100
@@ -0,0 +1,28 @@
+From 8f5b21964ece066d15794cf9d17be5b3906fe596 Mon Sep 17 00:00:00 2001
+From: Ondrej Zajicek <[email protected]>
+Date: Tue, 6 May 2025 14:50:53 +0200
+Subject: [PATCH] Conf: Fix invalid check in text_or_ipa grammar
+
+Can cause crash when a bad expression is used.
+---
+ conf/confbase.Y | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/conf/confbase.Y b/conf/confbase.Y
+index af64e3ff9..857689707 100644
+--- a/conf/confbase.Y
++++ b/conf/confbase.Y
+@@ -426,8 +426,8 @@ text_or_ipa:
+    }
+  | '(' term ')' {
+      $$ = cf_eval($2, T_VOID);
+-     if (($$.type != T_BYTESTRING) && ($$.type != T_STRING))
+-       cf_error("Bytestring or string value expected");
++     if (($$.type != T_STRING) && ($$.type != T_IP))
++       cf_error("String or IP value expected");
+    }
+  ;
+ 
+-- 
+GitLab
+
diff -Nru bird2-2.17.1/debian/patches/backport-02-067f361d 
bird2-2.17.1/debian/patches/backport-02-067f361d
--- bird2-2.17.1/debian/patches/backport-02-067f361d    1970-01-01 
01:00:00.000000000 +0100
+++ bird2-2.17.1/debian/patches/backport-02-067f361d    2025-12-18 
00:21:35.000000000 +0100
@@ -0,0 +1,88 @@
+From 067f361d9b6e2e1a0fa5d3bd62900e23b6ded4bb Mon Sep 17 00:00:00 2001
+From: Evann DREUMONT <[email protected]>
+Date: Tue, 2 Sep 2025 16:23:34 +0200
+Subject: [PATCH] Nest: Function aspa_check() should return ASPA_INVALID for
+ paths containing AS_SET
+
+The aspa_check() uses as_path_getlen() to estimate the size of a buffer,
+which does not work for AS_SET segments, because as_path_getlen() returns
+length 1 for them regardless of their length. This may cause buffer
+overflow and crash.
+
+As AS_SET segments are not valid for ASPA verification, we can just
+handle them explicitly. See 
https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-aspa-verification#section-6
+
+Co-Authored-By: Alarig <[email protected]>
+
+Minor changes by committer.
+---
+ nest/a-path.c   | 21 +++++++++++++++++++++
+ nest/attrs.h    |  1 +
+ nest/rt-table.c |  7 ++++++-
+ 3 files changed, 28 insertions(+), 1 deletion(-)
+
+diff --git a/nest/a-path.c b/nest/a-path.c
+index aba2c86df..6f52ccf6a 100644
+--- a/nest/a-path.c
++++ b/nest/a-path.c
+@@ -177,6 +177,27 @@ as_path_contains_confed(const struct adata *path)
+   return 0;
+ }
+ 
++int
++as_path_contains_set(const struct adata *path)
++{
++  const byte *pos = path->data;
++  const byte *end = pos + path->length;
++
++  while (pos < end)
++  {
++    uint type = pos[0];
++    uint slen = 2 + BS * pos[1];
++
++    if ((type == AS_PATH_SET) ||
++      (type == AS_PATH_CONFED_SET))
++      return 1;
++
++    pos += slen;
++  }
++
++  return 0;
++}
++
+ struct adata *
+ as_path_strip_confed(struct linpool *pool, const struct adata *path)
+ {
+diff --git a/nest/attrs.h b/nest/attrs.h
+index 0475afa72..699b91df2 100644
+--- a/nest/attrs.h
++++ b/nest/attrs.h
+@@ -36,6 +36,7 @@ int as_path_16to32(byte *dst, const byte *src, uint len);
+ int as_path_32to16(byte *dst, const byte *src, uint len);
+ int as_path_contains_as4(const struct adata *path);
+ int as_path_contains_confed(const struct adata *path);
++int as_path_contains_set(const struct adata *path);
+ struct adata *as_path_strip_confed(struct linpool *pool, const struct adata 
*op);
+ struct adata *as_path_prepend2(struct linpool *pool, const struct adata *op, 
int seq, u32 as);
+ struct adata *as_path_to_old(struct linpool *pool, const struct adata *path);
+diff --git a/nest/rt-table.c b/nest/rt-table.c
+index ee3f11882..ed364d351 100644
+--- a/nest/rt-table.c
++++ b/nest/rt-table.c
+@@ -362,7 +362,12 @@ enum aspa_result aspa_check(rtable *tab, const adata 
*path, bool force_upstream)
+   if (as_path_contains_confed(path))
+     return ASPA_INVALID;
+ 
+-  /* Check path length */
++  /* No support for AS_SET */
++  /* See draft-ietf-sidrops-aspa-verification section 6 */
++  if (as_path_contains_set(path))
++    return ASPA_INVALID;
++
++  /* Check path length; we assume just AS_SEQUENCE segments */
+   uint len = as_path_getlen(path);
+   if (len == 0)
+     return ASPA_INVALID;
+-- 
+GitLab
+
diff -Nru bird2-2.17.1/debian/patches/backport-03-f8770e81 
bird2-2.17.1/debian/patches/backport-03-f8770e81
--- bird2-2.17.1/debian/patches/backport-03-f8770e81    1970-01-01 
01:00:00.000000000 +0100
+++ bird2-2.17.1/debian/patches/backport-03-f8770e81    2025-12-18 
00:21:35.000000000 +0100
@@ -0,0 +1,25 @@
+From f8770e816ac17df535c32b52e79a7ccffaea9bcc Mon Sep 17 00:00:00 2001
+From: Maria Matejka <[email protected]>
+Date: Thu, 20 Nov 2025 14:35:02 +0100
+Subject: [PATCH] BMP: Fix crash when exporting a route with non-bgp attributes
+
+Reported-By: Annika Hannig
+---
+ proto/bgp/packets.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c
+index 0971107ce..157afdd90 100644
+--- a/proto/bgp/packets.c
++++ b/proto/bgp/packets.c
+@@ -2550,6 +2550,7 @@ bgp_create_update_bmp(struct bgp_channel *c, byte *buf, 
byte *end, struct bgp_bu
+     .add_path = c->add_path_rx,
+     .mpls = c->desc->mpls,
+     .sham = 1,
++    .ignore_non_bgp_attrs = 1,
+   };
+ 
+   if (!update)
+-- 
+GitLab
+
diff -Nru bird2-2.17.1/debian/patches/backport-04-c4d54c21 
bird2-2.17.1/debian/patches/backport-04-c4d54c21
--- bird2-2.17.1/debian/patches/backport-04-c4d54c21    1970-01-01 
01:00:00.000000000 +0100
+++ bird2-2.17.1/debian/patches/backport-04-c4d54c21    2025-12-18 
00:21:35.000000000 +0100
@@ -0,0 +1,68 @@
+From c4d54c21fd773557e8b91b9fc11e00436801b09a Mon Sep 17 00:00:00 2001
+From: Ondrej Zajicek <[email protected]>
+Date: Thu, 27 Nov 2025 17:59:44 +0100
+Subject: [PATCH] RAdv: Fix flags for deprecated prefixes
+
+When a prefix is deprecated (valid_lifetime == 0), it should be
+announced with the same flags as before. The old code announced it
+without any flags, which leads to being ignored by recipients.
+
+Note that a prefix could be depreacted for two reason - it is removed
+from the interface, or it is deconfigured in BIRD configuration.
+
+Thanks to Michael Saxl for the bugreport.
+
+Fixes: #323
+---
+ proto/radv/packets.c | 4 ++--
+ proto/radv/radv.c    | 4 ++++
+ proto/radv/radv.h    | 3 +++
+ 3 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/proto/radv/packets.c b/proto/radv/packets.c
+index 77c987949..8b060a206 100644
+--- a/proto/radv/packets.c
++++ b/proto/radv/packets.c
+@@ -306,8 +306,8 @@ radv_prepare_prefix(struct radv_iface *ifa, struct 
radv_prefix *px,
+   op->type = OPT_PREFIX;
+   op->length = 4;
+   op->pxlen = px->prefix.pxlen;
+-  op->flags = (pc->onlink ? OPT_PX_ONLINK : 0) |
+-    (pc->autonomous ? OPT_PX_AUTONOMOUS : 0);
++  op->flags = (px->onlink ? OPT_PX_ONLINK : 0) |
++            (px->autonomous ? OPT_PX_AUTONOMOUS : 0);
+   op->valid_lifetime = (ifa->ra->active || !pc->valid_lifetime_sensitive) ?
+     htonl(pc->valid_lifetime) : 0;
+   op->preferred_lifetime = (ifa->ra->active || 
!pc->preferred_lifetime_sensitive) ?
+diff --git a/proto/radv/radv.c b/proto/radv/radv.c
+index ba31e1a84..4ff075713 100644
+--- a/proto/radv/radv.c
++++ b/proto/radv/radv.c
+@@ -161,6 +161,10 @@ radv_prepare_prefixes(struct radv_iface *ifa)
+     existing->valid = 1;
+     existing->changed = now;
+     existing->mark = 1;
++
++    existing->onlink = pc->onlink;
++    existing->autonomous = pc->autonomous;
++
+     existing->cf = pc;
+   }
+ 
+diff --git a/proto/radv/radv.h b/proto/radv/radv.h
+index ba4a1b6c7..d4d3a50f3 100644
+--- a/proto/radv/radv.h
++++ b/proto/radv/radv.h
+@@ -170,6 +170,9 @@ struct radv_prefix         /* One prefix we advertise */
+   u8 valid;                   /* Is the prefix valid? If not, we advertise it
+                                  with 0 lifetime, so clients stop using it */
+   u8 mark;                    /* A temporary mark for processing */
++  u8 onlink;                  /* Flags copied from prefix config */
++  u8 autonomous;
++
+   btime changed;              /* Last time when the prefix changed */
+   struct radv_prefix_config *cf; /* The config tied to this prefix */
+ };
+-- 
+GitLab
+
diff -Nru bird2-2.17.1/debian/patches/series bird2-2.17.1/debian/patches/series
--- bird2-2.17.1/debian/patches/series  1970-01-01 01:00:00.000000000 +0100
+++ bird2-2.17.1/debian/patches/series  2025-12-18 00:21:35.000000000 +0100
@@ -0,0 +1,4 @@
+backport-01-8f5b2196
+backport-02-067f361d
+backport-03-f8770e81
+backport-04-c4d54c21

-- 
ciao,
Marco

Attachment: signature.asc
Description: PGP signature


--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 13.4

This update has been released as part of Debian 13.4.

--- End Message ---

Reply via email to