Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package netbird for openSUSE:Factory checked 
in at 2026-04-07 16:33:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/netbird (Old)
 and      /work/SRC/openSUSE:Factory/.netbird.new.21863 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "netbird"

Tue Apr  7 16:33:17 2026 rev:19 rq:1344765 version:0.67.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/netbird/netbird.changes  2026-04-04 
19:07:59.378532744 +0200
+++ /work/SRC/openSUSE:Factory/.netbird.new.21863/netbird.changes       
2026-04-07 16:48:39.703926759 +0200
@@ -1,0 +2,9 @@
+Sun Apr  5 15:57:33 UTC 2026 - Marcus Rueckert <[email protected]>
+
+- Update to 0.67.4:
+  - [client] Fix flaky TestServiceLifecycle/Restart on FreeBSD by
+    @lixmal in #5786
+  - [client] Add GetSelectedClientRoutes to route manager and
+    update DNS route check by @mlsmaycon in #5802
+
+-------------------------------------------------------------------

Old:
----
  netbird-0.67.3.obscpio

New:
----
  netbird-0.67.4.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ netbird.spec ++++++
--- /var/tmp/diff_new_pack.2r2qhF/_old  2026-04-07 16:48:41.620005994 +0200
+++ /var/tmp/diff_new_pack.2r2qhF/_new  2026-04-07 16:48:41.624006160 +0200
@@ -32,7 +32,7 @@
 %bcond_with stub_config
 
 Name:           netbird
-Version:        0.67.3
+Version:        0.67.4
 Release:        0
 Summary:        Mesh VPN based on WireGuard
 License:        AGPL-3.0-only AND BSD-3-Clause

++++++ _service ++++++
--- /var/tmp/diff_new_pack.2r2qhF/_old  2026-04-07 16:48:41.668007979 +0200
+++ /var/tmp/diff_new_pack.2r2qhF/_new  2026-04-07 16:48:41.672008145 +0200
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/netbirdio/netbird.git</param>
     <param name="scm">git</param>
     <param name="package-meta">yes</param>
-    <param name="revision">refs/tags/v0.67.3</param>
+    <param name="revision">refs/tags/v0.67.4</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">disable</param>

++++++ netbird-0.67.3.obscpio -> netbird-0.67.4.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/netbird-0.67.3/.git/FETCH_HEAD 
new/netbird-0.67.4/.git/FETCH_HEAD
--- old/netbird-0.67.3/.git/FETCH_HEAD  2026-04-02 18:21:00.000000000 +0200
+++ new/netbird-0.67.4/.git/FETCH_HEAD  2026-04-05 13:44:53.000000000 +0200
@@ -48,6 +48,7 @@
 24053750d90dbfc381fcbca9c9925443f51a4d8b       not-for-merge   branch 
'debug-user-role' of https://github.com/netbirdio/netbird
 186b1f59ad295be8666b339d892ae73ad6a8ef1a       not-for-merge   branch 
'dependabot/go_modules/filippo.io/edwards25519-1.1.1' of 
https://github.com/netbirdio/netbird
 20bb4095f29c74aa08aa7aa0d65ff51637c3599c       not-for-merge   branch 
'dependabot/go_modules/github.com/docker/docker-28.0.0incompatible' of 
https://github.com/netbirdio/netbird
+9afb0aec4358fc9879007fec09f50cc64725f8e0       not-for-merge   branch 
'dependabot/go_modules/github.com/go-jose/go-jose/v4-4.1.4' of 
https://github.com/netbirdio/netbird
 8143834258d083d67c9307e8f0474a71b078b5ca       not-for-merge   branch 
'dependabot/go_modules/github.com/pion/dtls/v3-3.0.11' of 
https://github.com/netbirdio/netbird
 4f8e919188b9033d818b522aafe624862241add8       not-for-merge   branch 
'dependabot/go_modules/github.com/quic-go/quic-go-0.57.0' of 
https://github.com/netbirdio/netbird
 4309b50ba91a44fecd4ad4bf2273ed4e6a79718c       not-for-merge   branch 
