From 2007054d77b5bc40c943a9fd64874e850c750f2d Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 8 Mar 2026 09:29:08 +0200 Subject: task: parse ssh remote host with SplitHostPort (task 374) --- internal/server/server.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/internal/server/server.go b/internal/server/server.go index 1dd0121..943defa 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -6,7 +6,6 @@ import ( "fmt" "io" "net" - "strings" "time" "github.com/mimecast/dtail/internal/config" @@ -282,8 +281,13 @@ func (s *Server) Callback(c gossh.ConnMetadata, } authInfo := string(authPayload) - splitted := strings.Split(c.RemoteAddr().String(), ":") - remoteIP := splitted[0] + remoteAddr := c.RemoteAddr().String() + remoteIP, _, splitErr := net.SplitHostPort(remoteAddr) + if splitErr != nil { + dlog.Server.Debug(user, "Unable to split remote address host/port, using raw address", + "remoteAddr", remoteAddr, "error", splitErr) + remoteIP = remoteAddr + } if strategy, found := s.authStrategies[user.Name]; found && strategy(user, authInfo, remoteIP) { return nil, nil -- cgit v1.2.3