From 56d95172f185e1b480453e66184fd55b897b0a36 Mon Sep 17 00:00:00 2001 From: cdoern Date: Wed, 26 Jan 2022 23:40:42 -0500 Subject: podman image scp syntax correction [NO NEW TESTS NEEDED] image scp was reading the localhost syntax too loosely causing some errors with domains or hosts containing the word localhost. Fixed that and added a few lines to make sure the pure localhost connections do not touch sshd resolves #13021 Signed-off-by: cdoern --- cmd/podman/images/scp.go | 11 +++++++++++ cmd/podman/images/scp_utils.go | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'cmd/podman') diff --git a/cmd/podman/images/scp.go b/cmd/podman/images/scp.go index 1481e71c7..a6c27f3f9 100644 --- a/cmd/podman/images/scp.go +++ b/cmd/podman/images/scp.go @@ -147,6 +147,17 @@ func scp(cmd *cobra.Command, args []string) (finalErr error) { return err } + allLocal := true // if we are all localhost, do not validate connections but if we are using one localhost and one non we need to use sshd + for _, val := range cliConnections { + if !strings.Contains(val, "@localhost::") { + allLocal = false + break + } + } + if allLocal { + cliConnections = []string{} + } + var serv map[string]config.Destination serv, err = GetServiceInformation(cliConnections, cfg) if err != nil { diff --git a/cmd/podman/images/scp_utils.go b/cmd/podman/images/scp_utils.go index c488616c9..a85687a42 100644 --- a/cmd/podman/images/scp_utils.go +++ b/cmd/podman/images/scp_utils.go @@ -17,12 +17,13 @@ func parseImageSCPArg(arg string) (*entities.ImageScpOptions, []string, error) { cliConnections := []string{} switch { - case strings.Contains(arg, "@localhost"): // image transfer between users + case strings.Contains(arg, "@localhost::"): // image transfer between users location.User = strings.Split(arg, "@")[0] location, err = validateImagePortion(location, arg) if err != nil { return nil, nil, err } + cliConnections = append(cliConnections, arg) case strings.Contains(arg, "::"): location, err = validateImagePortion(location, arg) if err != nil { -- cgit v1.2.3-54-g00ecf