From 6b0a71230d0ff5f9822bf889e88424f46f1ffff9 Mon Sep 17 00:00:00 2001 From: zeripath Date: Wed, 19 Jan 2022 21:03:15 +0000 Subject: [PATCH] Stop trimming preceding and suffixing spaces from editor filenames (#18334) * Stop trimming preceding and suffixing spaces from editor filenames In #5702 it was decided to trim preceding and suffixed spaces aswell as / from editing file filenames. This was because at this point in time the url-safety of Gitea was much poorer. We can now drop this requirement and file editing should work correctly. Fix #18176 Signed-off-by: Andrew Thornton --- CHANGELOG.md | 1 + routers/web/repo/editor.go | 2 +- services/repository/files/file.go | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91e712c5c..9c3c67dd7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -228,6 +228,7 @@ been added to each release, please refer to the [blog](https://blog.gitea.io). * Add left padding for chunk header of split diff view (#13397) * Allow U2F 2FA without TOTP (#11573) * BUGFIXES + * Stop trimming preceding and suffixing spaces from editor filenames (#18334) * Restore propagation of ErrDependenciesLeft (#18325) * Fix PR comments UI (#18323) * Use indirect comparison when showing pull requests (#18313) diff --git a/routers/web/repo/editor.go b/routers/web/repo/editor.go index 1a7edb7bb..5904ba2f0 100644 --- a/routers/web/repo/editor.go +++ b/routers/web/repo/editor.go @@ -728,7 +728,7 @@ func UploadFilePost(ctx *context.Context) { func cleanUploadFileName(name string) string { // Rebase the filename - name = strings.Trim(path.Clean("/"+name), " /") + name = strings.Trim(path.Clean("/"+name), "/") // Git disallows any filenames to have a .git directory in them. for _, part := range strings.Split(name, "/") { if strings.ToLower(part) == ".git" { diff --git a/services/repository/files/file.go b/services/repository/files/file.go index 788611958..ddbced809 100644 --- a/services/repository/files/file.go +++ b/services/repository/files/file.go @@ -129,7 +129,7 @@ func GetAuthorAndCommitterUsers(author, committer *IdentityOptions, doer *user_m // CleanUploadFileName Trims a filename and returns empty string if it is a .git directory func CleanUploadFileName(name string) string { // Rebase the filename - name = strings.Trim(path.Clean("/"+name), " /") + name = strings.Trim(path.Clean("/"+name), "/") // Git disallows any filenames to have a .git directory in them. for _, part := range strings.Split(name, "/") { if strings.ToLower(part) == ".git" {