Merge pull request #2426 from foot/support-dot-prefixed-paths

Add support for Kustomizations with dot-prefixed paths
pull/2439/head
Stefan Prodan 3 years ago committed by GitHub
commit 7a306e69ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -41,7 +41,10 @@ func (p *SafeRelativePath) Set(str string) error {
return fmt.Errorf("invalid relative path '%s': %w", cleanP, err)
}
// NB: required, as a secure join of "./" will result in "."
cleanP = fmt.Sprintf("./%s", strings.TrimPrefix(cleanP, "."))
if cleanP == "." {
cleanP = ""
}
cleanP = fmt.Sprintf("./%s", cleanP)
*p = SafeRelativePath(cleanP)
return nil
}

@ -37,6 +37,13 @@ func TestRelativePath_Set(t *testing.T) {
{"traversing absolute path", "/foo/../bar", "./bar", false},
{"traversing overflowing absolute path", "/foo/../../../bar", "./bar", false},
{"empty", "", "./", false},
{"relative empty path", "./", "./", false},
{"double relative empty path", "././", "./", false},
{"dot path", ".foo", "./.foo", false},
{"relative dot path", "./.foo", "./.foo", false},
{"current directory", ".", "./", false},
{"parent directory", "..", "./", false},
{"parent directory more qualified", "./..", "./", false},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {

Loading…
Cancel
Save