'dependabot/go_modules/github.com/russellhaering/goxmldsig-1.6.0' of 
https://github.com/netbirdio/netbird
@@ -230,7 +231,7 @@
 97ad3307ddb9e07f40a71eaa9489ca74947a6791       not-for-merge   branch 
'log/conn-disconn' of https://github.com/netbirdio/netbird
 a69dc29e7e7e24cf6cf7746632d7b8046c0a70e7       not-for-merge   branch 
'log/getaccount-by-peer' of https://github.com/netbirdio/netbird
 0886b67ce951e5827d87571ac079b6f516027915       not-for-merge   branch 
'logs/peerlogs-addpeer' of https://github.com/netbirdio/netbird
-28fbf96b2ad00f7bf523c5cda2ca0b9480858e00       not-for-merge   branch 'main' 
of https://github.com/netbirdio/netbird
+decb5dd3af84d70844208d25ffea1f3409ebe5bf       not-for-merge   branch 'main' 
of https://github.com/netbirdio/netbird
 b03343bc4d249af295a4833161289d8339a0052a       not-for-merge   branch 
'manual-peer-logout' of https://github.com/netbirdio/netbird
 6efc1a61fe8568c3ae0704329aa2589c537e801b       not-for-merge   branch 
'merged-fixes' of https://github.com/netbirdio/netbird
 edaae5eb230d20d3bbe7fda37a13c664ea5f40b6       not-for-merge   branch 
'mgmt-ipv6-addressing' of https://github.com/netbirdio/netbird
@@ -241,7 +242,8 @@
 083063f51d7e7492bafae84938a036abc1a6164c       not-for-merge   branch 
'nb-client-k8s-statefulset' of https://github.com/netbirdio/netbird
 417fa6e833b12b62acd8d3940428e87024845d96       not-for-merge   branch 
'nb-interface-default' of https://github.com/netbirdio/netbird
 840b07c7840411a009d5cfc17cab629d2d1b13ee       not-for-merge   branch 'netmap' 
of https://github.com/netbirdio/netbird
-74a9842866244f3450e069bb3e780f8c42ce4177       not-for-merge   branch 
'nmap/cleanup' of https://github.com/netbirdio/netbird
+9a21cccfbb6f3c5e863c131333f7f8a9f8bd0623       not-for-merge   branch 
'nm/tests' of https://github.com/netbirdio/netbird
+da41a94ead2f0102e1952eddee96fcab752d67e3       not-for-merge   branch 
'nmap/cleanup' of https://github.com/netbirdio/netbird
 ca432ff681d38df2ca63375ae91f46e2d3cadd8b       not-for-merge   branch 
'nmap/compaction' of https://github.com/netbirdio/netbird
 f357db6ffad1a1c92b1f2ec1cc43e36d64a4988f       not-for-merge   branch 
'nmap/compaction-deploy' of https://github.com/netbirdio/netbird
 1bffb11d4af7d06f5fed08a4ff2092dad75cd694       not-for-merge   branch 
'output-if-key-already-exists' of https://github.com/netbirdio/netbird
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/netbird-0.67.3/.git/HEAD new/netbird-0.67.4/.git/HEAD
--- old/netbird-0.67.3/.git/HEAD        2026-04-02 18:21:00.000000000 +0200
+++ new/netbird-0.67.4/.git/HEAD        2026-04-05 13:44:53.000000000 +0200
@@ -1 +1 @@
-9d1a37c64455798aa4b15b7404700d78993588c4
+decb5dd3af84d70844208d25ffea1f3409ebe5bf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/netbird-0.67.3/.git/ORIG_HEAD 
new/netbird-0.67.4/.git/ORIG_HEAD
--- old/netbird-0.67.3/.git/ORIG_HEAD   2026-04-02 18:21:00.000000000 +0200
+++ new/netbird-0.67.4/.git/ORIG_HEAD   2026-04-05 13:44:53.000000000 +0200
@@ -1 +1 @@
-9d1a37c64455798aa4b15b7404700d78993588c4
+decb5dd3af84d70844208d25ffea1f3409ebe5bf
Binary files old/netbird-0.67.3/.git/index and new/netbird-0.67.4/.git/index 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/netbird-0.67.3/.git/logs/HEAD 
new/netbird-0.67.4/.git/logs/HEAD
--- old/netbird-0.67.3/.git/logs/HEAD   2026-04-02 18:21:00.000000000 +0200
+++ new/netbird-0.67.4/.git/logs/HEAD   2026-04-05 13:44:53.000000000 +0200
@@ -20,3 +20,4 @@
 fd9d43033448d4fc0d0a98a4dc520f45614daa6f 
