diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2021-04-05 12:27:36 -0400 |
---|---|---|
committer | Daniel J Walsh <dwalsh@redhat.com> | 2021-04-05 12:36:04 -0400 |
commit | 28251f41fff80041b08f6365b4d16e3cf4ff20b5 (patch) | |
tree | c54da8d75ac77ade2286d54c1e89042523e8ca2e | |
parent | 1c8d3d0f6fb83b1e6c99dec759f4ae1c6b2e8f18 (diff) | |
download | podman-28251f41fff80041b08f6365b4d16e3cf4ff20b5.tar.gz podman-28251f41fff80041b08f6365b4d16e3cf4ff20b5.tar.bz2 podman-28251f41fff80041b08f6365b4d16e3cf4ff20b5.zip |
Verify existence of auth file if specified
Fixes: https://github.com/containers/podman/issues/9572
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
-rw-r--r-- | cmd/podman/images/build.go | 7 | ||||
-rw-r--r-- | test/system/070-build.bats | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/cmd/podman/images/build.go b/cmd/podman/images/build.go index da7f5d862..04fdeab0a 100644 --- a/cmd/podman/images/build.go +++ b/cmd/podman/images/build.go @@ -11,6 +11,7 @@ import ( buildahDefine "github.com/containers/buildah/define" buildahCLI "github.com/containers/buildah/pkg/cli" "github.com/containers/buildah/pkg/parse" + "github.com/containers/common/pkg/auth" "github.com/containers/common/pkg/completion" "github.com/containers/common/pkg/config" encconfig "github.com/containers/ocicrypt/config" @@ -330,6 +331,12 @@ func buildFlagsWrapperToOptions(c *cobra.Command, contextDir string, flags *buil pullPolicy = buildahDefine.PullNever } + if c.Flag("authfile").Changed { + if err := auth.CheckAuthFile(flags.Authfile); err != nil { + return nil, err + } + } + args := make(map[string]string) if c.Flag("build-arg").Changed { for _, arg := range flags.BuildArg { diff --git a/test/system/070-build.bats b/test/system/070-build.bats index 2e97c93e0..5a887c71e 100644 --- a/test/system/070-build.bats +++ b/test/system/070-build.bats @@ -752,6 +752,11 @@ EOF run_podman rmi -f build_test } +@test "podman build --authfile bogus test" { + run_podman 125 build --authfile=/tmp/bogus - <<< "from scratch" + is "$output" ".*/tmp/bogus: no such file or directory" +} + function teardown() { # A timeout or other error in 'build' can leave behind stale images # that podman can't even see and which will cascade into subsequent |