From 82f4a5ad509947d04e45e4f32ca65d91a45b8e93 Mon Sep 17 00:00:00 2001 From: kolaente Date: Wed, 11 Jan 2023 18:56:30 +0100 Subject: [PATCH] fix(export): ignore file size for export files --- pkg/files/files.go | 6 +++--- pkg/models/export.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/files/files.go b/pkg/files/files.go index ff86ea517..96eb4bd46 100644 --- a/pkg/files/files.go +++ b/pkg/files/files.go @@ -83,7 +83,7 @@ func CreateWithMime(f io.Reader, realname string, realsize uint64, a web.Auth, m s := db.NewSession() defer s.Close() - file, err = CreateWithMimeAndSession(s, f, realname, realsize, a, mime) + file, err = CreateWithMimeAndSession(s, f, realname, realsize, a, mime, true) if err != nil { _ = s.Rollback() return @@ -91,14 +91,14 @@ func CreateWithMime(f io.Reader, realname string, realsize uint64, a web.Auth, m return } -func CreateWithMimeAndSession(s *xorm.Session, f io.Reader, realname string, realsize uint64, a web.Auth, mime string) (file *File, err error) { +func CreateWithMimeAndSession(s *xorm.Session, f io.Reader, realname string, realsize uint64, a web.Auth, mime string, checkFileSizeLimit bool) (file *File, err error) { // Get and parse the configured file size var maxSize datasize.ByteSize err = maxSize.UnmarshalText([]byte(config.FilesMaxSize.GetString())) if err != nil { return nil, err } - if realsize > maxSize.Bytes() { + if realsize > maxSize.Bytes() && checkFileSizeLimit { return nil, ErrFileIsTooLarge{Size: realsize} } diff --git a/pkg/models/export.go b/pkg/models/export.go index 87c6dde65..b3b2fac3b 100644 --- a/pkg/models/export.go +++ b/pkg/models/export.go @@ -97,7 +97,7 @@ func ExportUserData(s *xorm.Session, u *user.User) (err error) { return err } - exportFile, err := files.CreateWithMimeAndSession(s, exported, tmpFilename, uint64(stat.Size()), u, "application/zip") + exportFile, err := files.CreateWithMimeAndSession(s, exported, tmpFilename, uint64(stat.Size()), u, "application/zip", false) if err != nil { return err }