145d82f322e9dfddf2fca981fea3c06b6a3bfeff Marcus Rückert <[email protected]> 
1774524656 +0100 checkout: moving from fd9d43033448d4fc0d0a98a4dc520f45614daa6f 
to v0.67.1
 145d82f322e9dfddf2fca981fea3c06b6a3bfeff 
aaf813fc0cb80a8ab84d5398bc10b248d2a3481b Marcus Rückert <[email protected]> 
1775073336 +0200 checkout: moving from 145d82f322e9dfddf2fca981fea3c06b6a3bfeff 
to v0.67.2
 aaf813fc0cb80a8ab84d5398bc10b248d2a3481b 
9d1a37c64455798aa4b15b7404700d78993588c4 Marcus Rückert <[email protected]> 
1775170799 +0200 checkout: moving from aaf813fc0cb80a8ab84d5398bc10b248d2a3481b 
to v0.67.3
+9d1a37c64455798aa4b15b7404700d78993588c4 
decb5dd3af84d70844208d25ffea1f3409ebe5bf Marcus Rückert <[email protected]> 
1775404602 +0200 checkout: moving from 9d1a37c64455798aa4b15b7404700d78993588c4 
to v0.67.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/netbird-0.67.3/.git/logs/refs/remotes/origin/dependabot/go_modules/github.com/go-jose/go-jose/v4-4.1.4
 
new/netbird-0.67.4/.git/logs/refs/remotes/origin/dependabot/go_modules/github.com/go-jose/go-jose/v4-4.1.4
--- 
old/netbird-0.67.3/.git/logs/refs/remotes/origin/dependabot/go_modules/github.com/go-jose/go-jose/v4-4.1.4
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/netbird-0.67.4/.git/logs/refs/remotes/origin/dependabot/go_modules/github.com/go-jose/go-jose/v4-4.1.4
  2026-04-05 13:44:53.000000000 +0200
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 
9afb0aec4358fc9879007fec09f50cc64725f8e0 Marcus Rückert <[email protected]> 
1775404595 +0200 pull: storing head
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/netbird-0.67.3/.git/logs/refs/remotes/origin/main 
new/netbird-0.67.4/.git/logs/refs/remotes/origin/main
--- old/netbird-0.67.3/.git/logs/refs/remotes/origin/main       2026-04-02 
18:21:00.000000000 +0200
+++ new/netbird-0.67.4/.git/logs/refs/remotes/origin/main       2026-04-05 
13:44:53.000000000 +0200
@@ -18,3 +18,4 @@
 fd9d43033448d4fc0d0a98a4dc520f45614daa6f 
145d82f322e9dfddf2fca981fea3c06b6a3bfeff Marcus Rückert <[email protected]> 
1774524651 +0100 pull: fast-forward
 145d82f322e9dfddf2fca981fea3c06b6a3bfeff 
aaf813fc0cb80a8ab84d5398bc10b248d2a3481b Marcus Rückert <[email protected]> 
1775073331 +0200 pull: fast-forward
 aaf813fc0cb80a8ab84d5398bc10b248d2a3481b 
