From c45ac83eb04cafd6d0f7fac0cd8288e5e3a15ce7 Mon Sep 17 00:00:00 2001 From: jdl Date: Sat, 13 Jun 2026 21:21:55 +0200 Subject: [PATCH] Fixed bug - update probe address if it changes between ticks --- peer/app.go | 2 +- peer/on_tick.go | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/peer/app.go b/peer/app.go index 0d05855..ea60a90 100644 --- a/peer/app.go +++ b/peer/app.go @@ -118,7 +118,7 @@ func (a *App) onShutdown() error { func (a *App) logNetworkState() { var b strings.Builder fmt.Fprintf(&b, "Network state (self: %s public=%v):\n", a.vpnIP, a.isPublic) - fmt.Fprintf(&b, " Network: %v", a.vpnNet) + fmt.Fprintf(&b, " Network: %v\n", a.vpnNet) fmt.Fprintf(&b, " IPv4: %v\n", a.selfV4) fmt.Fprintf(&b, " IPv6: %v\n", a.selfV6) diff --git a/peer/on_tick.go b/peer/on_tick.go index c13e45a..92c385d 100644 --- a/peer/on_tick.go +++ b/peer/on_tick.go @@ -42,10 +42,13 @@ func (a *App) onTick() { } case StateProbing: - // Promote probing peers to direct once alive (direct path confirmed - // working). if time.Since(p.LastHandshakeTime()) < 2*wginterface.ProbeKeepalive { + // Promote probing peers to direct once alive (direct path confirmed + // working). a.devPromote(p) + } else if ep := p.PreferredEndpoint(); ep.IsValid() && ep != p.WGEndpoint() { + // Update the probe address if it's changed. + a.devAddProbe(p, ep) } case StateDirect: