mirror of https://github.com/docker/compose.git
Merge pull request #10819 from ndeloof/windows_abs
check secret target is an absolute windows path
This commit is contained in:
commit
3b2f3cdce3
|
@ -863,7 +863,7 @@ func buildContainerConfigMounts(p types.Project, s types.ServiceConfig) ([]mount
|
|||
target := config.Target
|
||||
if config.Target == "" {
|
||||
target = configsBaseDir + config.Source
|
||||
} else if !isUnixAbs(config.Target) {
|
||||
} else if !isAbsTarget(config.Target) {
|
||||
target = configsBaseDir + config.Target
|
||||
}
|
||||
|
||||
|
@ -898,7 +898,7 @@ func buildContainerSecretMounts(p types.Project, s types.ServiceConfig) ([]mount
|
|||
target := secret.Target
|
||||
if secret.Target == "" {
|
||||
target = secretsDir + secret.Source
|
||||
} else if !isUnixAbs(secret.Target) {
|
||||
} else if !isAbsTarget(secret.Target) {
|
||||
target = secretsDir + secret.Target
|
||||
}
|
||||
|
||||
|
@ -929,10 +929,24 @@ func buildContainerSecretMounts(p types.Project, s types.ServiceConfig) ([]mount
|
|||
return values, nil
|
||||
}
|
||||
|
||||
func isAbsTarget(p string) bool {
|
||||
return isUnixAbs(p) || isWindowsAbs(p)
|
||||
}
|
||||
|
||||
func isUnixAbs(p string) bool {
|
||||
return strings.HasPrefix(p, "/")
|
||||
}
|
||||
|
||||
func isWindowsAbs(p string) bool {
|
||||
if strings.HasPrefix(p, "\\\\") {
|
||||
return true
|
||||
}
|
||||
if len(p) > 2 && p[1] == ':' {
|
||||
return p[2] == '\\'
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func buildMount(project types.Project, volume types.ServiceVolumeConfig) (mount.Mount, error) {
|
||||
source := volume.Source
|
||||
// on windows, filepath.IsAbs(source) is false for unix style abs path like /var/run/docker.sock.
|
||||
|
|
|
@ -66,7 +66,7 @@ func createTar(env string, config types.ServiceSecretConfig) (bytes.Buffer, erro
|
|||
target := config.Target
|
||||
if config.Target == "" {
|
||||
target = "/run/secrets/" + config.Source
|
||||
} else if !isUnixAbs(config.Target) {
|
||||
} else if !isAbsTarget(config.Target) {
|
||||
target = "/run/secrets/" + config.Target
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue