From eac6f2ce80edccfe8f41e8dde1b84955f0d85dc1 Mon Sep 17 00:00:00 2001 From: dcorral Date: Thu, 6 Nov 2025 22:23:59 +0100 Subject: [PATCH] fix version --- go.mod | 2 +- main.go | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/go.mod b/go.mod index a2d8f61..821e185 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.24.0 require ( github.com/creack/pty/v2 v2.0.1 golang.org/x/crypto v0.43.0 - golang.org/x/term v0.37.0 + golang.org/x/term v0.36.0 ) require golang.org/x/sys v0.37.0 // indirect diff --git a/main.go b/main.go index b8ce344..5c1ae6a 100644 --- a/main.go +++ b/main.go @@ -97,15 +97,15 @@ func handleChannel(channel ssh.Channel, requests <-chan *ssh.Request) { defer channel.Close() var ptmx *os.File var termWidth, termHeight uint32 = 80, 24 - var term string + var clientTerm string for req := range requests { switch req.Type { case "pty-req": if len(req.Payload) >= 4 { termLen := binary.BigEndian.Uint32(req.Payload[0:4]) if len(req.Payload) >= int(4+termLen+16) { - term = string(req.Payload[4 : 4+termLen]) - log.Println("Client TERM:", term) + clientTerm = string(req.Payload[4 : 4+termLen]) + log.Println("Client TERM:", clientTerm) cols := binary.BigEndian.Uint32(req.Payload[4+termLen : 4+termLen+4]) rows := binary.BigEndian.Uint32(req.Payload[4+termLen+4 : 4+termLen+8]) if cols > 0 { @@ -138,8 +138,8 @@ func handleChannel(channel ssh.Channel, requests <-chan *ssh.Request) { } cmd := exec.Command(command) envTerm := "TERM=xterm-256color" - if term != "" { - envTerm = "TERM=" + term + if clientTerm != "" { + envTerm = "TERM=" + clientTerm } cmd.Env = []string{"PATH=/bin", envTerm} cmd.Dir = "/" @@ -149,7 +149,7 @@ func handleChannel(channel ssh.Channel, requests <-chan *ssh.Request) { log.Println("PTY start error:", err) return } - if err := term.MakeRaw(int(ptmx.Fd())); err != nil { + if _, err := term.MakeRaw(int(ptmx.Fd())); err != nil { log.Println("MakeRaw master error:", err) } go func() {