From 2f3bf5bb164fd7282b1b00964b3be8ecee6a7113 Mon Sep 17 00:00:00 2001 From: riccardom Date: Tue, 7 Jul 2026 07:44:35 +0200 Subject: [PATCH] [client] diag: log remote rosenpass key presence + RP negotiation start Warn-level PSK-DIAG logs in Manager.OnConnected: confirm the remote peer advertises a rosenpass key (so we know the far side has RP enabled) and that RP negotiation is started (initiator flag). Paired with the existing 'set PSK on WG' log, a bundle now shows whether RP starts but never completes on the client. --- client/internal/rosenpass/manager.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/internal/rosenpass/manager.go b/client/internal/rosenpass/manager.go index 903753753..d7cd687c2 100644 --- a/client/internal/rosenpass/manager.go +++ b/client/internal/rosenpass/manager.go @@ -280,13 +280,15 @@ func (m *Manager) OnConnected(remoteWireGuardKey string, remoteRosenpassPubKey [ } rpKeyHash := hashRosenpassKey(remoteRosenpassPubKey) - log.Debugf("received remote rosenpass key %s, my key %s", rpKeyHash, m.rpKeyHash) + initiator := bytes.Compare(m.spk, remoteRosenpassPubKey) == 1 + log.Warnf("PSK-DIAG: remote peer %s advertises rosenpass (key %s, addr %s); starting RP negotiation as initiator=%v", remoteWireGuardKey, rpKeyHash, remoteRosenpassAddr, initiator) err := m.addPeer(remoteRosenpassPubKey, remoteRosenpassAddr, wireGuardIP, remoteWireGuardKey) if err != nil { log.Errorf("failed to add rosenpass peer: %s", err) return } + log.Warnf("PSK-DIAG: rosenpass peer added for %s (RP negotiation started; watch for 'set PSK on WG' to confirm completion)", remoteWireGuardKey) } // IsPresharedKeyInitialized returns true if Rosenpass has completed a handshake