diff --git a/go.mod b/go.mod index 700178b5..e666261e 100644 --- a/go.mod +++ b/go.mod @@ -175,7 +175,8 @@ require ( golang.org/x/mod v0.10.0 // indirect golang.org/x/net v0.10.0 // indirect golang.org/x/oauth2 v0.8.0 // indirect - golang.org/x/sys v0.8.0 // indirect + golang.org/x/sys v0.11.0 // indirect + golang.org/x/term v0.11.0 // indirect golang.org/x/text v0.9.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.9.1 // indirect diff --git a/go.sum b/go.sum index bcfac946..27d85d0c 100644 --- a/go.sum +++ b/go.sum @@ -911,6 +911,8 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -920,6 +922,8 @@ golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= +golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= diff --git a/server/api/pty.go b/server/api/pty.go index 9d1e3eea..2962d3a5 100644 --- a/server/api/pty.go +++ b/server/api/pty.go @@ -38,8 +38,7 @@ func Pty(c *gin.Context) { err = <-errorChan - if err != nil && websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway, websocket.CloseNoStatusReceived, - websocket.CloseNormalClosure) { + if err != nil { logger.Error(err) } diff --git a/server/internal/pty/pipeline.go b/server/internal/pty/pipeline.go index 00fe439e..7a5aae55 100644 --- a/server/internal/pty/pipeline.go +++ b/server/internal/pty/pipeline.go @@ -43,13 +43,9 @@ func NewPipeLine(conn *websocket.Conn) (p *Pipeline, err error) { func (p *Pipeline) ReadWsAndWritePty(errorChan chan error) { for { msgType, payload, err := p.ws.ReadMessage() - if err != nil { - if websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway, websocket.CloseNoStatusReceived, - websocket.CloseNormalClosure) { - errorChan <- errors.Wrap(err, "Error ReadWsAndWritePty unexpected close") - return - } - errorChan <- err + if err != nil && websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway, websocket.CloseNoStatusReceived, + websocket.CloseNormalClosure) { + errorChan <- errors.Wrap(err, "Error ReadWsAndWritePty unexpected close") return } if msgType != websocket.TextMessage { @@ -118,12 +114,8 @@ func (p *Pipeline) ReadPtyAndWriteWs(errorChan chan error) { } processedOutput := validString(string(buf[:n])) err = p.ws.WriteMessage(websocket.TextMessage, []byte(processedOutput)) - if err != nil { - if websocket.IsUnexpectedCloseError(err, websocket.CloseNormalClosure) { - errorChan <- errors.Wrap(err, "Error ReadPtyAndWriteWs websocket write") - return - } - errorChan <- err + if err != nil && websocket.IsUnexpectedCloseError(err, websocket.CloseNormalClosure) { + errorChan <- errors.Wrap(err, "Error ReadPtyAndWriteWs websocket write") return } } diff --git a/server/server.go b/server/server.go index 238ba339..5bbb569c 100644 --- a/server/server.go +++ b/server/server.go @@ -21,9 +21,11 @@ func Program(state overseer.State) { boot.Kernel() - err := http.Serve(state.Listener, router.InitRouter()) - if err != nil { - logger.Error(err) + if state.Listener != nil { + err := http.Serve(state.Listener, router.InitRouter()) + if err != nil { + logger.Error(err) + } } logger.Info("Server exiting")