diff options
| author | Paul Buetow <pbuetow@mimecast.com> | 2024-02-23 15:01:41 +0200 |
|---|---|---|
| committer | Paul Buetow <pbuetow@mimecast.com> | 2024-03-29 17:16:39 +0200 |
| commit | 0f718c963e118139c893e9c52092e278bcd3b396 (patch) | |
| tree | dce61c6695bc3badd455a64767252e6947b32711 /internal/server/server.go | |
| parent | 7a0b0cde9c7c46d5f70ebc4a9d4f4e718d835f70 (diff) | |
lint warnings
Diffstat (limited to 'internal/server/server.go')
| -rw-r--r-- | internal/server/server.go | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/internal/server/server.go b/internal/server/server.go index 761880d..8b581b1 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -130,7 +130,9 @@ func (s *Server) handleChannel(ctx context.Context, sshConn gossh.Conn, user, err := user.New(sshConn.User(), sshConn.RemoteAddr().String()) if err != nil { dlog.Server.Error(user, err) - newChannel.Reject(gossh.Prohibited, err.Error()) + if err := newChannel.Reject(gossh.Prohibited, err.Error()); err != nil { + dlog.Server.Debug(err) + } return } @@ -138,7 +140,9 @@ func (s *Server) handleChannel(ctx context.Context, sshConn gossh.Conn, if newChannel.ChannelType() != "session" { err := errors.New("Don'w allow other channel types than session") dlog.Server.Error(user, err) - newChannel.Reject(gossh.Prohibited, err.Error()) + if err := newChannel.Reject(gossh.Prohibited, err.Error()); err != nil { + dlog.Server.Debug(err) + } return } @@ -160,7 +164,9 @@ func (s *Server) handleRequests(ctx context.Context, sshConn gossh.Conn, dlog.Server.Info(user, "Invoking request handler") for req := range in { var payload = struct{ Value string }{} - gossh.Unmarshal(req.Payload, &payload) + if err := gossh.Unmarshal(req.Payload, &payload); err != nil { + dlog.Server.Error(user, err) + } switch req.Type { case "shell": @@ -177,14 +183,18 @@ func (s *Server) handleRequests(ctx context.Context, sshConn gossh.Conn, } go func() { + defer terminate() // Broken pipe, cancel - io.Copy(channel, handler) - terminate() + if _, err := io.Copy(channel, handler); err != nil { + dlog.Server.Trace(user, fmt.Errorf("channel->handler: %w", err)) + } }() go func() { + defer terminate() // Broken pipe, cancel - io.Copy(handler, channel) - terminate() + if _, err := io.Copy(handler, channel); err != nil { + dlog.Server.Trace(user, fmt.Errorf("handler->channel: %w", err)) + } }() go func() { select { @@ -203,9 +213,13 @@ func (s *Server) handleRequests(ctx context.Context, sshConn gossh.Conn, }() // Only serving shell type - req.Reply(true, nil) + if err := req.Reply(true, nil); err != nil { + dlog.Server.Trace(user, fmt.Errorf("reply(true): %w", err)) + } default: - req.Reply(false, nil) + if err := req.Reply(false, nil); err != nil { + dlog.Server.Trace(user, fmt.Errorf("reply(false): %w", err)) + } return fmt.Errorf("Closing SSH connection as unknown request received|%s|%v", req.Type, payload.Value) } |
