Merge pull request #2308 from kolyshkin/exec-no-tty

runc exec: don't enable terminal unless -t is set
This commit is contained in:
Mrunal Patel 2020-04-15 14:43:50 -07:00 committed by GitHub
commit 191def7029
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 5 deletions

View File

@ -203,6 +203,7 @@ func getProcess(context *cli.Context, bundle string) (*specs.Process, error) {
p.Env = append(p.Env, context.StringSlice("env")...) p.Env = append(p.Env, context.StringSlice("env")...)
// set the tty // set the tty
p.Terminal = false
if context.IsSet("tty") { if context.IsSet("tty") {
p.Terminal = context.Bool("tty") p.Terminal = context.Bool("tty")
} }

View File

@ -68,7 +68,7 @@ function teardown() {
testcontainer test_busybox running testcontainer test_busybox running
# run the exec # run the exec
runc exec test_busybox sh -c 'for file in /proc/self/fd/[012]; do readlink $file; done' runc exec -t test_busybox sh -c 'for file in /proc/self/fd/[012]; do readlink $file; done'
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
[[ ${lines[0]} =~ /dev/pts/+ ]] [[ ${lines[0]} =~ /dev/pts/+ ]]
[[ ${lines[1]} =~ /dev/pts/+ ]] [[ ${lines[1]} =~ /dev/pts/+ ]]
@ -88,7 +88,7 @@ function teardown() {
testcontainer test_busybox running testcontainer test_busybox running
# run the exec # run the exec
runc exec test_busybox sh -c 'stat -c %u:%g $(tty) | tr : \\n' runc exec -t test_busybox sh -c 'stat -c %u:%g $(tty) | tr : \\n'
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
[[ ${lines[0]} =~ 0 ]] [[ ${lines[0]} =~ 0 ]]
[[ ${lines[1]} =~ 5 ]] [[ ${lines[1]} =~ 5 ]]
@ -111,7 +111,7 @@ function teardown() {
testcontainer test_busybox running testcontainer test_busybox running
# run the exec # run the exec
runc exec test_busybox sh -c 'stat -c %u:%g $(tty) | tr : \\n' runc exec -t test_busybox sh -c 'stat -c %u:%g $(tty) | tr : \\n'
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
[[ ${lines[0]} =~ 1000 ]] [[ ${lines[0]} =~ 1000 ]]
[[ ${lines[1]} =~ 5 ]] [[ ${lines[1]} =~ 5 ]]
@ -146,7 +146,7 @@ EOF
) )
# run the exec # run the exec
runc exec --pid-file pid.txt -d --console-socket $CONSOLE_SOCKET -p <( echo $tty_info_with_consize_size ) test_busybox runc exec -t --pid-file pid.txt -d --console-socket $CONSOLE_SOCKET -p <( echo $tty_info_with_consize_size ) test_busybox
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
# check the pid was generated # check the pid was generated
@ -167,7 +167,7 @@ EOF
) )
# run the exec # run the exec
runc exec -p <( echo $tty_info ) test_busybox runc exec -t -p <( echo $tty_info ) test_busybox
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
# test tty width and height against original process.json # test tty width and height against original process.json