Commit Graph
8111 Commits
Author SHA1 Message Date
Sebastiaan van Stijn 98654202c2 linting: G112: Potential Slowloris Attack
Picking 2 seconds, although that's just a randomly picked timeout;
given that this is only for testing, it's not too important.

    e2e/plugin/basic/basic.go:25:12: G112: Potential Slowloris Attack because ReadHeaderTimeout is not configured in the http.Server (gosec)
        server := http.Server{
            Addr:    l.Addr().String(),
            Handler: http.NewServeMux(),
        }

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-09-03 21:25:43 +02:00
Sebastiaan van Stijn b58731fa46 linting: ST1005: error strings should not be capitalized (stylecheck)
While fixing, also updated errors without placeholders to `errors.New()`, and
updated some code to use pkg/errors if it was already in use in the file.

    cli/command/config/inspect.go:59:10: ST1005: error strings should not be capitalized (stylecheck)
            return fmt.Errorf("Cannot supply extra formatting options to the pretty template")
                   ^
    cli/command/node/inspect.go:61:10: ST1005: error strings should not be capitalized (stylecheck)
            return fmt.Errorf("Cannot supply extra formatting options to the pretty template")
                   ^
    cli/command/secret/inspect.go:57:10: ST1005: error strings should not be capitalized (stylecheck)
            return fmt.Errorf("Cannot supply extra formatting options to the pretty template")
                   ^
    cli/command/trust/common.go:77:74: ST1005: error strings should not be capitalized (stylecheck)
                return []trustTagRow{}, []client.RoleWithSignatures{}, []data.Role{}, fmt.Errorf("No signatures or cannot access %s", remote)
                                                                                      ^
    cli/command/trust/common.go:85:73: ST1005: error strings should not be capitalized (stylecheck)
            return []trustTagRow{}, []client.RoleWithSignatures{}, []data.Role{}, fmt.Errorf("No signers for %s", remote)
                                                                                  ^
    cli/command/trust/sign.go:137:10: ST1005: error strings should not be capitalized (stylecheck)
            return fmt.Errorf("No tag specified for %s", imgRefAndAuth.Name())
                   ^
    cli/command/trust/sign.go:151:19: ST1005: error strings should not be capitalized (stylecheck)
            return *target, fmt.Errorf("No tag specified")
                            ^
    cli/command/trust/signer_add.go:77:10: ST1005: error strings should not be capitalized (stylecheck)
            return fmt.Errorf("Failed to add signer to: %s", strings.Join(errRepos, ", "))
                   ^
    cli/command/trust/signer_remove.go:52:10: ST1005: error strings should not be capitalized (stylecheck)
            return fmt.Errorf("Error removing signer from: %s", strings.Join(errRepos, ", "))
                   ^
    cli/command/trust/signer_remove.go:67:17: ST1005: error strings should not be capitalized (stylecheck)
            return false, fmt.Errorf("All signed tags are currently revoked, use docker trust sign to fix")
                          ^
    cli/command/trust/signer_remove.go:108:17: ST1005: error strings should not be capitalized (stylecheck)
            return false, fmt.Errorf("No signer %s for repository %s", signerName, repoName)
                          ^
    opts/hosts.go:89:14: ST1005: error strings should not be capitalized (stylecheck)
            return "", fmt.Errorf("Invalid bind address format: %s", addr)
                       ^
    opts/hosts.go:100:14: ST1005: error strings should not be capitalized (stylecheck)
            return "", fmt.Errorf("Invalid proto, expected %s: %s", proto, addr)
                       ^
    opts/hosts.go:119:14: ST1005: error strings should not be capitalized (stylecheck)
            return "", fmt.Errorf("Invalid proto, expected tcp: %s", tryAddr)
                       ^
    opts/hosts.go:144:14: ST1005: error strings should not be capitalized (stylecheck)
            return "", fmt.Errorf("Invalid bind address format: %s", tryAddr)
                       ^
    opts/hosts.go:155:14: ST1005: error strings should not be capitalized (stylecheck)
            return "", fmt.Errorf("Invalid bind address format: %s", tryAddr)
                       ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-09-03 21:25:42 +02:00