28fbf96b2ad00f7bf523c5cda2ca0b9480858e00 Marcus Rückert <[email protected]> 
1775170794 +0200 pull: fast-forward
+28fbf96b2ad00f7bf523c5cda2ca0b9480858e00 
decb5dd3af84d70844208d25ffea1f3409ebe5bf Marcus Rückert <[email protected]> 
1775404595 +0200 pull: fast-forward
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/netbird-0.67.3/.git/logs/refs/remotes/origin/nm/tests 
new/netbird-0.67.4/.git/logs/refs/remotes/origin/nm/tests
--- old/netbird-0.67.3/.git/logs/refs/remotes/origin/nm/tests   1970-01-01 
01:00:00.000000000 +0100
+++ new/netbird-0.67.4/.git/logs/refs/remotes/origin/nm/tests   2026-04-05 
13:44:53.000000000 +0200
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 
9a21cccfbb6f3c5e863c131333f7f8a9f8bd0623 Marcus Rückert <[email protected]> 
1775404595 +0200 pull: storing head
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/netbird-0.67.3/.git/logs/refs/remotes/origin/nmap/cleanup 
new/netbird-0.67.4/.git/logs/refs/remotes/origin/nmap/cleanup
--- old/netbird-0.67.3/.git/logs/refs/remotes/origin/nmap/cleanup       
2026-04-02 18:21:00.000000000 +0200
+++ new/netbird-0.67.4/.git/logs/refs/remotes/origin/nmap/cleanup       
2026-04-05 13:44:53.000000000 +0200
@@ -1,2 +1,3 @@
 0000000000000000000000000000000000000000 
5e097beec07556189228bb37286fe9d1532c21a0 Marcus Rückert <[email protected]> 
1773259798 +0100 pull: storing head
 5e097beec07556189228bb37286fe9d1532c21a0 
74a9842866244f3450e069bb3e780f8c42ce4177 Marcus Rückert <[email protected]> 
1774265179 +0100 pull: fast-forward
+74a9842866244f3450e069bb3e780f8c42ce4177 
da41a94ead2f0102e1952eddee96fcab752d67e3 Marcus Rückert <[email protected]> 
1775404595 +0200 pull: fast-forward
Binary files 
old/netbird-0.67.3/.git/objects/pack/pack-6d8823242d389511f9125d875e2b80db5e3c02f7.idx
 and 
new/netbird-0.67.4/.git/objects/pack/pack-6d8823242d389511f9125d875e2b80db5e3c02f7.idx
 differ
Binary files 
old/netbird-0.67.3/.git/objects/pack/pack-6d8823242d389511f9125d875e2b80db5e3c02f7.pack
 and 
new/netbird-0.67.4/.git/objects/pack/pack-6d8823242d389511f9125d875e2b80db5e3c02f7.pack
 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/netbird-0.67.3/.git/objects/pack/pack-6d8823242d389511f9125d875e2b80db5e3c02f7.promisor
 
new/netbird-0.67.4/.git/objects/pack/pack-6d8823242d389511f9125d875e2b80db5e3c02f7.promisor
--- 
old/netbird-0.67.3/.git/objects/pack/pack-6d8823242d389511f9125d875e2b80db5e3c02f7.promisor
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/netbird-0.67.4/.git/objects/pack/pack-6d8823242d389511f9125d875e2b80db5e3c02f7.promisor
 2026-04-05 13:44:53.000000000 +0200
@@ -0,0 +1 @@
+b54a9cd90c868fe36c6fa2cbc86224c4b52931f0 
b54a9cd90c868fe36c6fa2cbc86224c4b52931f0
Binary files 
old/netbird-0.67.3/.git/objects/pack/pack-6d8823242d389511f9125d875e2b80db5e3c02f7.rev
 and 
new/netbird-0.67.4/.git/objects/pack/pack-6d8823242d389511f9125d875e2b80db5e3c02f7.rev
 differ
Binary files 
old/netbird-0.67.3/.git/objects/pack/pack-9001167314312163e602df5e23adf7e11deb44cd.idx
 and 
new/netbird-0.67.4/.git/objects/pack/pack-9001167314312163e602df5e23adf7e11deb44cd.idx
 differ
Binary files 
old/netbird-0.67.3/.git/objects/pack/pack-9001167314312163e602df5e23adf7e11deb44cd.pack
 and 
new/netbird-0.67.4/.git/objects/pack/pack-9001167314312163e602df5e23adf7e11deb44cd.pack
 differ
