Skip to content

Commit

Permalink
Merge pull request #11503 from Luap99/remote-attach
Browse files Browse the repository at this point in the history
Fix conmon attach socket buffer size
  • Loading branch information
openshift-merge-robot authored Sep 9, 2021
2 parents 784e1ae + 7cf2227 commit 536951c
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 1 deletion.
4 changes: 3 additions & 1 deletion libpod/oci_conmon_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,9 @@ import (
const (
// This is Conmon's STDIO_BUF_SIZE. I don't believe we have access to it
// directly from the Go code, so const it here
bufferSize = conmonConfig.BufSize
// Important: The conmon attach socket uses an extra byte at the beginning of each
// message to specify the STREAM so we have to increase the buffer size by one
bufferSize = conmonConfig.BufSize + 1
)

// ConmonOCIRuntime is an OCI runtime managed by Conmon.
Expand Down
28 changes: 28 additions & 0 deletions test/system/075-exec.bats
Original file line number Diff line number Diff line change
Expand Up @@ -101,4 +101,32 @@ load helpers
run_podman rm $cid
}

# #11496: podman-remote loses output
@test "podman exec/run - missing output" {
local bigfile=${PODMAN_TMPDIR}/bigfile
local newfile=${PODMAN_TMPDIR}/newfile
# create a big file, bigger than the 8K buffer size
base64 /dev/urandom | head -c 20K > $bigfile

run_podman run --rm -v $bigfile:/tmp/test:Z $IMAGE cat /tmp/test
printf "%s" "$output" > $newfile
# use cmp to compare the files, this is very helpful since it will
# tell us the first wrong byte in case this fails
run cmp $bigfile $newfile
is "$output" "" "run output is identical with the file"

run_podman run -d --stop-timeout 0 -v $bigfile:/tmp/test:Z $IMAGE sleep inf
cid="$output"

run_podman exec $cid cat /tmp/test
printf "%s" "$output" > $newfile
# use cmp to compare the files, this is very helpful since it will
# tell us the first wrong byte in case this fails
run cmp $bigfile $newfile
is "$output" "" "exec output is identical with the file"

# Clean up
run_podman rm -f $cid
}

# vim: filetype=sh

0 comments on commit 536951c

Please sign in to comment.