Sebastiaan van Stijn b508b0fc31 linting: ST1017: don't use Yoda conditions (stylecheck)
opts/envfile_test.go:157:5: ST1017: don't use Yoda conditions (stylecheck)
        if 1 != len(variables) {
           ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-09-03 21:25:40 +02:00
Sebastiaan van Stijn 7cec7101c4 linting: tabwriter: ignore stylecheck
We try to keep this package close to upstream golang's code, so suppress the
linter warning.

    cli/command/formatter/tabwriter/tabwriter.go:200:1: ST1020: comment on exported method Init should be of the form "Init ..." (stylecheck)
    // A Writer must be initialized with a call to Init. The first parameter (output)
    ^
    cli/command/formatter/tabwriter/tabwriter.go:425:1: ST1022: comment on exported const Escape should be of the form "Escape ..." (stylecheck)
    // To escape a text segment, bracket it with Escape characters.
    ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-09-03 21:25:39 +02:00
Sebastiaan van Stijn cef858170d linting: os.Setenv() can be replaced by t.Setenv() (tenv)
cli/command/cli_options_test.go:29:2: os.Setenv() can be replaced by `t.Setenv()` in TestWithContentTrustFromEnv (tenv)
        os.Setenv(envvar, "true")
        ^
    cli/command/cli_options_test.go:31:2: os.Setenv() can be replaced by `t.Setenv()` in TestWithContentTrustFromEnv (tenv)
        os.Setenv(envvar, "false")
        ^
    cli/command/cli_options_test.go:33:2: os.Setenv() can be replaced by `t.Setenv()` in TestWithContentTrustFromEnv (tenv)
        os.Setenv(envvar, "invalid")
        ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-09-03 21:25:37 +02:00
Sebastiaan van Stijn ce01160e74 linting: ST1019: package is being imported more than once (stylecheck)
cli/command/manifest/inspect_test.go:9:2: ST1019: package "github.com/docker/cli/cli/manifest/types" is being imported more than once (stylecheck)
        "github.com/docker/cli/cli/manifest/types"
        ^
    cli/command/manifest/inspect_test.go:10:2: ST1019(related information): other import of "github.com/docker/cli/cli/manifest/types" (stylecheck)
        manifesttypes "github.com/docker/cli/cli/manifest/types"
        ^
    cli/command/stack/swarm/deploy_composefile.go:14:2: ST1019: package "github.com/docker/docker/client" is being imported more than once (stylecheck)
        apiclient "github.com/docker/docker/client"
        ^
    cli/command/stack/swarm/deploy_composefile.go:15:2: ST1019(related information): other import of "github.com/docker/docker/client" (stylecheck)
        dockerclient "github.com/docker/docker/client"
        ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-09-03 21:25:36 +02:00
Sebastiaan van Stijn 491407b541 linting: remove unused nolint comments (nolintlint)
cli/context/store/tlsstore.go:46:88: directive `//nolint:unused` is unused for linter "unused" (nolintlint)
    func (s *tlsStore) remove(contextID contextdir, endpointName, filename string) error { //nolint:unused
                                                                                           ^
    cli-plugins/manager/plugin.go:37:1: directive `//nolint:gocyclo` is unused for linter "gocyclo" (nolintlint)
    //nolint:gocyclo
    ^
    cli/command/image/formatter_history_test.go:189:2: directive `//nolint:lll` is unused for linter "lll" (nolintlint)
        //nolint:lll
        ^
    cli/command/service/list.go:113:1: directive `//nolint:gocyclo` is unused for linter "gocyclo" (nolintlint)
    //nolint:gocyclo
    ^
    cli/command/stack/swarm/deploy_composefile.go:178:1: directive `//nolint:gocyclo` is unused for linter "gocyclo" (nolintlint)
    //nolint:gocyclo
    ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-09-03 21:25:34 +02:00
Sebastiaan van Stijn d3d9301d2d linting: use consts from stdlib (usestdlibvars)
cli/command/image/build/context.go:238:23: "400" can be replaced by http.StatusBadRequest (usestdlibvars)
        if resp.StatusCode < 400 {
                             ^
    cli/trust/trust.go:139:30: "GET" can be replaced by http.MethodGet (usestdlibvars)
        req, err := http.NewRequest("GET", endpointStr, nil)
                                    ^

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-09-03 21:25:32 +02:00
Sebastiaan van StijnandGitHub 52b89d7668 Merge pull request #3762 from thaJeztah/no_CanonicalTarNameForPath
build: replace uses of archive.CanonicalTarNameForPath
2022-09-01 22:22:45 +02:00
Sebastiaan van StijnandGitHub 67cc8b1fd8 Merge pull request #3763 from thaJeztah/bump_engine
vendor: docker v20.10.3-0.20220831131523-b5a0d7a188ac (22.06 branch)
2022-08-31 18:47:32 +02:00
Sebastiaan van Stijn 23a0fb071a vendor: docker v20.10.3-0.20220831131523-b5a0d7a188ac (22.06 branch)
full diff: https://github.com/docker/docker/compare/d2590dc3cd4f...b5a0d7a188aced307cf3902dfd765b9a67c4d9dd

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-08-31 18:08:53 +02:00
Sebastiaan van Stijn fb0788f18f build: replace uses of archive.CanonicalTarNameForPath
As it's just an alias for filepath.IsAbs. Also added a normalize step in
TrimBuildFilesFromExcludes, so that callers are not _required_ to first
normalize the path.

We are considering deprecating and/or removing this function in the archive
package, so removing it in the cli code helps transitioning if we decide to
deprecate and/or remove it.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-08-31 17:55:03 +02:00
Sebastiaan van StijnandGitHub 6205b4eae6 Merge pull request #3759 from thaJeztah/bump_x_sys
vendor: golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64
2022-08-29 17:50:58 +02:00
Sebastiaan van StijnandGitHub b22afeae02 Merge pull request #3755 from thaJeztah/sequential
replace pkg/system Sequential funcs with moby/sys/sequential
2022-08-29 16:04:31 +02:00
Sebastiaan van Stijn eaf6461ee6 vendor: golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64
full diff: https://github.com/golang/sys/compare/3c1f35247d10...c680a09ffe64

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-08-29 15:58:05 +02:00
Sebastiaan van Stijn 0e3d54261b replace pkg/system Sequential funcs with moby/sys/sequential
Migrating these functions to allow them being shared between moby, docker/cli,
and containerd, and to allow using them without importing all of sys / system,
which (in containerd) also depends on hcsshim and more.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-08-29 13:27:26 +02:00
Sebastiaan van StijnandGitHub d89b5dbb12 Merge pull request #3756 from thaJeztah/update_engine2
vendor: update moby (22.06 branch), swarmkit, buildkit, containerd
2022-08-27 17:32:12 +02:00
Sebastiaan van Stijn 948482b778 vendor: docker v20.10.3-0.20220826112928-d2590dc3cd4f (22.06 branch)
- moby: https://github.com/docker/docker/compare/a60b458179aa...d2590dc3cd4f65e7bb3ebe600b5491a6c22f2790
- swarmkit: https://github.com/moby/swarmkit/compare/6068d1894d46...48dd89375d0a

The .Parent field for buildcache entries was deprecated, and replaced with a
.Parents (plural) field. This patch updates the code accordingly. Unlike the
change in buildx
https://github.com/docker/buildx/commit/9c3be32bc97a624cc7f07b6f32cc3fda1053de74
we continue to fall back to the old field (which will be set on older API
versions).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-08-27 16:44:59 +02:00
Sebastiaan van Stijn b105b22f1e vendor: github.com/moby/buildkit v0.10.4
no local changes

full diff: https://github.com/moby/buildkit/compare/v0.10.3...v0.10.4

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-08-27 16:01:00 +02:00
Sebastiaan van Stijn 649aa6175b vendor: golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10
full diff: https://github.com/golang/sys/compare/bc2c85ada10a...3c1f35247d10

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-08-20 17:04:20 +02:00
Sebastiaan van Stijn 440fb75c9a vendor: github.com/containerd/containerd v1.6.8
No local changes.

Full diff: https://github.com/containerd/containerd/compare/v1.6.4...v1.6.8

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-08-20 16:55:40 +02:00
Sebastiaan van StijnandGitHub 1163b46099 Merge pull request #3744 from crazy-max/update-gha
ci: update github actions
2022-08-20 16:42:33 +02:00
CrazyMax da81c096bd ci: add concurrency check
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-08-20 16:01:03 +02:00
CrazyMax fd5590dcd4 chore: dependabot to keep gha up to date
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-08-20 16:01:03 +02:00
CrazyMax d598646f11 ci: update github actions
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-08-20 16:01:03 +02:00
Sebastiaan van StijnandGitHub 90412400cd Merge pull request #3738 from thaJeztah/update_cli_docs_tool
update cli-docs-tool to v0.5.0
2022-08-20 15:43:47 +02:00
Sebastiaan van StijnandGitHub 34e4ba09be Merge pull request #3739 from thaJeztah/hard_deprecate_graph
complete the "-g" / "--graph" daemon option deprecation
2022-08-18 20:34:08 +02:00
Sebastiaan van StijnandGitHub 77806f70b9 Merge pull request #3737 from bsousaa/update_issue_form
Update issues form
2022-08-18 15:39:59 +02:00
Sebastiaan van Stijn 304c100ed2 complete the "-g" / "--graph" daemon option deprecation
These options were soft-deprecated in Docker 17.05, and at the time
considered to not be removed. However, with the move towards containerd
snapshotters, having these options around adds additional complexity to
handle fallbacks for deprecated (and hidden) flags, so completing the
deprecation.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-08-18 12:53:04 +02:00
Bruno Sousa c24ec25024 Update issues form
Update the repository's issues form to handle bug and features requests.
Additionally, add links to other resources to guide users across
support documentation and forums.

Signed-off-by: Bruno Sousa <bruno.sousa@docker.com>

Add newline at the end of files

Signed-off-by: Bruno Sousa <bruno.sousa@docker.com>
2022-08-18 11:14:51 +02:00
Sebastiaan van Stijn 6eec719d39 update cli-docs-tool to v0.5.0
release notes: https://github.com/docker/cli-docs-tool/releases/tag/v0.5.0

full diff: https://github.com/docker/cli-docs-tool/compare/v0.3.1...v0.5.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-08-17 16:56:44 +02:00
Sebastiaan van StijnandGitHub 9400e3dbe8 Merge pull request #3731 from thaJeztah/buildx_0.9
Dockerfile: update buildx to v0.9.0
2022-08-17 01:35:26 +02:00
Sebastiaan van Stijn ad2bff2c0a Dockerfile: update buildx to v0.9.0
release notes: https://github.com/docker/buildx/releases/tag/v0.9.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-08-17 01:06:06 +02:00
Sebastiaan van StijnandGitHub 8ffaab8bb6 Merge pull request #3730 from matletix/master
Move notes about required buildkit
2022-08-16 17:21:30 +02:00
Mathieu Rollet f41cbf9dc1 Move notes about required buildkit
Signed-off-by: Mathieu Rollet <matletix@gmail.com>
2022-08-16 15:09:57 +02:00
Sebastiaan van StijnandGitHub e1f24d3c93 Merge pull request #3729 from giodamelio/patch-3
Update link to libnetwork docs
2022-08-08 10:24:37 +02:00
Gio d'Amelio 2475b07d07 Update link to libnetwork docs
Signed-off-by: Gio d'Amelio <giodamelio@gmail.com>
2022-08-07 00:14:39 +00:00
Sebastiaan van StijnandGitHub f52ac07b82 Merge pull request #3725 from thaJeztah/bump_go_1.18.5
Update golang to 1.18.5
2022-08-04 11:19:07 +02:00
Sebastiaan van StijnandGitHub 418ca3b4d4 Merge pull request #3722 from thaJeztah/carry_nicks_issue3652
cli: set timeout connection ping on sockets as well
2022-08-04 00:03:30 +02:00
Sebastiaan van Stijn 6191b662b3 Update golang to 1.18.5
Update Go runtime to 1.18.5 to address CVE-2022-32189.

Full diff: https://github.com/golang/go/compare/go1.18.4...go1.18.5

--------------------------------------------------------

From the security announcement:
https://groups.google.com/g/golang-announce/c/YqYYG87xB10

We have just released Go versions 1.18.5 and 1.17.13, minor point
releases.

These minor releases include 1 security fixes following the security
policy:

encoding/gob & math/big: decoding big.Float and big.Rat can panic

Decoding big.Float and big.Rat types can panic if the encoded message is
too short.

This is CVE-2022-32189 and Go issue https://go.dev/issue/53871.

View the release notes for more information:
https://go.dev/doc/devel/release#go1.18.5

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-08-03 20:17:18 +02:00
Tõnis TiigiandGitHub 5c511f4f85 Merge pull request #3717 from crazy-max/keep-dwarf-symbol-table
missing DWARF symbol table
2022-08-01 09:10:52 -07:00
Sebastiaan van StijnandGitHub e198123693 Merge pull request #3721 from thaJeztah/context_optimisations
context use: don't create/update config file and directories if not needed
2022-07-29 14:46:28 +02:00
Nick SantosandSebastiaan van Stijn 1d9ab7803a cli: set timeout connection ping on sockets as well
Note that this does not fully fix the referenced issue, but
at least makes sure that API clients don't hang forever on
the initialization step.

See: https://github.com/docker/cli/issues/3652
Signed-off-by: Nick Santos <nick.santos@docker.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-07-29 14:34:01 +02:00
Sebastiaan van Stijn f87d7ed864 context use: don't create/update config file and directories if not needed
Avoid updating the config-file if nothing changed. This also prevents creating
the file and config-directory if the default is used and no config-file existed
yet.

`config.Save()` performs various steps (creating the directory, updating
or copying permissions, etc etc), which are not needed if the defaults are
used; https://github.com/docker/cli/blob/a445d97c2536f0de37469d0ea9881288d6c49cbf/cli/config/configfile/file.go#L135-L176

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-07-29 14:20:05 +02:00
Sebastiaan van Stijn cee286ff63 context use: skip validation for "default" context
This code was handling validation and parsing, only to discard the
results if it was the default context.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-07-29 12:23:39 +02:00
Sebastiaan van StijnandGitHub 7963778e0a Merge pull request #3668 from nicks/nicks/issue-3667
command: print appropriate warning messages on 'context list'/'contex…
2022-07-29 12:23:10 +02:00
Nick SantosandSebastiaan van Stijn 50893d72d4 also treat DOCKER_CONTEXT='' as unset
Signed-off-by: Nick Santos <nick.santos@docker.com>
2022-07-29 11:05:42 +02:00
Nick SantosandSebastiaan van Stijn aa7b1b24a5 command: treat DOCKER_HOST the same if it's empty or unset
print appropriate warning messages on 'context list'/'context use'

Signed-off-by: Nick Santos <nick.santos@docker.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-07-29 11:04:52 +02:00
CrazyMax 6f799c1a1c dockerfile: llvm needed on debian for cross comp
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-07-28 22:49:07 +02:00
Sebastiaan van StijnandGitHub a445d97c25 Merge pull request #3715 from thaJeztah/context_cleanup_part1a
cli/command: remove unused args from ResolveDefaultContext()
2022-07-27 23:02:53 +02:00