mirror of
https://github.com/containers/podman.git
synced 2025-06-28 06:18:57 +08:00
Don't format to string and re-parse a DockerReference()
We already have a c/image/docker/reference.Named; no need to round-trip it through a string. This also eliminates the theoretical parsing failure, and the unchecked .(reference.Named) cast. Also add a check for DockerReference() == nil to be extra paranoid, although that should never happen. Should not change behavior (but does not add unit tests). Signed-off-by: Miloslav Trmač <mitr@redhat.com> Closes: #1176 Approved by: rhatdan
This commit is contained in:

committed by
Atomic Bot

parent
190e074459
commit
1153486ab0
@ -15,6 +15,7 @@ import (
|
||||
"github.com/containers/image/manifest"
|
||||
is "github.com/containers/image/storage"
|
||||
"github.com/containers/image/tarball"
|
||||
"github.com/containers/image/transports"
|
||||
"github.com/containers/image/transports/alltransports"
|
||||
"github.com/containers/image/types"
|
||||
"github.com/containers/storage"
|
||||
@ -552,11 +553,11 @@ func (i *Image) PushImage(ctx context.Context, destination, manifestMIMEType, au
|
||||
}
|
||||
copyOptions := getCopyOptions(writer, signaturePolicyPath, nil, dockerRegistryOptions, signingOptions, authFile, manifestMIMEType, forceCompress, additionalDockerArchiveTags)
|
||||
if dest.Transport().Name() == DockerTransport {
|
||||
imgRef, err := reference.Parse(dest.DockerReference().String())
|
||||
if err != nil {
|
||||
return err
|
||||
imgRef := dest.DockerReference()
|
||||
if imgRef == nil { // This should never happen; such references can’t be created.
|
||||
return fmt.Errorf("internal error: DockerTransport reference %s does not have a DockerReference", transports.ImageName(dest))
|
||||
}
|
||||
registry := reference.Domain(imgRef.(reference.Named))
|
||||
registry := reference.Domain(imgRef)
|
||||
|
||||
if util.StringInSlice(registry, insecureRegistries) && !forceSecure {
|
||||
copyOptions.DestinationCtx.DockerInsecureSkipTLSVerify = true
|
||||
|
@ -16,6 +16,7 @@ import (
|
||||
"github.com/containers/image/pkg/sysregistries"
|
||||
is "github.com/containers/image/storage"
|
||||
"github.com/containers/image/tarball"
|
||||
"github.com/containers/image/transports"
|
||||
"github.com/containers/image/transports/alltransports"
|
||||
"github.com/containers/image/types"
|
||||
"github.com/pkg/errors"
|
||||
@ -207,11 +208,12 @@ func (i *Image) pullImage(ctx context.Context, writer io.Writer, authfile, signa
|
||||
for _, imageInfo := range pullRefPairs {
|
||||
copyOptions := getCopyOptions(writer, signaturePolicyPath, dockerOptions, nil, signingOptions, authfile, "", false, nil)
|
||||
if imageInfo.srcRef.Transport().Name() == DockerTransport {
|
||||
imgRef, err := reference.Parse(imageInfo.srcRef.DockerReference().String())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
imgRef := imageInfo.srcRef.DockerReference()
|
||||
if imgRef == nil { // This should never happen; such references can’t be created.
|
||||
return nil, fmt.Errorf("internal error: DockerTransport reference %s does not have a DockerReference",
|
||||
transports.ImageName(imageInfo.srcRef))
|
||||
}
|
||||
registry := reference.Domain(imgRef.(reference.Named))
|
||||
registry := reference.Domain(imgRef)
|
||||
|
||||
if util.StringInSlice(registry, insecureRegistries) && !forceSecure {
|
||||
copyOptions.SourceCtx.DockerInsecureSkipTLSVerify = true
|
||||
|
Reference in New Issue
Block a user