From 559e6731079ed1c555984389f1a5c6cf485392c8 Mon Sep 17 00:00:00 2001 From: Carlos Hernandez Date: Sat, 22 Feb 2025 04:41:24 -0700 Subject: [PATCH] [client] fix privacy warning on macOS (#3350) * fix: macos privacy warning Move GetDesktopUIUserAgent to its own package so UI does not have to import client/system package that reaches out to broadcasts address. Thus, fixing the network privacy warnings. --- client/system/info.go | 6 ------ client/ui/client_ui.go | 5 +++-- client/ui/desktop/desktop.go | 8 ++++++++ client/ui/event/event.go | 4 ++-- 4 files changed, 13 insertions(+), 10 deletions(-) create mode 100644 client/ui/desktop/desktop.go diff --git a/client/system/info.go b/client/system/info.go index d83e9509a..2a0343ca6 100644 --- a/client/system/info.go +++ b/client/system/info.go @@ -9,7 +9,6 @@ import ( "google.golang.org/grpc/metadata" "github.com/netbirdio/netbird/management/proto" - "github.com/netbirdio/netbird/version" ) // DeviceNameCtxKey context key for device name @@ -119,11 +118,6 @@ func extractDeviceName(ctx context.Context, defaultName string) string { return v } -// GetDesktopUIUserAgent returns the Desktop ui user agent -func GetDesktopUIUserAgent() string { - return "netbird-desktop-ui/" + version.NetbirdVersion() -} - func networkAddresses() ([]NetworkAddress, error) { interfaces, err := net.Interfaces() if err != nil { diff --git a/client/ui/client_ui.go b/client/ui/client_ui.go index 100076806..bfc4cde16 100644 --- a/client/ui/client_ui.go +++ b/client/ui/client_ui.go @@ -33,7 +33,7 @@ import ( "github.com/netbirdio/netbird/client/internal" "github.com/netbirdio/netbird/client/proto" - "github.com/netbirdio/netbird/client/system" + "github.com/netbirdio/netbird/client/ui/desktop" "github.com/netbirdio/netbird/client/ui/event" "github.com/netbirdio/netbird/util" "github.com/netbirdio/netbird/version" @@ -779,6 +779,7 @@ func normalizedVersion(version string) string { return versionString } +// onTrayExit is called when the tray icon is closed. func (s *serviceClient) onTrayExit() { for _, item := range s.mExitNodeItems { item.cancel() @@ -799,7 +800,7 @@ func (s *serviceClient) getSrvClient(timeout time.Duration) (proto.DaemonService strings.TrimPrefix(s.addr, "tcp://"), grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithBlock(), - grpc.WithUserAgent(system.GetDesktopUIUserAgent()), + grpc.WithUserAgent(desktop.GetUIUserAgent()), ) if err != nil { return nil, fmt.Errorf("dial service: %w", err) diff --git a/client/ui/desktop/desktop.go b/client/ui/desktop/desktop.go new file mode 100644 index 000000000..0c99e2f38 --- /dev/null +++ b/client/ui/desktop/desktop.go @@ -0,0 +1,8 @@ +package desktop + +import "github.com/netbirdio/netbird/version" + +// GetUIUserAgent returns the Desktop ui user agent +func GetUIUserAgent() string { + return "netbird-desktop-ui/" + version.NetbirdVersion() +} diff --git a/client/ui/event/event.go b/client/ui/event/event.go index 62a3c7c6a..4d949416d 100644 --- a/client/ui/event/event.go +++ b/client/ui/event/event.go @@ -15,7 +15,7 @@ import ( "google.golang.org/grpc/credentials/insecure" "github.com/netbirdio/netbird/client/proto" - "github.com/netbirdio/netbird/client/system" + "github.com/netbirdio/netbird/client/ui/desktop" ) type Handler func(*proto.SystemEvent) @@ -167,7 +167,7 @@ func getClient(addr string) (proto.DaemonServiceClient, error) { conn, err := grpc.NewClient( strings.TrimPrefix(addr, "tcp://"), grpc.WithTransportCredentials(insecure.NewCredentials()), - grpc.WithUserAgent(system.GetDesktopUIUserAgent()), + grpc.WithUserAgent(desktop.GetUIUserAgent()), ) if err != nil { return nil, err