From 1f907e69a787c086598a0726aae9477a326c48c1 Mon Sep 17 00:00:00 2001 From: Ethan Dickson Date: Thu, 5 Jun 2025 04:06:31 +0000 Subject: [PATCH 1/2] chore(vpn): send info, debug logs over tunnel --- cli/vpndaemon_windows.go | 1 - vpn/dylib/lib.go | 5 ++++- vpn/tunnel.go | 32 ++++++++++++-------------------- 3 files changed, 16 insertions(+), 22 deletions(-) diff --git a/cli/vpndaemon_windows.go b/cli/vpndaemon_windows.go index 227bd0fe8e0db..cf74558ffa1ab 100644 --- a/cli/vpndaemon_windows.go +++ b/cli/vpndaemon_windows.go @@ -65,7 +65,6 @@ func (r *RootCmd) vpnDaemonRun() *serpent.Command { logger.Info(ctx, "starting tunnel") tunnel, err := vpn.NewTunnel(ctx, logger, pipe, vpn.NewClient(), vpn.UseOSNetworkingStack(), - vpn.UseAsLogger(), vpn.UseCustomLogSinks(sinks...), ) if err != nil { diff --git a/vpn/dylib/lib.go b/vpn/dylib/lib.go index de6f91042c7ef..3677aee369598 100644 --- a/vpn/dylib/lib.go +++ b/vpn/dylib/lib.go @@ -46,7 +46,10 @@ func OpenTunnel(cReadFD, cWriteFD int32) int32 { return ErrOpenPipe } - _, err = vpn.NewTunnel(ctx, slog.Make(), conn, vpn.NewClient(), + // We log everything, as filtering is done by whatever renders the OS + // logs. + _, err = vpn.NewTunnel(ctx, slog.Make().Leveled(slog.LevelDebug), conn, + vpn.NewClient(), vpn.UseOSNetworkingStack(), vpn.UseAsLogger(), ) diff --git a/vpn/tunnel.go b/vpn/tunnel.go index aa1d0e32ef5b9..62ae2e1644041 100644 --- a/vpn/tunnel.go +++ b/vpn/tunnel.go @@ -46,9 +46,6 @@ type Tunnel struct { logger slog.Logger - logMu sync.Mutex - logs []*TunnelMessage - client Client // clientLogger is a separate logger than `logger` when the `UseAsLogger` @@ -300,29 +297,22 @@ func (t *Tunnel) stop(*StopRequest) error { var _ slog.Sink = &Tunnel{} func (t *Tunnel) LogEntry(_ context.Context, e slog.SinkEntry) { - t.logMu.Lock() - defer t.logMu.Unlock() - t.logs = append(t.logs, &TunnelMessage{ + msg := &TunnelMessage{ Msg: &TunnelMessage_Log{ Log: sinkEntryToPb(e), }, - }) -} - -func (t *Tunnel) Sync() { - t.logMu.Lock() - logs := t.logs - t.logs = nil - t.logMu.Unlock() - for _, msg := range logs { - select { - case <-t.ctx.Done(): - return - case t.sendCh <- msg: - } + } + select { + case <-t.updater.ctx.Done(): + return + case <-t.ctx.Done(): + return + case t.sendCh <- msg: } } +func (t *Tunnel) Sync() {} + func sinkEntryToPb(e slog.SinkEntry) *Log { l := &Log{ // #nosec G115 - Safe conversion for log levels which are small positive integers @@ -583,6 +573,8 @@ func (u *updater) sendAgentUpdate() { return } + u.logger.Debug(u.ctx, "sending agent update") + msg := &TunnelMessage{ Msg: &TunnelMessage_PeerUpdate{ PeerUpdate: &PeerUpdate{ From 8535d64313b5ef4e63fe717ffb002105cb8bfb11 Mon Sep 17 00:00:00 2001 From: Ethan Dickson Date: Thu, 5 Jun 2025 04:12:28 +0000 Subject: [PATCH 2/2] lint --- vpn/tunnel.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vpn/tunnel.go b/vpn/tunnel.go index 62ae2e1644041..e4624ac1822b0 100644 --- a/vpn/tunnel.go +++ b/vpn/tunnel.go @@ -311,7 +311,7 @@ func (t *Tunnel) LogEntry(_ context.Context, e slog.SinkEntry) { } } -func (t *Tunnel) Sync() {} +func (*Tunnel) Sync() {} func sinkEntryToPb(e slog.SinkEntry) *Log { l := &Log{ pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy