[28.x backport] opts: deprecate QuotedString #6275
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
relates to:
opts: deprecate QuotedString
The
QuotedStringoption was added in moby@e4c1f07 and moby@abe32de to work around a regression in Docker 1.13 that causeddocker-machineto fail.docker-machineproduced instructions on how to set up a cli to connect to the Machine it produced. These instructions used quotes around the paths for TLS certificates, but with an=for the flag's values instead of a space; due to this the shell would not handle stripping quotes, so the CLI would now get the value including quotes.Preserving quotes in such cases is expected (and standard behavior), but versions of Docker before 1.13 used a custom "mflag" package for flag parsing, and that package contained custom handling for quotes (added in moby@0e9c40e).
For other flags, this problem could be solved by the user, but as these instructions were produced by
docker-machine'sconfigcommand, an exception was made for the--tls-xxxflags. From moby-29761:The
QuotedStringimplementation has various limitations, as it doesn't follow the same handling of quotes as a shell would.Given that Docker Machine reached EOL a long time ago and other options, such as
docker context, have been added to configure the CLI to connect to a specific host (with corresponding TLS configuration), we should remove the special handling for these flags, as it's inconsitent with all other flags, and not worth maintaining for a tool that no longer exists.This patch deprecates the
QuotedStringoption and removes its use. A temporary, non-exported copy is added, but will be removed in the next release.- What I did
- How I did it
- How to verify it
- Human readable description for the release notes
- A picture of a cute animal (not mandatory but encouraged)