summaryrefslogtreecommitdiff
path: root/cmd/podman/pull.go
diff options
context:
space:
mode:
authorQi Wang <qiwan@redhat.com>2019-10-25 21:16:37 -0400
committerQi Wang <qiwan@redhat.com>2019-11-05 21:32:18 -0500
commitd7c0f968ca60994306c8c76cd8e4e0a677fe9ada (patch)
tree3eff712a3fbb1c58eac9d7e43a55588a56d67892 /cmd/podman/pull.go
parentb4b727256c728295e6a3fcb69593347df9e90b23 (diff)
downloadpodman-d7c0f968ca60994306c8c76cd8e4e0a677fe9ada.tar.gz
podman-d7c0f968ca60994306c8c76cd8e4e0a677fe9ada.tar.bz2
podman-d7c0f968ca60994306c8c76cd8e4e0a677fe9ada.zip
fix bug check nonexist authfile
Use GetDefaultAuthFile() from buildah. For podman command(except login), if authfile does not exist returns error. close #4328 Signed-off-by: Qi Wang <qiwan@redhat.com>
Diffstat (limited to 'cmd/podman/pull.go')
-rw-r--r--cmd/podman/pull.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/cmd/podman/pull.go b/cmd/podman/pull.go
index d64793147..c6baf6b61 100644
--- a/cmd/podman/pull.go
+++ b/cmd/podman/pull.go
@@ -6,12 +6,12 @@ import (
"os"
"strings"
+ buildahcli "github.com/containers/buildah/pkg/cli"
"github.com/containers/image/v5/docker"
dockerarchive "github.com/containers/image/v5/docker/archive"
"github.com/containers/image/v5/transports/alltransports"
"github.com/containers/image/v5/types"
"github.com/containers/libpod/cmd/podman/cliconfig"
- "github.com/containers/libpod/cmd/podman/shared"
"github.com/containers/libpod/libpod/image"
"github.com/containers/libpod/pkg/adapter"
"github.com/containers/libpod/pkg/util"
@@ -60,7 +60,7 @@ func init() {
markFlagHidden(flags, "override-os")
// Disabled flags for the remote client
if !remote {
- flags.StringVar(&pullCommand.Authfile, "authfile", shared.GetAuthFile(""), "Path of the authentication file. Use REGISTRY_AUTH_FILE environment variable to override")
+ flags.StringVar(&pullCommand.Authfile, "authfile", buildahcli.GetDefaultAuthFile(), "Path of the authentication file. Use REGISTRY_AUTH_FILE environment variable to override")
flags.StringVar(&pullCommand.CertDir, "cert-dir", "", "`Pathname` of a directory containing TLS certificates and keys")
flags.StringVar(&pullCommand.SignaturePolicy, "signature-policy", "", "`Pathname` of signature policy file (not usually used)")
flags.BoolVar(&pullCommand.TlsVerify, "tls-verify", true, "Require HTTPS and verify certificates when contacting registries")
@@ -96,6 +96,12 @@ func pullCmd(c *cliconfig.PullValues) (retError error) {
return errors.Errorf("too many arguments. Requires exactly 1")
}
+ if c.Authfile != "" {
+ if _, err := os.Stat(c.Authfile); err != nil {
+ return errors.Wrapf(err, "error getting authfile %s", c.Authfile)
+ }
+ }
+
arr := strings.SplitN(args[0], ":", 2)
if len(arr) == 2 {
if c.Bool("all-tags") {