[PR #3689] [MERGED] [client] Fix Rosenpass permissive mode handling #18241

Closed
opened 2026-08-05 04:08:17 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/3689
Author: @pappz
Created: 4/16/2025
Status: Merged
Merged: 4/16/2025
Merged by: @mlsmaycon

Base: mainHead: fix/rosenpass-permissive


📝 Commits (2)

📊 Changes

4 files changed (+214 additions, -40 deletions)

View changed files

📝 client/internal/engine.go (+10 -27)
📝 client/internal/peer/conn.go (+57 -9)
📝 client/internal/peer/conn_test.go (+143 -0)
📝 client/internal/peer/handshaker.go (+4 -4)

📄 Description

Describe your changes

Between two agents, if both have enabled Rosenpass but only one side is set to permissive mode, the WireGuard handshake never occurs.

Figure out the proper preshared key setting for WrieGuard after the connection, based on the offer-answer signaling messages.

Stack

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • Extended the README / documentation, if necessary

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbirdio/netbird/pull/3689 **Author:** [@pappz](https://github.com/pappz) **Created:** 4/16/2025 **Status:** ✅ Merged **Merged:** 4/16/2025 **Merged by:** [@mlsmaycon](https://github.com/mlsmaycon) **Base:** `main` ← **Head:** `fix/rosenpass-permissive` --- ### 📝 Commits (2) - [`b9b4039`](https://github.com/netbirdio/netbird/commit/b9b4039f9cea4ef0cfa23c7a071f04f0db17abf0) Fix Rosenpass permissive mode handling - [`9a14aa5`](https://github.com/netbirdio/netbird/commit/9a14aa55709e35ae62819b8f0b3ab0495c9ceef9) Spelling fix ### 📊 Changes **4 files changed** (+214 additions, -40 deletions) <details> <summary>View changed files</summary> 📝 `client/internal/engine.go` (+10 -27) 📝 `client/internal/peer/conn.go` (+57 -9) 📝 `client/internal/peer/conn_test.go` (+143 -0) 📝 `client/internal/peer/handshaker.go` (+4 -4) </details> ### 📄 Description ## Describe your changes Between two agents, if both have enabled Rosenpass but only one side is set to permissive mode, the WireGuard handshake never occurs. Figure out the proper preshared key setting for WrieGuard after the connection, based on the offer-answer signaling messages. ## Issue ticket number and link ## Stack <!-- branch-stack --> ### Checklist - [x] Is it a bug fix - [ ] Is a typo/documentation fix - [ ] Is a feature enhancement - [ ] It is a refactor - [ ] Created tests that fail without the change (if possible) - [ ] Extended the README / documentation, if necessary --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2026-08-05 04:08:17 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#18241