mirror of
https://github.com/containers/skopeo.git
synced 2025-09-03 07:35:02 +00:00
Bump github.com/containers/common from 0.36.0 to 0.37.0
Bumps [github.com/containers/common](https://github.com/containers/common) from 0.36.0 to 0.37.0. - [Release notes](https://github.com/containers/common/releases) - [Commits](https://github.com/containers/common/compare/v0.36.0...v0.37.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
committed by
Daniel J Walsh
parent
2d3f3ed901
commit
610c612129
49
vendor/github.com/containers/common/pkg/auth/auth.go
generated
vendored
49
vendor/github.com/containers/common/pkg/auth/auth.go
generated
vendored
@@ -5,6 +5,7 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/containers/image/v5/docker"
|
||||
@@ -13,18 +14,20 @@ import (
|
||||
"github.com/containers/image/v5/types"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
"golang.org/x/crypto/ssh/terminal"
|
||||
terminal "golang.org/x/term"
|
||||
)
|
||||
|
||||
// GetDefaultAuthFile returns env value REGISTRY_AUTH_FILE as default
|
||||
// --authfile path used in multiple --authfile flag definitions
|
||||
// Will fail over to DOCKER_CONFIG if REGISTRY_AUTH_FILE environment is not set
|
||||
func GetDefaultAuthFile() string {
|
||||
authfile := os.Getenv("REGISTRY_AUTH_FILE")
|
||||
if authfile == "" {
|
||||
authfile = os.Getenv("DOCKER_CONFIG")
|
||||
if authfile := os.Getenv("REGISTRY_AUTH_FILE"); authfile != "" {
|
||||
return authfile
|
||||
}
|
||||
return authfile
|
||||
if auth_env := os.Getenv("DOCKER_CONFIG"); auth_env != "" {
|
||||
return filepath.Join(auth_env, "config.json")
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// CheckAuthFile validates filepath given by --authfile
|
||||
@@ -34,7 +37,7 @@ func CheckAuthFile(authfile string) error {
|
||||
return nil
|
||||
}
|
||||
if _, err := os.Stat(authfile); err != nil {
|
||||
return errors.Wrapf(err, "error checking authfile path %s", authfile)
|
||||
return errors.Wrap(err, "checking authfile")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -70,11 +73,11 @@ func Login(ctx context.Context, systemContext *types.SystemContext, opts *LoginO
|
||||
err error
|
||||
)
|
||||
if len(args) > 1 {
|
||||
return errors.Errorf("login accepts only one registry to login to")
|
||||
return errors.New("login accepts only one registry to login to")
|
||||
}
|
||||
if len(args) == 0 {
|
||||
if !opts.AcceptUnspecifiedRegistry {
|
||||
return errors.Errorf("please provide a registry to login to")
|
||||
return errors.New("please provide a registry to login to")
|
||||
}
|
||||
if server, err = defaultRegistryWhenUnspecified(systemContext); err != nil {
|
||||
return err
|
||||
@@ -85,7 +88,7 @@ func Login(ctx context.Context, systemContext *types.SystemContext, opts *LoginO
|
||||
}
|
||||
authConfig, err := config.GetCredentials(systemContext, server)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error reading auth file")
|
||||
return errors.Wrap(err, "reading auth file")
|
||||
}
|
||||
if opts.GetLoginSet {
|
||||
if authConfig.Username == "" {
|
||||
@@ -95,17 +98,17 @@ func Login(ctx context.Context, systemContext *types.SystemContext, opts *LoginO
|
||||
return nil
|
||||
}
|
||||
if authConfig.IdentityToken != "" {
|
||||
return errors.Errorf("currently logged in, auth file contains an Identity token")
|
||||
return errors.New("currently logged in, auth file contains an Identity token")
|
||||
}
|
||||
|
||||
password := opts.Password
|
||||
if opts.StdinPassword {
|
||||
var stdinPasswordStrBuilder strings.Builder
|
||||
if opts.Password != "" {
|
||||
return errors.Errorf("Can't specify both --password-stdin and --password")
|
||||
return errors.New("Can't specify both --password-stdin and --password")
|
||||
}
|
||||
if opts.Username == "" {
|
||||
return errors.Errorf("Must provide --username with --password-stdin")
|
||||
return errors.New("Must provide --username with --password-stdin")
|
||||
}
|
||||
scanner := bufio.NewScanner(opts.Stdin)
|
||||
for scanner.Scan() {
|
||||
@@ -126,7 +129,7 @@ func Login(ctx context.Context, systemContext *types.SystemContext, opts *LoginO
|
||||
|
||||
username, password, err := getUserAndPass(opts, password, authConfig.Username)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error getting username and password")
|
||||
return errors.Wrap(err, "getting username and password")
|
||||
}
|
||||
|
||||
if err = docker.CheckAuth(ctx, systemContext, username, password, server); err == nil {
|
||||
@@ -143,7 +146,7 @@ func Login(ctx context.Context, systemContext *types.SystemContext, opts *LoginO
|
||||
logrus.Debugf("error logging into %q: %v", server, unauthorized)
|
||||
return errors.Errorf("error logging into %q: invalid username/password", server)
|
||||
}
|
||||
return errors.Wrapf(err, "error authenticating creds for %q", server)
|
||||
return errors.Wrapf(err, "authenticating creds for %q", server)
|
||||
}
|
||||
|
||||
// getRegistryName scrubs and parses the input to get the server name
|
||||
@@ -172,7 +175,7 @@ func getUserAndPass(opts *LoginOptions, password, userFromAuthFile string) (user
|
||||
}
|
||||
username, err = reader.ReadString('\n')
|
||||
if err != nil {
|
||||
return "", "", errors.Wrapf(err, "error reading username")
|
||||
return "", "", errors.Wrap(err, "reading username")
|
||||
}
|
||||
// If the user just hit enter, use the displayed user from the
|
||||
// the authentication file. This allows to do a lazy
|
||||
@@ -186,7 +189,7 @@ func getUserAndPass(opts *LoginOptions, password, userFromAuthFile string) (user
|
||||
fmt.Fprint(opts.Stdout, "Password: ")
|
||||
pass, err := terminal.ReadPassword(0)
|
||||
if err != nil {
|
||||
return "", "", errors.Wrapf(err, "error reading password")
|
||||
return "", "", errors.Wrap(err, "reading password")
|
||||
}
|
||||
password = string(pass)
|
||||
fmt.Fprintln(opts.Stdout)
|
||||
@@ -206,11 +209,11 @@ func Logout(systemContext *types.SystemContext, opts *LogoutOptions, args []stri
|
||||
err error
|
||||
)
|
||||
if len(args) > 1 {
|
||||
return errors.Errorf("logout accepts only one registry to logout from")
|
||||
return errors.New("logout accepts only one registry to logout from")
|
||||
}
|
||||
if len(args) == 0 && !opts.All {
|
||||
if !opts.AcceptUnspecifiedRegistry {
|
||||
return errors.Errorf("please provide a registry to logout from")
|
||||
return errors.New("please provide a registry to logout from")
|
||||
}
|
||||
if server, err = defaultRegistryWhenUnspecified(systemContext); err != nil {
|
||||
return err
|
||||
@@ -219,7 +222,7 @@ func Logout(systemContext *types.SystemContext, opts *LogoutOptions, args []stri
|
||||
}
|
||||
if len(args) != 0 {
|
||||
if opts.All {
|
||||
return errors.Errorf("--all takes no arguments")
|
||||
return errors.New("--all takes no arguments")
|
||||
}
|
||||
server = getRegistryName(args[0])
|
||||
}
|
||||
@@ -240,7 +243,7 @@ func Logout(systemContext *types.SystemContext, opts *LogoutOptions, args []stri
|
||||
case config.ErrNotLoggedIn:
|
||||
authConfig, err := config.GetCredentials(systemContext, server)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error reading auth file")
|
||||
return errors.Wrap(err, "reading auth file")
|
||||
}
|
||||
authInvalid := docker.CheckAuth(context.Background(), systemContext, authConfig.Username, authConfig.Password, server)
|
||||
if authConfig.Username != "" && authConfig.Password != "" && authInvalid == nil {
|
||||
@@ -249,7 +252,7 @@ func Logout(systemContext *types.SystemContext, opts *LogoutOptions, args []stri
|
||||
}
|
||||
return errors.Errorf("Not logged into %s\n", server)
|
||||
default:
|
||||
return errors.Wrapf(err, "error logging out of %q", server)
|
||||
return errors.Wrapf(err, "logging out of %q", server)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -258,10 +261,10 @@ func Logout(systemContext *types.SystemContext, opts *LogoutOptions, args []stri
|
||||
func defaultRegistryWhenUnspecified(systemContext *types.SystemContext) (string, error) {
|
||||
registriesFromFile, err := sysregistriesv2.UnqualifiedSearchRegistries(systemContext)
|
||||
if err != nil {
|
||||
return "", errors.Wrapf(err, "error getting registry from registry.conf, please specify a registry")
|
||||
return "", errors.Wrap(err, "getting registry from registry.conf, please specify a registry")
|
||||
}
|
||||
if len(registriesFromFile) == 0 {
|
||||
return "", errors.Errorf("no registries found in registries.conf, a registry must be provided")
|
||||
return "", errors.New("no registries found in registries.conf, a registry must be provided")
|
||||
}
|
||||
return registriesFromFile[0], nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user