Skip to content

Commit 67c9024

Browse files
committed
Avoid console SetRaw
Signed-off-by: apostasie <[email protected]>
1 parent ae29b3b commit 67c9024

File tree

5 files changed

+11
-5
lines changed

5 files changed

+11
-5
lines changed

cmd/nerdctl/container/container_run.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"strings"
2424

2525
"github.com/spf13/cobra"
26+
"golang.org/x/term"
2627

2728
"github.com/containerd/console"
2829
"github.com/containerd/log"
@@ -407,7 +408,7 @@ func runAction(cmd *cobra.Command, args []string) error {
407408
return err
408409
}
409410
defer con.Reset()
410-
if err := con.SetRaw(); err != nil {
411+
if _, err := term.MakeRaw(int(con.Fd())); err != nil {
411412
return err
412413
}
413414
}

pkg/cmd/container/attach.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"context"
2121
"errors"
2222
"fmt"
23+
"golang.org/x/term"
2324

2425
"github.com/containerd/console"
2526
containerd "github.com/containerd/containerd/v2/client"
@@ -93,7 +94,8 @@ func Attach(ctx context.Context, client *containerd.Client, req string, options
9394
return err
9495
}
9596
defer con.Reset()
96-
if err := con.SetRaw(); err != nil {
97+
98+
if _, err := term.MakeRaw(int(con.Fd())); err != nil {
9799
return fmt.Errorf("failed to set the console to raw mode: %w", err)
98100
}
99101
closer := func() {

pkg/cmd/container/exec.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"os"
2424

2525
"github.com/opencontainers/runtime-spec/specs-go"
26+
"golang.org/x/term"
2627

2728
"github.com/containerd/console"
2829
containerd "github.com/containerd/containerd/v2/client"
@@ -111,7 +112,7 @@ func execActionWithContainer(ctx context.Context, client *containerd.Client, con
111112
return err
112113
}
113114
defer con.Reset()
114-
if err := con.SetRaw(); err != nil {
115+
if _, err := term.MakeRaw(int(con.Fd())); err != nil {
115116
return err
116117
}
117118
}

pkg/containerutil/containerutil.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import (
3333
dockeropts "github.com/docker/docker/opts"
3434
"github.com/moby/sys/signal"
3535
"github.com/opencontainers/runtime-spec/specs-go"
36+
"golang.org/x/term"
3637

3738
"github.com/containerd/console"
3839
containerd "github.com/containerd/containerd/v2/client"
@@ -248,7 +249,7 @@ func Start(ctx context.Context, container containerd.Container, flagA bool, clie
248249
return err
249250
}
250251
defer con.Reset()
251-
if err := con.SetRaw(); err != nil {
252+
if _, err := term.MakeRaw(int(con.Fd())); err != nil {
252253
return err
253254
}
254255
}

pkg/logging/logging.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,14 @@ import (
3030
"sync"
3131
"time"
3232

33-
containerd "github.com/containerd/containerd/v2/client"
3433
"github.com/fsnotify/fsnotify"
3534
"github.com/muesli/cancelreader"
3635

36+
containerd "github.com/containerd/containerd/v2/client"
3737
"github.com/containerd/containerd/v2/core/runtime/v2/logging"
3838
"github.com/containerd/errdefs"
3939
"github.com/containerd/log"
40+
4041
"github.com/containerd/nerdctl/v2/pkg/lockutil"
4142
)
4243

0 commit comments

Comments
 (0)