DockerCLI/cli/command
Laura Brehm 520e3600ee
commandconn: don't return error if command closed successfully
---
commandconn: fix race on `Close()`

During normal operation, if a `Read()` or `Write()` call results
in an EOF, we call `onEOF()` to handle the terminating command,
and store it's exit value.

However, if a Read/Write call was blocked while `Close()` is called
the in/out pipes are immediately closed which causes an EOF to be
returned. Here, we shouldn't call `onEOF()`, since the reason why
we got an EOF is because we're already terminating the connection.
This also prevents a race between two calls to the commands `Wait()`,
in the `Close()` call and `onEOF()`

---
Add CLI init timeout to SSH connections

---
connhelper: add 30s ssh default dialer timeout

(same as non-ssh dialer)

Signed-off-by: Laura Brehm <laurabrehm@hey.com>
(cherry picked from commit a5ebe2282a)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2023-06-30 19:23:12 +02:00
..
builder cmd: set double quotes as code delimiter 2023-01-06 19:15:33 +01:00
checkpoint cli/command/checkpoint: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:05 +02:00
commands remove exec, push, pull, ps, images, info from "legacy" commands 2022-04-08 16:55:39 +02:00
completion vendor: github.com/docker/docker master (v24.0.0-dev) 2023-03-30 19:56:28 +02:00
config cli/command/config: fakeClient: include context in fake client (revive) 2023-03-30 17:05:32 +02:00
container Merge pull request #4244 from thaJeztah/update_engine_next 2023-05-06 01:32:38 +02:00
context cli/command/context: don't use pkg/homedir in test 2023-06-26 13:37:34 +02:00
formatter remove uses of deprecated VirtualSize field 2023-04-28 14:58:53 +02:00
idresolver cli/command/idresolver: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:06 +02:00
image vendor: github.com/docker/docker v24.0.0-rc.1 2023-04-28 17:56:17 +02:00
inspect linting: fix incorrectly formatted errors (revive) 2022-03-28 10:37:25 +02:00
manifest manifest: save raw manifest content on download 2023-01-27 13:56:17 +00:00
network cli/command/network: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:07 +02:00
node cli/command/node: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:07 +02:00
plugin cli/command: replace EncodeAuthToBase64 for registry.EncodeAuthConfig 2023-04-12 21:17:15 +02:00
registry cli/command: replace EncodeAuthToBase64 for registry.EncodeAuthConfig 2023-04-12 21:17:15 +02:00
secret cli/command/secret: fakeClient: include context in fake client (revive) 2023-03-30 17:22:00 +02:00
service cli/command/service: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:08 +02:00
stack cli/command/stack: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:08 +02:00
swarm cli/command/swarm: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:09 +02:00
system docker info: fix condition for printing debug information 2023-06-30 15:15:38 +02:00
task cli/command/task: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:09 +02:00
testdata Dynamically register kubernetes context store endpoint type. 2019-05-20 13:28:11 +01:00
trust cli/command: replace EncodeAuthToBase64 for registry.EncodeAuthConfig 2023-04-12 21:17:15 +02:00
volume volumes: prune: add --all / -a option 2023-04-20 23:31:47 +02:00
cli.go commandconn: don't return error if command closed successfully 2023-06-30 19:23:12 +02:00
cli_options.go cli/command: add WithAPIClient 2022-12-05 21:40:39 +01:00
cli_options_test.go linting: os.Setenv() can be replaced by `t.Setenv()` (tenv) 2022-09-03 21:25:37 +02:00
cli_test.go cli/command: initialize client and load content lazily 2022-11-28 16:52:02 +01:00
context.go cli/command: move default context description to context itself 2022-11-22 12:57:54 +01:00
context_test.go cli/command: use more descriptive const in test 2022-11-22 12:57:57 +01:00
defaultcontextstore.go cli/flags: merge CommonOptions into ClientOptions 2022-11-22 12:32:18 +01:00
defaultcontextstore_test.go cli/flags: merge CommonOptions into ClientOptions 2022-11-22 12:32:18 +01:00
events_utils.go updated vendoring 2017-09-01 19:41:06 -04:00
registry.go cli/command: deprecate EncodeAuthToBase64 2023-04-13 14:29:59 +02:00
registry_test.go replace uses of deprecated api/types.AuthConfig 2023-03-30 19:57:16 +02:00
trust.go Refactor content_trust cli/flags handling 2018-03-08 15:00:43 -05:00
utils.go cli/command: use strings.Cut 2022-12-29 15:19:31 +01:00
utils_test.go format go with gofumpt (with -lang=1.19) 2022-09-30 19:14:36 +02:00