Binary files 
old/netbird-0.67.3/.git/objects/pack/pack-9001167314312163e602df5e23adf7e11deb44cd.rev
 and 
new/netbird-0.67.4/.git/objects/pack/pack-9001167314312163e602df5e23adf7e11deb44cd.rev
 differ
Binary files 
old/netbird-0.67.3/.git/objects/pack/pack-df515490bc65b0b3c42587966fcf0b1d461aa474.idx
 and 
new/netbird-0.67.4/.git/objects/pack/pack-df515490bc65b0b3c42587966fcf0b1d461aa474.idx
 differ
Binary files 
old/netbird-0.67.3/.git/objects/pack/pack-df515490bc65b0b3c42587966fcf0b1d461aa474.pack
 and 
new/netbird-0.67.4/.git/objects/pack/pack-df515490bc65b0b3c42587966fcf0b1d461aa474.pack
 differ
Binary files 
old/netbird-0.67.3/.git/objects/pack/pack-df515490bc65b0b3c42587966fcf0b1d461aa474.rev
 and 
new/netbird-0.67.4/.git/objects/pack/pack-df515490bc65b0b3c42587966fcf0b1d461aa474.rev
 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/netbird-0.67.3/.git/refs/remotes/origin/dependabot/go_modules/github.com/go-jose/go-jose/v4-4.1.4
 
new/netbird-0.67.4/.git/refs/remotes/origin/dependabot/go_modules/github.com/go-jose/go-jose/v4-4.1.4
--- 
old/netbird-0.67.3/.git/refs/remotes/origin/dependabot/go_modules/github.com/go-jose/go-jose/v4-4.1.4
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/netbird-0.67.4/.git/refs/remotes/origin/dependabot/go_modules/github.com/go-jose/go-jose/v4-4.1.4
       2026-04-05 13:44:53.000000000 +0200
@@ -0,0 +1 @@
+9afb0aec4358fc9879007fec09f50cc64725f8e0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/netbird-0.67.3/.git/refs/remotes/origin/main 
new/netbird-0.67.4/.git/refs/remotes/origin/main
--- old/netbird-0.67.3/.git/refs/remotes/origin/main    2026-04-02 
18:21:00.000000000 +0200
+++ new/netbird-0.67.4/.git/refs/remotes/origin/main    2026-04-05 
13:44:53.000000000 +0200
@@ -1 +1 @@
-28fbf96b2ad00f7bf523c5cda2ca0b9480858e00
+decb5dd3af84d70844208d25ffea1f3409ebe5bf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/netbird-0.67.3/.git/refs/remotes/origin/nm/tests 
new/netbird-0.67.4/.git/refs/remotes/origin/nm/tests
--- old/netbird-0.67.3/.git/refs/remotes/origin/nm/tests        1970-01-01 
01:00:00.000000000 +0100
+++ new/netbird-0.67.4/.git/refs/remotes/origin/nm/tests        2026-04-05 
13:44:53.000000000 +0200
@@ -0,0 +1 @@
+9a21cccfbb6f3c5e863c131333f7f8a9f8bd0623
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/netbird-0.67.3/.git/refs/remotes/origin/nmap/cleanup 
new/netbird-0.67.4/.git/refs/remotes/origin/nmap/cleanup
--- old/netbird-0.67.3/.git/refs/remotes/origin/nmap/cleanup    2026-04-02 
18:21:00.000000000 +0200
+++ new/netbird-0.67.4/.git/refs/remotes/origin/nmap/cleanup    2026-04-05 
13:44:53.000000000 +0200
@@ -1 +1 @@
-74a9842866244f3450e069bb3e780f8c42ce4177
+da41a94ead2f0102e1952eddee96fcab752d67e3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/netbird-0.67.3/.git/refs/tags/v0.67.4 
new/netbird-0.67.4/.git/refs/tags/v0.67.4
--- old/netbird-0.67.3/.git/refs/tags/v0.67.4   1970-01-01 01:00:00.000000000 
+0100
+++ new/netbird-0.67.4/.git/refs/tags/v0.67.4   2026-04-05 13:44:53.000000000 
+0200
@@ -0,0 +1 @@
+decb5dd3af84d70844208d25ffea1f3409ebe5bf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/netbird-0.67.3/client/cmd/service_test.go 
new/netbird-0.67.4/client/cmd/service_test.go
--- old/netbird-0.67.3/client/cmd/service_test.go       2026-04-02 
18:21:00.000000000 +0200
+++ new/netbird-0.67.4/client/cmd/service_test.go       2026-04-05 
13:44:53.000000000 +0200
@@ -4,7 +4,9 @@
        "context"
        "fmt"
        "os"
