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-04 19:06:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/netbird (Old) and /work/SRC/openSUSE:Factory/.netbird.new.21863 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "netbird" Sat Apr 4 19:06:05 2026 rev:18 rq:1344404 version:0.67.3 Changes: -------- --- /work/SRC/openSUSE:Factory/netbird/netbird.changes 2026-04-02 17:42:38.371007571 +0200 +++ /work/SRC/openSUSE:Factory/.netbird.new.21863/netbird.changes 2026-04-04 19:07:59.378532744 +0200 @@ -1,0 +2,11 @@ +Thu Apr 2 23:01:24 UTC 2026 - Marcus Rueckert <[email protected]> + +- Update to 0.67.3: + - [management] Allow updating embedded IdP user name and email by + @bcmmbaga in #5721 + - [management] Fix L4 service creation deadlock on + single-connection databases by @lixmal in #5779 + - [management,client] Revert gRPC client secret removal by + @bcmmbaga in #5781 + +------------------------------------------------------------------- Old: ---- netbird-0.67.2.obscpio New: ---- netbird-0.67.3.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ netbird.spec ++++++ --- /var/tmp/diff_new_pack.3klQIZ/_old 2026-04-04 19:08:02.318653289 +0200 +++ /var/tmp/diff_new_pack.3klQIZ/_new 2026-04-04 19:08:02.326653617 +0200 @@ -32,7 +32,7 @@ %bcond_with stub_config Name: netbird -Version: 0.67.2 +Version: 0.67.3 Release: 0 Summary: Mesh VPN based on WireGuard License: AGPL-3.0-only AND BSD-3-Clause ++++++ _service ++++++ --- /var/tmp/diff_new_pack.3klQIZ/_old 2026-04-04 19:08:02.698668870 +0200 +++ /var/tmp/diff_new_pack.3klQIZ/_new 2026-04-04 19:08:02.746670838 +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.2</param> + <param name="revision">refs/tags/v0.67.3</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">disable</param> ++++++ netbird-0.67.2.obscpio -> netbird-0.67.3.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/FETCH_HEAD new/netbird-0.67.3/.git/FETCH_HEAD --- old/netbird-0.67.2/.git/FETCH_HEAD 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/.git/FETCH_HEAD 2026-04-02 18:21:00.000000000 +0200 @@ -177,10 +177,11 @@ 56d82a99e15b0e88f4b102725b859210136d0a40 not-for-merge branch 'fix/events-key-handling' of https://github.com/netbirdio/netbird 5a4d3770660460620dd25649593f9c74fca869c8 not-for-merge branch 'fix/filter-cgnat-cni-ice-candidates' of https://github.com/netbirdio/netbird 1e630b5d45bfd5fd9fadc776f522de2fc39a0ccf not-for-merge branch 'fix/geo-download' of https://github.com/netbirdio/netbird +e32ad68f98eb19e9b9ec0adb42d4840bd728e8cc not-for-merge branch 'fix/getting-started' of https://github.com/netbirdio/netbird cbb9f9f56275b6f6c7ac343acd4dbb5b7f77a065 not-for-merge branch 'fix/go-mod-version' of https://github.com/netbirdio/netbird f84c2e84ec4b78d3513b04d594bd5cfe444377ab not-for-merge branch 'fix/group-by-name-permission' of https://github.com/netbirdio/netbird 190708ba22635707c17543f5a2d37f2aecad2533 not-for-merge branch 'fix/group-update-existing-resource' of https://github.com/netbirdio/netbird -dfbc0ef6f1cf1c19c2859aa32bcced26e37d6f13 not-for-merge branch 'fix/grpc-retry' of https://github.com/netbirdio/netbird +7d5decf946e8803d25ef1ca504385d19e0057e04 not-for-merge branch 'fix/grpc-retry' of https://github.com/netbirdio/netbird 5af9bbfec9e4ca72189349c4f3ca8b18fa1ed5e0 not-for-merge branch 'fix/handle-canceling-schedule' of https://github.com/netbirdio/netbird 437c778ee95d1b0b4e30e606c1f1a82099e73b5f not-for-merge branch 'fix/http-redirect' of https://github.com/netbirdio/netbird 7649b962c17cc9d3f6e298405e95f3f7518da3ba not-for-merge branch 'fix/include-active-dashboard-users' of https://github.com/netbirdio/netbird @@ -207,6 +208,7 @@ dde4693fdd2d24090d26768f23bd2f03cff61f3c not-for-merge branch 'fix/sync-peer-race' of https://github.com/netbirdio/netbird 782a8cb13036db0a5eecf8296d8cb5ef51a8760f not-for-merge branch 'fix/systemd-service-logs' of https://github.com/netbirdio/netbird e59223c81f2e16ab4fe7cc6c86ef227d0e7a0f8d not-for-merge branch 'fix/test-freebsd' of https://github.com/netbirdio/netbird +0293cc2bd7090efb8c4185d9737763abee31b68f not-for-merge branch 'fix/ui-debug-bundle-no-abort' of https://github.com/netbirdio/netbird 55d8b4e42c71742df1ecd9ce64791acb099a3b0c not-for-merge branch 'fix/up-sequence' of https://github.com/netbirdio/netbird 09e3a3c407dccf5ad762c8ea451f607ecf6981ef not-for-merge branch 'fix/use-ip-for-default-routes-on-darwin' of https://github.com/netbirdio/netbird 8bc6ffc6b58e446879cb639bcd63cf5f7c3e72bb not-for-merge branch 'fix/user-expiration' of https://github.com/netbirdio/netbird @@ -222,13 +224,13 @@ f894da0b11b61e000179520444e39d9ef838a974 not-for-merge branch 'job-stream-notify-disconnection-eof' of https://github.com/netbirdio/netbird 4eeaf95ab80daa0d12e33afe8cfd5d7ffd33a8f0 not-for-merge branch 'job-yml-update' of https://github.com/netbirdio/netbird 4787e28ae3c687b5bb40ab71271868fd210d246a not-for-merge branch 'loadtest-signal' of https://github.com/netbirdio/netbird -0d8074d13519e97ac909e6da8f17fa5e4a2f7c7c not-for-merge branch 'local-dns-tcp-listener' of https://github.com/netbirdio/netbird +c5932ef346e3bd541629ced09da165b33af1b44a not-for-merge branch 'local-dns-tcp-listener' of https://github.com/netbirdio/netbird affa8bf348107386d3ab5eabc617ac79350283fd not-for-merge branch 'log-checks' of https://github.com/netbirdio/netbird ffeacd5e18586d8d4be5d3ae3c4377f999519d9b not-for-merge branch 'log-short-id' of https://github.com/netbirdio/netbird 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 -aaf813fc0cb80a8ab84d5398bc10b248d2a3481b not-for-merge branch 'main' of https://github.com/netbirdio/netbird +28fbf96b2ad00f7bf523c5cda2ca0b9480858e00 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 @@ -344,7 +346,6 @@ bfeb60fbb5b2928628ba8b62b06b49dda427956b not-for-merge branch 'trigger-proxy-update' of https://github.com/netbirdio/netbird d6dce0672267fec0272b31836d1db83b1a54e493 not-for-merge branch 'tshoot/windows-logger' of https://github.com/netbirdio/netbird a6a8d139c761597d9d8b165486aa8a675f4d8640 not-for-merge branch 'unsymmetrical-squash' of https://github.com/netbirdio/netbird -3aed69ddbbebba23abcf520a5a3522e5edc462a5 not-for-merge branch 'update-embedded-idp-user' of https://github.com/netbirdio/netbird d9fa28d8a05b7cf09c72bfd46e6c0f7cb332c757 not-for-merge branch 'update-getting-started-flow-use-postgres' of https://github.com/netbirdio/netbird 07c52357050d1b833f078700792d34817483445c not-for-merge branch 'update-gomobile' of https://github.com/netbirdio/netbird 3b19e8c57e024119da6af00a5d7b53f0b239ae3f not-for-merge branch 'update-lock-log-level' of https://github.com/netbirdio/netbird diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/HEAD new/netbird-0.67.3/.git/HEAD --- old/netbird-0.67.2/.git/HEAD 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/.git/HEAD 2026-04-02 18:21:00.000000000 +0200 @@ -1 +1 @@ -aaf813fc0cb80a8ab84d5398bc10b248d2a3481b +9d1a37c64455798aa4b15b7404700d78993588c4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/ORIG_HEAD new/netbird-0.67.3/.git/ORIG_HEAD --- old/netbird-0.67.2/.git/ORIG_HEAD 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/.git/ORIG_HEAD 2026-04-02 18:21:00.000000000 +0200 @@ -1 +1 @@ -aaf813fc0cb80a8ab84d5398bc10b248d2a3481b +9d1a37c64455798aa4b15b7404700d78993588c4 Binary files old/netbird-0.67.2/.git/index and new/netbird-0.67.3/.git/index differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/logs/HEAD new/netbird-0.67.3/.git/logs/HEAD --- old/netbird-0.67.2/.git/logs/HEAD 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/.git/logs/HEAD 2026-04-02 18:21:00.000000000 +0200 @@ -19,3 +19,4 @@ b5489d4986e6131f663ba24e330cbb3af4b92580 fd9d43033448d4fc0d0a98a4dc520f45614daa6f Marcus Rückert <[email protected]> 1774265184 +0100 checkout: moving from b5489d4986e6131f663ba24e330cbb3af4b92580 to v0.67.0 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/logs/refs/remotes/origin/fix/getting-started new/netbird-0.67.3/.git/logs/refs/remotes/origin/fix/getting-started --- old/netbird-0.67.2/.git/logs/refs/remotes/origin/fix/getting-started 1970-01-01 01:00:00.000000000 +0100 +++ new/netbird-0.67.3/.git/logs/refs/remotes/origin/fix/getting-started 2026-04-02 18:21:00.000000000 +0200 @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 e32ad68f98eb19e9b9ec0adb42d4840bd728e8cc Marcus Rückert <[email protected]> 1775170794 +0200 pull: storing head diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/logs/refs/remotes/origin/fix/grpc-retry new/netbird-0.67.3/.git/logs/refs/remotes/origin/fix/grpc-retry --- old/netbird-0.67.2/.git/logs/refs/remotes/origin/fix/grpc-retry 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/.git/logs/refs/remotes/origin/fix/grpc-retry 2026-04-02 18:21:00.000000000 +0200 @@ -1 +1,2 @@ 0000000000000000000000000000000000000000 dfbc0ef6f1cf1c19c2859aa32bcced26e37d6f13 Marcus Rückert <[email protected]> 1775073331 +0200 pull: storing head +dfbc0ef6f1cf1c19c2859aa32bcced26e37d6f13 7d5decf946e8803d25ef1ca504385d19e0057e04 Marcus Rückert <[email protected]> 1775170794 +0200 pull: fast-forward diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/logs/refs/remotes/origin/fix/ui-debug-bundle-no-abort new/netbird-0.67.3/.git/logs/refs/remotes/origin/fix/ui-debug-bundle-no-abort --- old/netbird-0.67.2/.git/logs/refs/remotes/origin/fix/ui-debug-bundle-no-abort 1970-01-01 01:00:00.000000000 +0100 +++ new/netbird-0.67.3/.git/logs/refs/remotes/origin/fix/ui-debug-bundle-no-abort 2026-04-02 18:21:00.000000000 +0200 @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 0293cc2bd7090efb8c4185d9737763abee31b68f Marcus Rückert <[email protected]> 1775170794 +0200 pull: storing head diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/logs/refs/remotes/origin/local-dns-tcp-listener new/netbird-0.67.3/.git/logs/refs/remotes/origin/local-dns-tcp-listener --- old/netbird-0.67.2/.git/logs/refs/remotes/origin/local-dns-tcp-listener 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/.git/logs/refs/remotes/origin/local-dns-tcp-listener 2026-04-02 18:21:00.000000000 +0200 @@ -1 +1,2 @@ 0000000000000000000000000000000000000000 0d8074d13519e97ac909e6da8f17fa5e4a2f7c7c Marcus Rückert <[email protected]> 1775073331 +0200 pull: storing head +0d8074d13519e97ac909e6da8f17fa5e4a2f7c7c c5932ef346e3bd541629ced09da165b33af1b44a Marcus Rückert <[email protected]> 1775170794 +0200 pull: fast-forward diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/logs/refs/remotes/origin/main new/netbird-0.67.3/.git/logs/refs/remotes/origin/main --- old/netbird-0.67.2/.git/logs/refs/remotes/origin/main 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/.git/logs/refs/remotes/origin/main 2026-04-02 18:21:00.000000000 +0200 @@ -17,3 +17,4 @@ d3d6a327e002245ff6cb12350c7c0e2253ee092c fd9d43033448d4fc0d0a98a4dc520f45614daa6f Marcus Rückert <[email protected]> 1774265179 +0100 pull: fast-forward 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/logs/refs/remotes/origin/update-embedded-idp-user new/netbird-0.67.3/.git/logs/refs/remotes/origin/update-embedded-idp-user --- old/netbird-0.67.2/.git/logs/refs/remotes/origin/update-embedded-idp-user 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/.git/logs/refs/remotes/origin/update-embedded-idp-user 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 3aed69ddbbebba23abcf520a5a3522e5edc462a5 Marcus Rückert <[email protected]> 1775073331 +0200 pull: storing head Binary files old/netbird-0.67.2/.git/objects/pack/pack-58b6a01934df3212f7f0e8ef6b1bf3c7792d36eb.idx and new/netbird-0.67.3/.git/objects/pack/pack-58b6a01934df3212f7f0e8ef6b1bf3c7792d36eb.idx differ Binary files old/netbird-0.67.2/.git/objects/pack/pack-58b6a01934df3212f7f0e8ef6b1bf3c7792d36eb.pack and new/netbird-0.67.3/.git/objects/pack/pack-58b6a01934df3212f7f0e8ef6b1bf3c7792d36eb.pack differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/objects/pack/pack-58b6a01934df3212f7f0e8ef6b1bf3c7792d36eb.promisor new/netbird-0.67.3/.git/objects/pack/pack-58b6a01934df3212f7f0e8ef6b1bf3c7792d36eb.promisor --- old/netbird-0.67.2/.git/objects/pack/pack-58b6a01934df3212f7f0e8ef6b1bf3c7792d36eb.promisor 1970-01-01 01:00:00.000000000 +0100 +++ new/netbird-0.67.3/.git/objects/pack/pack-58b6a01934df3212f7f0e8ef6b1bf3c7792d36eb.promisor 2026-04-02 18:21:00.000000000 +0200 @@ -0,0 +1 @@ +e2aba9480b0b9e22f88fd05f5e76fa1549ba875b e2aba9480b0b9e22f88fd05f5e76fa1549ba875b Binary files old/netbird-0.67.2/.git/objects/pack/pack-58b6a01934df3212f7f0e8ef6b1bf3c7792d36eb.rev and new/netbird-0.67.3/.git/objects/pack/pack-58b6a01934df3212f7f0e8ef6b1bf3c7792d36eb.rev differ Binary files old/netbird-0.67.2/.git/objects/pack/pack-9b2fc76a4ac6e99abadb4b474ddb4c51a31e68f6.idx and new/netbird-0.67.3/.git/objects/pack/pack-9b2fc76a4ac6e99abadb4b474ddb4c51a31e68f6.idx differ Binary files old/netbird-0.67.2/.git/objects/pack/pack-9b2fc76a4ac6e99abadb4b474ddb4c51a31e68f6.pack and new/netbird-0.67.3/.git/objects/pack/pack-9b2fc76a4ac6e99abadb4b474ddb4c51a31e68f6.pack differ Binary files old/netbird-0.67.2/.git/objects/pack/pack-9b2fc76a4ac6e99abadb4b474ddb4c51a31e68f6.rev and new/netbird-0.67.3/.git/objects/pack/pack-9b2fc76a4ac6e99abadb4b474ddb4c51a31e68f6.rev differ Binary files old/netbird-0.67.2/.git/objects/pack/pack-b686319088c6c20bd639698cbff62bd761225433.idx and new/netbird-0.67.3/.git/objects/pack/pack-b686319088c6c20bd639698cbff62bd761225433.idx differ Binary files old/netbird-0.67.2/.git/objects/pack/pack-b686319088c6c20bd639698cbff62bd761225433.pack and new/netbird-0.67.3/.git/objects/pack/pack-b686319088c6c20bd639698cbff62bd761225433.pack differ Binary files old/netbird-0.67.2/.git/objects/pack/pack-b686319088c6c20bd639698cbff62bd761225433.rev and new/netbird-0.67.3/.git/objects/pack/pack-b686319088c6c20bd639698cbff62bd761225433.rev differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/refs/remotes/origin/fix/getting-started new/netbird-0.67.3/.git/refs/remotes/origin/fix/getting-started --- old/netbird-0.67.2/.git/refs/remotes/origin/fix/getting-started 1970-01-01 01:00:00.000000000 +0100 +++ new/netbird-0.67.3/.git/refs/remotes/origin/fix/getting-started 2026-04-02 18:21:00.000000000 +0200 @@ -0,0 +1 @@ +e32ad68f98eb19e9b9ec0adb42d4840bd728e8cc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/refs/remotes/origin/fix/grpc-retry new/netbird-0.67.3/.git/refs/remotes/origin/fix/grpc-retry --- old/netbird-0.67.2/.git/refs/remotes/origin/fix/grpc-retry 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/.git/refs/remotes/origin/fix/grpc-retry 2026-04-02 18:21:00.000000000 +0200 @@ -1 +1 @@ -dfbc0ef6f1cf1c19c2859aa32bcced26e37d6f13 +7d5decf946e8803d25ef1ca504385d19e0057e04 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/refs/remotes/origin/fix/ui-debug-bundle-no-abort new/netbird-0.67.3/.git/refs/remotes/origin/fix/ui-debug-bundle-no-abort --- old/netbird-0.67.2/.git/refs/remotes/origin/fix/ui-debug-bundle-no-abort 1970-01-01 01:00:00.000000000 +0100 +++ new/netbird-0.67.3/.git/refs/remotes/origin/fix/ui-debug-bundle-no-abort 2026-04-02 18:21:00.000000000 +0200 @@ -0,0 +1 @@ +0293cc2bd7090efb8c4185d9737763abee31b68f diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/refs/remotes/origin/local-dns-tcp-listener new/netbird-0.67.3/.git/refs/remotes/origin/local-dns-tcp-listener --- old/netbird-0.67.2/.git/refs/remotes/origin/local-dns-tcp-listener 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/.git/refs/remotes/origin/local-dns-tcp-listener 2026-04-02 18:21:00.000000000 +0200 @@ -1 +1 @@ -0d8074d13519e97ac909e6da8f17fa5e4a2f7c7c +c5932ef346e3bd541629ced09da165b33af1b44a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/refs/remotes/origin/main new/netbird-0.67.3/.git/refs/remotes/origin/main --- old/netbird-0.67.2/.git/refs/remotes/origin/main 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/.git/refs/remotes/origin/main 2026-04-02 18:21:00.000000000 +0200 @@ -1 +1 @@ -aaf813fc0cb80a8ab84d5398bc10b248d2a3481b +28fbf96b2ad00f7bf523c5cda2ca0b9480858e00 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/refs/remotes/origin/update-embedded-idp-user new/netbird-0.67.3/.git/refs/remotes/origin/update-embedded-idp-user --- old/netbird-0.67.2/.git/refs/remotes/origin/update-embedded-idp-user 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/.git/refs/remotes/origin/update-embedded-idp-user 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -3aed69ddbbebba23abcf520a5a3522e5edc462a5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/.git/refs/tags/v0.67.3 new/netbird-0.67.3/.git/refs/tags/v0.67.3 --- old/netbird-0.67.2/.git/refs/tags/v0.67.3 1970-01-01 01:00:00.000000000 +0100 +++ new/netbird-0.67.3/.git/refs/tags/v0.67.3 2026-04-02 18:21:00.000000000 +0200 @@ -0,0 +1 @@ +9d1a37c64455798aa4b15b7404700d78993588c4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/client/internal/auth/auth.go new/netbird-0.67.3/client/internal/auth/auth.go --- old/netbird-0.67.2/client/internal/auth/auth.go 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/client/internal/auth/auth.go 2026-04-02 18:21:00.000000000 +0200 @@ -221,6 +221,7 @@ config := &PKCEAuthProviderConfig{ Audience: protoConfig.GetAudience(), ClientID: protoConfig.GetClientID(), + ClientSecret: protoConfig.GetClientSecret(), //nolint:staticcheck TokenEndpoint: protoConfig.GetTokenEndpoint(), AuthorizationEndpoint: protoConfig.GetAuthorizationEndpoint(), Scope: protoConfig.GetScope(), @@ -265,6 +266,7 @@ config := &DeviceAuthProviderConfig{ Audience: protoConfig.GetAudience(), ClientID: protoConfig.GetClientID(), + ClientSecret: protoConfig.GetClientSecret(), //nolint:staticcheck Domain: protoConfig.Domain, TokenEndpoint: protoConfig.GetTokenEndpoint(), DeviceAuthEndpoint: protoConfig.GetDeviceAuthEndpoint(), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/client/internal/auth/device_flow.go new/netbird-0.67.3/client/internal/auth/device_flow.go --- old/netbird-0.67.2/client/internal/auth/device_flow.go 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/client/internal/auth/device_flow.go 2026-04-02 18:21:00.000000000 +0200 @@ -29,6 +29,8 @@ type DeviceAuthProviderConfig struct { // ClientID An IDP application client id ClientID string + // ClientSecret An IDP application client secret + ClientSecret string // Domain An IDP API domain // Deprecated. Use OIDCConfigEndpoint instead Domain string diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/client/internal/auth/pkce_flow.go new/netbird-0.67.3/client/internal/auth/pkce_flow.go --- old/netbird-0.67.2/client/internal/auth/pkce_flow.go 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/client/internal/auth/pkce_flow.go 2026-04-02 18:21:00.000000000 +0200 @@ -38,6 +38,8 @@ type PKCEAuthProviderConfig struct { // ClientID An IDP application client id ClientID string + // ClientSecret An IDP application client secret + ClientSecret string // Audience An Audience for to authorization validation Audience string // TokenEndpoint is the endpoint of an IDP manager where clients can obtain access token @@ -109,7 +111,8 @@ } cfg := &oauth2.Config{ - ClientID: config.ClientID, + ClientID: config.ClientID, + ClientSecret: config.ClientSecret, Endpoint: oauth2.Endpoint{ AuthURL: config.AuthorizationEndpoint, TokenURL: config.TokenEndpoint, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/management/internals/modules/reverseproxy/service/manager/manager.go new/netbird-0.67.3/management/internals/modules/reverseproxy/service/manager/manager.go --- old/netbird-0.67.2/management/internals/modules/reverseproxy/service/manager/manager.go 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/management/internals/modules/reverseproxy/service/manager/manager.go 2026-04-02 18:21:00.000000000 +0200 @@ -288,6 +288,8 @@ } func (m *Manager) persistNewService(ctx context.Context, accountID string, svc *service.Service) error { + customPorts := m.clusterCustomPorts(ctx, svc) + return m.store.ExecuteInTransaction(ctx, func(transaction store.Store) error { if svc.Domain != "" { if err := m.checkDomainAvailable(ctx, transaction, svc.Domain, ""); err != nil { @@ -295,7 +297,7 @@ } } - if err := m.ensureL4Port(ctx, transaction, svc); err != nil { + if err := m.ensureL4Port(ctx, transaction, svc, customPorts); err != nil { return err } @@ -315,12 +317,23 @@ }) } +// clusterCustomPorts queries whether the cluster supports custom ports. +// Must be called before entering a transaction: the underlying query uses +// the main DB handle, which deadlocks when called inside a transaction +// that already holds the connection. +func (m *Manager) clusterCustomPorts(ctx context.Context, svc *service.Service) *bool { + if !service.IsL4Protocol(svc.Mode) { + return nil + } + return m.capabilities.ClusterSupportsCustomPorts(ctx, svc.ProxyCluster) +} + // ensureL4Port auto-assigns a listen port when needed and validates cluster support. -func (m *Manager) ensureL4Port(ctx context.Context, tx store.Store, svc *service.Service) error { +// customPorts must be pre-computed via clusterCustomPorts before entering a transaction. +func (m *Manager) ensureL4Port(ctx context.Context, tx store.Store, svc *service.Service, customPorts *bool) error { if !service.IsL4Protocol(svc.Mode) { return nil } - customPorts := m.capabilities.ClusterSupportsCustomPorts(ctx, svc.ProxyCluster) if service.IsPortBasedProtocol(svc.Mode) && svc.ListenPort > 0 && (customPorts == nil || !*customPorts) { if svc.Source != service.SourceEphemeral { return status.Errorf(status.InvalidArgument, "custom ports not supported on cluster %s", svc.ProxyCluster) @@ -404,12 +417,14 @@ // The count and exists queries use FOR UPDATE locking to serialize concurrent creates // for the same peer, preventing the per-peer limit from being bypassed. func (m *Manager) persistNewEphemeralService(ctx context.Context, accountID, peerID string, svc *service.Service) error { + customPorts := m.clusterCustomPorts(ctx, svc) + return m.store.ExecuteInTransaction(ctx, func(transaction store.Store) error { if err := m.validateEphemeralPreconditions(ctx, transaction, accountID, peerID, svc); err != nil { return err } - if err := m.ensureL4Port(ctx, transaction, svc); err != nil { + if err := m.ensureL4Port(ctx, transaction, svc, customPorts); err != nil { return err } @@ -512,16 +527,49 @@ } func (m *Manager) persistServiceUpdate(ctx context.Context, accountID string, service *service.Service) (*serviceUpdateInfo, error) { + effectiveCluster, err := m.resolveEffectiveCluster(ctx, accountID, service) + if err != nil { + return nil, err + } + + svcForCaps := *service + svcForCaps.ProxyCluster = effectiveCluster + customPorts := m.clusterCustomPorts(ctx, &svcForCaps) + var updateInfo serviceUpdateInfo - err := m.store.ExecuteInTransaction(ctx, func(transaction store.Store) error { - return m.executeServiceUpdate(ctx, transaction, accountID, service, &updateInfo) + err = m.store.ExecuteInTransaction(ctx, func(transaction store.Store) error { + return m.executeServiceUpdate(ctx, transaction, accountID, service, &updateInfo, customPorts) }) return &updateInfo, err } -func (m *Manager) executeServiceUpdate(ctx context.Context, transaction store.Store, accountID string, service *service.Service, updateInfo *serviceUpdateInfo) error { +// resolveEffectiveCluster determines the cluster that will be used after the update. +// It reads the existing service without locking and derives the new cluster if the domain changed. +func (m *Manager) resolveEffectiveCluster(ctx context.Context, accountID string, svc *service.Service) (string, error) { + existing, err := m.store.GetServiceByID(ctx, store.LockingStrengthNone, accountID, svc.ID) + if err != nil { + return "", err + } + + if existing.Domain == svc.Domain { + return existing.ProxyCluster, nil + } + + if m.clusterDeriver != nil { + derived, err := m.clusterDeriver.DeriveClusterFromDomain(ctx, accountID, svc.Domain) + if err != nil { + log.WithError(err).Warnf("could not derive cluster from domain %s", svc.Domain) + } else { + return derived, nil + } + } + + return existing.ProxyCluster, nil +} + +func (m *Manager) executeServiceUpdate(ctx context.Context, transaction store.Store, accountID string, service *service.Service, updateInfo *serviceUpdateInfo, customPorts *bool) error { existingService, err := transaction.GetServiceByID(ctx, store.LockingStrengthUpdate, accountID, service.ID) if err != nil { return err @@ -558,7 +606,7 @@ m.preserveListenPort(service, existingService) updateInfo.serviceEnabledChanged = existingService.Enabled != service.Enabled - if err := m.ensureL4Port(ctx, transaction, service); err != nil { + if err := m.ensureL4Port(ctx, transaction, service, customPorts); err != nil { return err } if err := m.checkPortConflict(ctx, transaction, service); err != nil { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/management/internals/modules/reverseproxy/service/service.go new/netbird-0.67.3/management/internals/modules/reverseproxy/service/service.go --- old/netbird-0.67.2/management/internals/modules/reverseproxy/service/service.go 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/management/internals/modules/reverseproxy/service/service.go 2026-04-02 18:21:00.000000000 +0200 @@ -787,6 +787,11 @@ } func (s *Service) validateL4Target(target *Target) error { + // L4 services have a single target; per-target disable is meaningless + // (use the service-level Enabled flag instead). Force it on so that + // buildPathMappings always includes the target in the proto. + target.Enabled = true + if target.Port == 0 { return errors.New("target port is required for L4 services") } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/management/internals/shared/grpc/server.go new/netbird-0.67.3/management/internals/shared/grpc/server.go --- old/netbird-0.67.2/management/internals/shared/grpc/server.go 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/management/internals/shared/grpc/server.go 2026-04-02 18:21:00.000000000 +0200 @@ -966,6 +966,7 @@ Provider: proto.DeviceAuthorizationFlowProvider(provider), ProviderConfig: &proto.ProviderConfig{ ClientID: s.config.DeviceAuthorizationFlow.ProviderConfig.ClientID, + ClientSecret: s.config.DeviceAuthorizationFlow.ProviderConfig.ClientSecret, Domain: s.config.DeviceAuthorizationFlow.ProviderConfig.Domain, Audience: s.config.DeviceAuthorizationFlow.ProviderConfig.Audience, DeviceAuthEndpoint: s.config.DeviceAuthorizationFlow.ProviderConfig.DeviceAuthEndpoint, @@ -1036,6 +1037,7 @@ ProviderConfig: &proto.ProviderConfig{ Audience: s.config.PKCEAuthorizationFlow.ProviderConfig.Audience, ClientID: s.config.PKCEAuthorizationFlow.ProviderConfig.ClientID, + ClientSecret: s.config.PKCEAuthorizationFlow.ProviderConfig.ClientSecret, TokenEndpoint: s.config.PKCEAuthorizationFlow.ProviderConfig.TokenEndpoint, AuthorizationEndpoint: s.config.PKCEAuthorizationFlow.ProviderConfig.AuthorizationEndpoint, Scope: s.config.PKCEAuthorizationFlow.ProviderConfig.Scope, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/management/server/user.go new/netbird-0.67.3/management/server/user.go --- old/netbird-0.67.2/management/server/user.go 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/management/server/user.go 2026-04-02 18:21:00.000000000 +0200 @@ -780,9 +780,15 @@ updatedUser.Role = update.Role updatedUser.Blocked = update.Blocked updatedUser.AutoGroups = update.AutoGroups - // these two fields can't be set via API, only via direct call to the method + // these fields can't be set via API, only via direct call to the method updatedUser.Issued = update.Issued updatedUser.IntegrationReference = update.IntegrationReference + if update.Name != "" { + updatedUser.Name = update.Name + } + if update.Email != "" { + updatedUser.Email = update.Email + } var transferredOwnerRole bool result, err := handleOwnerRoleTransfer(ctx, transaction, initiatorUser, update) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/shared/management/client/client_test.go new/netbird-0.67.3/shared/management/client/client_test.go --- old/netbird-0.67.2/shared/management/client/client_test.go 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/shared/management/client/client_test.go 2026-04-02 18:21:00.000000000 +0200 @@ -545,7 +545,8 @@ expectedFlowInfo := &mgmtProto.PKCEAuthorizationFlow{ ProviderConfig: &mgmtProto.ProviderConfig{ - ClientID: "client", + ClientID: "client", + ClientSecret: "secret", }, } @@ -568,4 +569,5 @@ } assert.Equal(t, expectedFlowInfo.ProviderConfig.ClientID, flowInfo.ProviderConfig.ClientID, "provider configured client ID should match") + assert.Equal(t, expectedFlowInfo.ProviderConfig.ClientSecret, flowInfo.ProviderConfig.ClientSecret, "provider configured client secret should match") //nolint:staticcheck } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/shared/management/http/api/openapi.yml new/netbird-0.67.3/shared/management/http/api/openapi.yml --- old/netbird-0.67.2/shared/management/http/api/openapi.yml 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/shared/management/http/api/openapi.yml 2026-04-02 18:21:00.000000000 +0200 @@ -4414,6 +4414,9 @@ items: type: string example: [ "Users" ] + connector_id: + type: string + description: DEX connector ID for embedded IDP setups IntegrationEnabled: type: object properties: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netbird-0.67.2/shared/management/http/api/types.gen.go new/netbird-0.67.3/shared/management/http/api/types.gen.go --- old/netbird-0.67.2/shared/management/http/api/types.gen.go 2026-04-01 19:23:39.000000000 +0200 +++ new/netbird-0.67.3/shared/management/http/api/types.gen.go 2026-04-02 18:21:00.000000000 +0200 @@ -1492,6 +1492,9 @@ // ClientId Azure AD application (client) ID ClientId string `json:"client_id"` + // ConnectorId DEX connector ID for embedded IDP setups + ConnectorId *string `json:"connector_id,omitempty"` + // Enabled Whether the integration is enabled Enabled bool `json:"enabled"` @@ -1632,6 +1635,9 @@ // ClientSecret Base64-encoded Azure AD client secret ClientSecret string `json:"client_secret"` + // ConnectorId DEX connector ID for embedded IDP setups + ConnectorId *string `json:"connector_id,omitempty"` + // GroupPrefixes List of start_with string patterns for groups to sync GroupPrefixes *[]string `json:"group_prefixes,omitempty"` @@ -1653,6 +1659,9 @@ // CreateGoogleIntegrationRequest defines model for CreateGoogleIntegrationRequest. type CreateGoogleIntegrationRequest struct { + // ConnectorId DEX connector ID for embedded IDP setups + ConnectorId *string `json:"connector_id,omitempty"` + // CustomerId Customer ID from Google Workspace Account Settings CustomerId string `json:"customer_id"` @@ -1689,6 +1698,9 @@ // ConnectionName The Okta enterprise connection name on Auth0 ConnectionName string `json:"connection_name"` + // ConnectorId DEX connector ID for embedded IDP setups + ConnectorId *string `json:"connector_id,omitempty"` + // GroupPrefixes List of start_with string patterns for groups to sync GroupPrefixes *[]string `json:"group_prefixes,omitempty"` @@ -1698,6 +1710,9 @@ // CreateScimIntegrationRequest defines model for CreateScimIntegrationRequest. type CreateScimIntegrationRequest struct { + // ConnectorId DEX connector ID for embedded IDP setups + ConnectorId *string `json:"connector_id,omitempty"` + // GroupPrefixes List of start_with string patterns for groups to sync GroupPrefixes *[]string `json:"group_prefixes,omitempty"` @@ -2154,6 +2169,9 @@ // GoogleIntegration defines model for GoogleIntegration. type GoogleIntegration struct { + // ConnectorId DEX connector ID for embedded IDP setups + ConnectorId *string `json:"connector_id,omitempty"` + // CustomerId Customer ID from Google Workspace CustomerId string `json:"customer_id"` @@ -2502,6 +2520,9 @@ // IntegrationSyncFilters defines model for IntegrationSyncFilters. type IntegrationSyncFilters struct { + // ConnectorId DEX connector ID for embedded IDP setups + ConnectorId *string `json:"connector_id,omitempty"` + // GroupPrefixes List of start_with string patterns for groups to sync GroupPrefixes *[]string `json:"group_prefixes,omitempty"` @@ -2994,6 +3015,9 @@ // AuthToken SCIM API token (full on creation/regeneration, masked on retrieval) AuthToken string `json:"auth_token"` + // ConnectorId DEX connector ID for embedded IDP setups + ConnectorId *string `json:"connector_id,omitempty"` + // Enabled Whether the integration is enabled Enabled bool `json:"enabled"` @@ -3864,6 +3888,9 @@ // AuthToken SCIM API token (full on creation, masked otherwise) AuthToken string `json:"auth_token"` + // ConnectorId DEX connector ID for embedded IDP setups + ConnectorId *string `json:"connector_id,omitempty"` + // Enabled Whether the integration is enabled Enabled bool `json:"enabled"` @@ -4341,6 +4368,9 @@ // ClientSecret Base64-encoded Azure AD client secret ClientSecret *string `json:"client_secret,omitempty"` + // ConnectorId DEX connector ID for embedded IDP setups + ConnectorId *string `json:"connector_id,omitempty"` + // Enabled Whether the integration is enabled Enabled *bool `json:"enabled,omitempty"` @@ -4359,6 +4389,9 @@ // UpdateGoogleIntegrationRequest defines model for UpdateGoogleIntegrationRequest. type UpdateGoogleIntegrationRequest struct { + // ConnectorId DEX connector ID for embedded IDP setups + ConnectorId *string `json:"connector_id,omitempty"` + // CustomerId Customer ID from Google Workspace Account Settings CustomerId *string `json:"customer_id,omitempty"` @@ -4380,6 +4413,9 @@ // UpdateOktaScimIntegrationRequest defines model for UpdateOktaScimIntegrationRequest. type UpdateOktaScimIntegrationRequest struct { + // ConnectorId DEX connector ID for embedded IDP setups + ConnectorId *string `json:"connector_id,omitempty"` + // Enabled Whether the integration is enabled Enabled *bool `json:"enabled,omitempty"` @@ -4392,6 +4428,9 @@ // UpdateScimIntegrationRequest defines model for UpdateScimIntegrationRequest. type UpdateScimIntegrationRequest struct { + // ConnectorId DEX connector ID for embedded IDP setups + ConnectorId *string `json:"connector_id,omitempty"` + // Enabled Whether the integration is enabled Enabled *bool `json:"enabled,omitempty"` ++++++ netbird.obsinfo ++++++ --- /var/tmp/diff_new_pack.3klQIZ/_old 2026-04-04 19:08:07.434863054 +0200 +++ /var/tmp/diff_new_pack.3klQIZ/_new 2026-04-04 19:08:07.442863382 +0200 @@ -1,5 +1,5 @@ name: netbird -version: 0.67.2 -mtime: 1775064219 -commit: aaf813fc0cb80a8ab84d5398bc10b248d2a3481b +version: 0.67.3 +mtime: 1775146860 +commit: 9d1a37c64455798aa4b15b7404700d78993588c4 ++++++ 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
