diff options
Diffstat (limited to 'internal/vfs/zip/archive.go')
-rw-r--r-- | internal/vfs/zip/archive.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/internal/vfs/zip/archive.go b/internal/vfs/zip/archive.go index 1708f238..373e9818 100644 --- a/internal/vfs/zip/archive.go +++ b/internal/vfs/zip/archive.go @@ -16,6 +16,7 @@ import ( "gitlab.com/gitlab-org/labkit/log" + "gitlab.com/gitlab-org/gitlab-pages/internal/feature" "gitlab.com/gitlab-org/gitlab-pages/internal/httprange" "gitlab.com/gitlab-org/gitlab-pages/internal/vfs" "gitlab.com/gitlab-org/gitlab-pages/metrics" @@ -144,7 +145,7 @@ func (a *zipArchive) readArchive(url string) { // TODO: Improve preprocessing of zip archives https://gitlab.com/gitlab-org/gitlab-pages/-/issues/432 for _, file := range archive.File { - if !strings.HasPrefix(file.Name, dirPrefix) { + if !feature.ConfigurableRoot.Enabled() && !strings.HasPrefix(file.Name, dirPrefix) { continue } @@ -193,13 +194,13 @@ func (a *zipArchive) addPathDirectory(pathname string) { } func (a *zipArchive) findFile(name string) *zip.File { - name = path.Clean(dirPrefix + name) + name = path.Clean(name) return a.files[name] } func (a *zipArchive) findDirectory(name string) *zip.FileHeader { - name = path.Clean(dirPrefix + name) + name = path.Clean(name) return a.directories[name+"/"] } |