+       "os/signal"
        "runtime"
+       "syscall"
        "testing"
        "time"
 
@@ -13,6 +15,22 @@
        "github.com/stretchr/testify/require"
 )
 
+// TestMain intercepts when this test binary is run as a daemon subprocess.
+// On FreeBSD, the rc.d service script runs the binary via daemon(8) -r with
+// "service run ..." arguments. Since the test binary can't handle cobra CLI
+// args, it exits immediately, causing daemon -r to respawn rapidly until
+// hitting the rate limit and exiting. This makes service restart unreliable.
+// Blocking here keeps the subprocess alive until the init system sends 
SIGTERM.
+func TestMain(m *testing.M) {
+       if len(os.Args) > 2 && os.Args[1] == "service" && os.Args[2] == "run" {
+               sig := make(chan os.Signal, 1)
+               signal.Notify(sig, syscall.SIGTERM, os.Interrupt)
+               <-sig
+               return
+       }
+       os.Exit(m.Run())
+}
+
 const (
        serviceStartTimeout = 10 * time.Second
        serviceStopTimeout  = 5 * time.Second
@@ -79,6 +97,34 @@
        logLevel = "info"
        daemonAddr = fmt.Sprintf("unix://%s/netbird-test.sock", tempDir)
 
+       // Ensure cleanup even if a subtest fails and Stop/Uninstall subtests 
don't run.
+       t.Cleanup(func() {
+               cfg, err := newSVCConfig()
+               if err != nil {
+                       t.Errorf("cleanup: create service config: %v", err)
+                       return
+               }
+               ctxSvc, cancel := context.WithCancel(context.Background())
+               defer cancel()
+               s, err := newSVC(newProgram(ctxSvc, cancel), cfg)
+               if err != nil {
+                       t.Errorf("cleanup: create service: %v", err)
+                       return
+               }
+
+               // If the subtests already cleaned up, there's nothing to do.
+               if _, err := s.Status(); err != nil {
+                       return
+               }
+
+               if err := s.Stop(); err != nil {
+                       t.Errorf("cleanup: stop service: %v", err)
+               }
+               if err := s.Uninstall(); err != nil {
+                       t.Errorf("cleanup: uninstall service: %v", err)
+               }
+       })
+
        ctx := context.Background()
 
        t.Run("Install", func(t *testing.T) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/netbird-0.67.3/client/internal/engine.go 
new/netbird-0.67.4/client/internal/engine.go
--- old/netbird-0.67.3/client/internal/engine.go        2026-04-02 
18:21:00.000000000 +0200
+++ new/netbird-0.67.4/client/internal/engine.go        2026-04-05 
13:44:53.000000000 +0200
@@ -500,7 +500,7 @@
        e.routeManager.SetRouteChangeListener(e.mobileDep.NetworkChangeListener)
 
        e.dnsServer.SetRouteChecker(func(ip netip.Addr) bool {
-               for _, routes := range e.routeManager.GetClientRoutes() {
+               for _, routes := range e.routeManager.GetSelectedClientRoutes() 
{
                        for _, r := range routes {
                                if r.Network.Contains(ip) {
                                        return true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/netbird-0.67.3/client/internal/routemanager/manager.go 
new/netbird-0.67.4/client/internal/routemanager/manager.go
--- old/netbird-0.67.3/client/internal/routemanager/manager.go  2026-04-02 
18:21:00.000000000 +0200
+++ new/netbird-0.67.4/client/internal/routemanager/manager.go  2026-04-05 
13:44:53.000000000 +0200
@@ -52,6 +52,7 @@
        TriggerSelection(route.HAMap)
        GetRouteSelector() *routeselector.RouteSelector
        GetClientRoutes() route.HAMap
+       GetSelectedClientRoutes() route.HAMap
        GetClientRoutesWithNetID() map[route.NetID][]*route.Route
        SetRouteChangeListener(listener listener.NetworkChangeListener)
        InitialRouteRange() []string
@@ -465,6 +466,16 @@
        return maps.Clone(m.clientRoutes)
 }
 
+// GetSelectedClientRoutes returns only the currently selected/active client 
routes,
+// filtering out deselected exit nodes. Use this instead of GetClientRoutes 
when checking
+// if traffic should be routed through the tunnel.
+func (m *DefaultManager) GetSelectedClientRoutes() route.HAMap {
+       m.mux.Lock()
+       defer m.mux.Unlock()
+
+       return 
m.routeSelector.FilterSelectedExitNodes(maps.Clone(m.clientRoutes))
+}
+
 // GetClientRoutesWithNetID returns the current routes from the route map, but 
the keys consist of the network ID only
 func (m *DefaultManager) GetClientRoutesWithNetID() 
map[route.NetID][]*route.Route {
        m.mux.Lock()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/netbird-0.67.3/client/internal/routemanager/mock.go 
new/netbird-0.67.4/client/internal/routemanager/mock.go
--- old/netbird-0.67.3/client/internal/routemanager/mock.go     2026-04-02 
18:21:00.000000000 +0200
+++ new/netbird-0.67.4/client/internal/routemanager/mock.go     2026-04-05 
13:44:53.000000000 +0200
@@ -18,6 +18,7 @@
        TriggerSelectionFunc         func(haMap route.HAMap)
        GetRouteSelectorFunc         func() *routeselector.RouteSelector
        GetClientRoutesFunc          func() route.HAMap
+       GetSelectedClientRoutesFunc  func() route.HAMap
        GetClientRoutesWithNetIDFunc func() map[route.NetID][]*route.Route
        StopFunc                     func(manager *statemanager.Manager)
 }
@@ -61,13 +62,21 @@
        return nil
 }
 
-// GetClientRoutes mock implementation of GetClientRoutes from Manager 
interface
+// GetClientRoutes mock implementation of GetClientRoutes from the Manager 
interface
 func (m *MockManager) GetClientRoutes() route.HAMap {
        if m.GetClientRoutesFunc != nil {
                return m.GetClientRoutesFunc()
        }
        return nil
 }
+
+// GetSelectedClientRoutes mock implementation of GetSelectedClientRoutes from 
the Manager interface
+func (m *MockManager) GetSelectedClientRoutes() route.HAMap {
+       if m.GetSelectedClientRoutesFunc != nil {
+               return m.GetSelectedClientRoutesFunc()
+       }
+       return nil
+}
 
 // GetClientRoutesWithNetID mock implementation of GetClientRoutesWithNetID 
from Manager interface
 func (m *MockManager) GetClientRoutesWithNetID() 
map[route.NetID][]*route.Route {

++++++ netbird.obsinfo ++++++
--- /var/tmp/diff_new_pack.2r2qhF/_old  2026-04-07 16:48:45.384161654 +0200
+++ /var/tmp/diff_new_pack.2r2qhF/_new  2026-04-07 16:48:45.392161985 +0200
@@ -1,5 +1,5 @@
 name: netbird
-version: 0.67.3
-mtime: 1775146860
-commit: 9d1a37c64455798aa4b15b7404700d78993588c4
+version: 0.67.4
+mtime: 1775389493
+commit: decb5dd3af84d70844208d25ffea1f3409ebe5bf
 

++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/netbird/vendor.tar.zst 
/work/SRC/openSUSE:Factory/.netbird.new.21863/vendor.tar.zst differ: char 7, 
line 1

Reply via email to