session status and duration displaying properly

This commit is contained in:
valentin.daviot 2018-11-05 11:09:44 +01:00 committed by Manfred Touron
parent d6be01b9b7
commit a1a3a29d00
No known key found for this signature in database
GPG key ID: 6D4DED2EAB123456

24
ssh.go
View file

@ -163,19 +163,19 @@ func channelHandler(srv *ssh.Server, conn *gossh.ServerConn, newChan gossh.NewCh
if err != nil { if err != nil {
log.Printf("Error: %v", err) log.Printf("Error: %v", err)
} }
}()
now := time.Now() now := time.Now()
sessUpdate := Session{ sessUpdate := Session{
Status: SessionStatusClosed, Status: SessionStatusClosed,
ErrMsg: fmt.Sprintf("%v", err), ErrMsg: fmt.Sprintf("%v", err),
StoppedAt: &now, StoppedAt: &now,
} }
switch sessUpdate.ErrMsg { switch sessUpdate.ErrMsg {
case "lch closed the connection", "rch closed the connection": case "lch closed the connection", "rch closed the connection":
sessUpdate.ErrMsg = "" sessUpdate.ErrMsg = ""
} }
actx.db.Model(&sess).Updates(&sessUpdate) actx.db.Model(&sess).Updates(&sessUpdate)
}()
case BastionSchemeTelnet: case BastionSchemeTelnet:
tmpSrv := ssh.Server{ tmpSrv := ssh.Server{
// PtyCallback: srv.PtyCallback, // PtyCallback: srv.PtyCallback,