From 9b5541d17d8e712fc36243fdcd58fcf2290a9e53 Mon Sep 17 00:00:00 2001 From: Viktor Liu Date: Sat, 16 May 2026 22:11:28 +0200 Subject: [PATCH] Extract session-address anonymization helper to lower status complexity --- client/status/status.go | 43 +++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/client/status/status.go b/client/status/status.go index 3cd4fe545..e599727f8 100644 --- a/client/status/status.go +++ b/client/status/status.go @@ -1024,6 +1024,19 @@ func anonymizeOverview(a *anonymize.Anonymizer, overview *OutputOverview) { overview.Relays.Details[i] = detail } + anonymizeNSServerGroups(a, overview) + + for i, route := range overview.Networks { + overview.Networks[i] = a.AnonymizeRoute(route) + } + + overview.FQDN = a.AnonymizeDomain(overview.FQDN) + + anonymizeEvents(a, overview) + anonymizeServerSessions(a, overview) +} + +func anonymizeNSServerGroups(a *anonymize.Anonymizer, overview *OutputOverview) { for i, nsGroup := range overview.NSServerGroups { for j, domain := range nsGroup.Domains { overview.NSServerGroups[i].Domains[j] = a.AnonymizeDomain(domain) @@ -1035,13 +1048,9 @@ func anonymizeOverview(a *anonymize.Anonymizer, overview *OutputOverview) { } } } +} - for i, route := range overview.Networks { - overview.Networks[i] = a.AnonymizeRoute(route) - } - - overview.FQDN = a.AnonymizeDomain(overview.FQDN) - +func anonymizeEvents(a *anonymize.Anonymizer, overview *OutputOverview) { for i, event := range overview.Events { overview.Events[i].Message = a.AnonymizeString(event.Message) overview.Events[i].UserMessage = a.AnonymizeString(event.UserMessage) @@ -1050,21 +1059,21 @@ func anonymizeOverview(a *anonymize.Anonymizer, overview *OutputOverview) { event.Metadata[k] = a.AnonymizeString(v) } } +} +func anonymizeRemoteAddress(a *anonymize.Anonymizer, addr string) string { + if host, port, err := net.SplitHostPort(addr); err == nil { + return fmt.Sprintf("%s:%s", a.AnonymizeIPString(host), port) + } + return a.AnonymizeIPString(addr) +} + +func anonymizeServerSessions(a *anonymize.Anonymizer, overview *OutputOverview) { for i, session := range overview.SSHServerState.Sessions { - if host, port, err := net.SplitHostPort(session.RemoteAddress); err == nil { - overview.SSHServerState.Sessions[i].RemoteAddress = fmt.Sprintf("%s:%s", a.AnonymizeIPString(host), port) - } else { - overview.SSHServerState.Sessions[i].RemoteAddress = a.AnonymizeIPString(session.RemoteAddress) - } + overview.SSHServerState.Sessions[i].RemoteAddress = anonymizeRemoteAddress(a, session.RemoteAddress) overview.SSHServerState.Sessions[i].Command = a.AnonymizeString(session.Command) } - for i, sess := range overview.VNCServerState.Sessions { - if host, port, err := net.SplitHostPort(sess.RemoteAddress); err == nil { - overview.VNCServerState.Sessions[i].RemoteAddress = fmt.Sprintf("%s:%s", a.AnonymizeIPString(host), port) - } else { - overview.VNCServerState.Sessions[i].RemoteAddress = a.AnonymizeIPString(sess.RemoteAddress) - } + overview.VNCServerState.Sessions[i].RemoteAddress = anonymizeRemoteAddress(a, sess.RemoteAddress) } }