Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package bird for openSUSE:Factory checked in at 2024-04-11 19:42:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bird (Old) and /work/SRC/openSUSE:Factory/.bird.new.29460 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bird" Thu Apr 11 19:42:00 2024 rev:21 rq:1166889 version:2.15.1 Changes: -------- --- /work/SRC/openSUSE:Factory/bird/bird.changes 2024-03-25 21:20:46.197126351 +0100 +++ /work/SRC/openSUSE:Factory/.bird.new.29460/bird.changes 2024-04-11 19:42:25.964600853 +0200 @@ -1,0 +2,9 @@ +Sun Apr 7 08:33:35 UTC 2024 - Martin Hauke <mar...@gmx.de> + +- Update to version 2.15.1 + * OSPF: Fix regression in handling PtP links + * RPKI: Handle connection resets properly + * Static: Reject invalid combination of options + * Fix builds with limited set of protocols + +------------------------------------------------------------------- Old: ---- bird-2.15.tar.gz New: ---- bird-2.15.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bird.spec ++++++ --- /var/tmp/diff_new_pack.uAqO1r/_old 2024-04-11 19:42:26.424617871 +0200 +++ /var/tmp/diff_new_pack.uAqO1r/_new 2024-04-11 19:42:26.424617871 +0200 @@ -21,7 +21,7 @@ %define bird_home %{_localstatedir}/lib/bird %define bird_runtimedir %{_rundir}/%{name} Name: bird -Version: 2.15 +Version: 2.15.1 Release: 0 Summary: The BIRD Internet Routing Daemon License: GPL-2.0-or-later ++++++ bird-2.15.tar.gz -> bird-2.15.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.15/ChangeLog new/bird-2.15.1/ChangeLog --- old/bird-2.15/ChangeLog 2024-03-10 21:43:54.000000000 +0100 +++ new/bird-2.15.1/ChangeLog 2024-03-22 09:26:46.000000000 +0100 @@ -1,3 +1,52 @@ +commit 0b684a43bd7ce4a32c9cd7754b88286bcd1815bb +Author: Ondrej Zajicek <santi...@crfreenet.org> +Date: Fri Mar 22 01:40:43 2024 +0100 + + NEWS and version update + +commit a698f8d917af8e9b421a667766a42f45e9359616 +Author: Ondrej Zajicek <santi...@crfreenet.org> +Date: Fri Mar 22 00:40:06 2024 +0100 + + Static: Fix invalid combination of nexthop options + + BFD requires defined local IP, but for nexthop with onlink there might + not be such address. So we reject this combination of nexthop options. + This prevent crash where such combination of options is used. + +commit d21a508e8d9210f5b3b60d8fc8b79a344d4a7440 +Author: Ondrej Zajicek <santi...@crfreenet.org> +Date: Thu Mar 21 15:59:26 2024 +0100 + + Revert "OSPF: On physical PtP links, skip next-hop resolving" + + This reverts commit 31aa62ae6d2e111e87c08b4b27a16ead968f0689. + +commit 46a4932574106315e2585d990199da7825863a85 +Merge: 66d6ac70 44e351d1 +Author: Ondrej Zajicek <santi...@crfreenet.org> +Date: Thu Mar 21 15:58:52 2024 +0100 + + Merge commit '44e351d1522f0099687aac9fd65dcea73a04af43' + +commit 66d6ac70856bdb29840983454373bb10a532e4f7 +Author: Ondrej Zajicek <santi...@crfreenet.org> +Date: Tue Mar 19 15:39:46 2024 +0100 + + Babel: Fix build with limited set of protocols + +commit 06209c1917338a6d5f3844a31a1b9e29c1c85573 +Author: Ondrej Zajicek <santi...@crfreenet.org> +Date: Tue Mar 19 15:39:19 2024 +0100 + + Aggregator: Fix build with limited set of protocols + +commit 099898ffdd7dd0133d520c96ff19319e500448b3 +Author: Michal Zagorski <mzago...@akamai.com> +Date: Mon Mar 11 12:57:13 2024 +0100 + + Static: Fix build with limited set of protocols + commit adfff448789c9e75c525f5162c046fb44f9768cd Author: Ondrej Zajicek <santi...@crfreenet.org> Date: Sun Mar 10 18:57:04 2024 +0100 @@ -204,6 +253,20 @@ Trivial code cleanups +commit 44e351d1522f0099687aac9fd65dcea73a04af43 +Author: Maria Matejka <m...@ucw.cz> +Date: Fri Dec 8 20:53:20 2023 +0100 + + RPKI: retry timer doesn't reset connections when more data is pending + + With very busy deployments, RPKI may kill cache connection too early. + Instead of that, we want it to keep loading if any data is waiting to + be read and the reason for delay is just our congestion. + + Also, when we kill the session because of actually slow cache, we want + to reload from scratch as the data we have is unreliable and nobody + knows whether the state is still valid. + commit 2b6bd8ca3a3955a407b0553009b05572693cfdf7 Author: Ondrej Zajicek <santi...@crfreenet.org> Date: Wed Dec 13 18:07:38 2023 +0100 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.15/NEWS new/bird-2.15.1/NEWS --- old/bird-2.15/NEWS 2024-03-10 21:42:50.000000000 +0100 +++ new/bird-2.15.1/NEWS 2024-03-22 09:26:27.000000000 +0100 @@ -1,3 +1,9 @@ +Version 2.15.1 (2024-03-22) + o OSPF: Fix regression in handling PtP links + o RPKI: Handle connection resets properly + o Static: Reject invalid combination of options + o Fix builds with limited set of protocols + Version 2.15 (2024-03-10) o BGP: Send hold timer o BGP: New options to specify required BGP capabilities diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.15/proto/aggregator/config.Y new/bird-2.15.1/proto/aggregator/config.Y --- old/bird-2.15/proto/aggregator/config.Y 2023-10-07 13:59:53.000000000 +0200 +++ new/bird-2.15.1/proto/aggregator/config.Y 2024-03-22 09:26:27.000000000 +0100 @@ -20,7 +20,7 @@ CF_DECLS -CF_KEYWORDS(AGGREGATOR, AGGREGATE, ON, MERGE, BY) +CF_KEYWORDS(AGGREGATOR, PEER, AGGREGATE, ON, MERGE, BY) %type <ai> aggr_item aggr_list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.15/proto/babel/config.Y new/bird-2.15.1/proto/babel/config.Y --- old/bird-2.15/proto/babel/config.Y 2023-10-07 13:59:48.000000000 +0200 +++ new/bird-2.15.1/proto/babel/config.Y 2024-03-22 09:26:27.000000000 +0100 @@ -26,7 +26,7 @@ TYPE, WIRED, WIRELESS, RX, TX, BUFFER, PRIORITY, LENGTH, CHECK, LINK, NEXT, HOP, IPV4, IPV6, BABEL_METRIC, SHOW, INTERFACES, NEIGHBORS, ENTRIES, RANDOMIZE, ROUTER, ID, AUTHENTICATION, NONE, MAC, PERMISSIVE, - EXTENDED, TUNNEL, RTT, MIN, MAX, DECAY, SEND, TIMESTAMPS) + EXTENDED, TUNNEL, RTT, MIN, MAX, DECAY, SEND, TIMESTAMPS, COST, DELAY) CF_GRAMMAR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.15/proto/ospf/rt.c new/bird-2.15.1/proto/ospf/rt.c --- old/bird-2.15/proto/ospf/rt.c 2024-03-10 21:42:50.000000000 +0100 +++ new/bird-2.15.1/proto/ospf/rt.c 2024-03-22 09:26:27.000000000 +0100 @@ -1796,12 +1796,7 @@ if (ifa->type == OSPF_IT_VLINK) return new_nexthop(p, IPA_NONE, NULL, 0); - /* - * The type of the ospf_iface is PtP and the iface is a physical PtP link, - * so we can simply use the iface, and skip further resolving. - */ - if (ifa->type == OSPF_IT_PTP && !(ifa->iface->flags & IF_MULTIACCESS)) - return new_nexthop(p, IPA_NONE, ifa->iface, ifa->ecmp_weight); + /* FIXME: On physical PtP links we may skip next-hop altogether */ if (ospf_is_v2(p) || ospf_is_ip6(p)) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.15/proto/rpki/rpki.c new/bird-2.15.1/proto/rpki/rpki.c --- old/bird-2.15/proto/rpki/rpki.c 2023-06-22 17:02:43.000000000 +0200 +++ new/bird-2.15.1/proto/rpki/rpki.c 2024-03-22 09:26:27.000000000 +0100 @@ -295,6 +295,7 @@ rpki_close_connection(cache); rpki_schedule_next_retry(cache); rpki_stop_refresh_timer_event(cache); + cache->request_session_id = 1; break; case RPKI_CS_FAST_RECONNECT: @@ -365,12 +366,11 @@ } static int -rpki_do_we_recv_prefix_pdu_in_last_seconds(struct rpki_cache *cache) +rpki_sync_is_stuck(struct rpki_cache *cache) { - if (!cache->last_rx_prefix) - return 0; - - return ((current_time() - cache->last_rx_prefix) <= 2 S); + return !sk_rx_ready(cache->tr_sock->sk) && ( + !cache->last_rx_prefix || (current_time() - cache->last_rx_prefix > 10 S) + ); } /** @@ -402,7 +402,7 @@ /* We sent Serial/Reset Query in last refresh hook call * and we got Cache Response but didn't get End-Of-Data yet. * It could be a trouble with network or only too long synchronization. */ - if (!rpki_do_we_recv_prefix_pdu_in_last_seconds(cache)) + if (rpki_sync_is_stuck(cache)) { CACHE_TRACE(D_EVENTS, cache, "Sync takes more time than refresh interval %us, resetting connection", cache->refresh_interval); rpki_cache_change_state(cache, RPKI_CS_ERROR_TRANSPORT); @@ -443,7 +443,7 @@ case RPKI_CS_CONNECTING: case RPKI_CS_SYNC_START: case RPKI_CS_SYNC_RUNNING: - if (!rpki_do_we_recv_prefix_pdu_in_last_seconds(cache)) + if (rpki_sync_is_stuck(cache)) { /* We tried to establish a connection in last retry hook call and haven't done * yet. It looks like troubles with network. We are aggressive here. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.15/proto/static/config.Y new/bird-2.15.1/proto/static/config.Y --- old/bird-2.15/proto/static/config.Y 2024-03-10 21:42:50.000000000 +0100 +++ new/bird-2.15.1/proto/static/config.Y 2024-03-22 09:26:27.000000000 +0100 @@ -45,7 +45,7 @@ CF_DECLS -CF_KEYWORDS(STATIC, ROUTE, VIA, DROP, REJECT, PROHIBIT, PREFERENCE, CHECK, LINK) +CF_KEYWORDS(STATIC, ROUTE, VIA, DROP, REJECT, PROHIBIT, PREFERENCE, CHECK, LINK, DEV) CF_KEYWORDS(ONLINK, WEIGHT, RECURSIVE, IGP, TABLE, BLACKHOLE, UNREACHABLE, BFD, MPLS) @@ -95,6 +95,8 @@ } | stat_nexthop ONLINK bool { this_snh->onlink = $3; + if (this_snh->use_bfd && this_snh->onlink) + cf_error("Options 'bfd' and 'onlink' cannot be combined"); } | stat_nexthop WEIGHT expr { this_snh->weight = $3 - 1; @@ -102,6 +104,8 @@ } | stat_nexthop BFD bool { this_snh->use_bfd = $3; cf_check_bfd($3); + if (this_snh->use_bfd && this_snh->onlink) + cf_error("Options 'bfd' and 'onlink' cannot be combined"); } ; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bird-2.15/sysdep/config.h new/bird-2.15.1/sysdep/config.h --- old/bird-2.15/sysdep/config.h 2024-03-10 21:42:50.000000000 +0100 +++ new/bird-2.15.1/sysdep/config.h 2024-03-22 09:26:27.000000000 +0100 @@ -13,7 +13,7 @@ #ifdef GIT_LABEL #define BIRD_VERSION XSTR1(GIT_LABEL) #else -#define BIRD_VERSION "2.15" +#define BIRD_VERSION "2.15.1" #endif /* Include parameters determined by configure script */