summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2021-04-05 12:27:36 -0400
committerDaniel J Walsh <dwalsh@redhat.com>2021-04-05 12:36:04 -0400
commit28251f41fff80041b08f6365b4d16e3cf4ff20b5 (patch)
treec54da8d75ac77ade2286d54c1e89042523e8ca2e
parent1c8d3d0f6fb83b1e6c99dec759f4ae1c6b2e8f18 (diff)
downloadpodman-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.go7
-rw-r--r--test/system/070-build.bats5
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