From 46e99081d9bad67b42f09792ac12e8a5f7d72723 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sun, 10 May 2020 22:59:38 +0200 Subject: [PATCH] fix(generic-file-field): allow .zip when doUnpack --- src/Handler/Utils/Form.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Handler/Utils/Form.hs b/src/Handler/Utils/Form.hs index 989887b4a..ed8395922 100644 --- a/src/Handler/Utils/Form.hs +++ b/src/Handler/Utils/Form.hs @@ -929,8 +929,11 @@ genericFileField mkOpts = Field{..} handleFile | doUnpack = sourceFiles | otherwise = yieldM . acceptFile + invalidUploadExtension fName + = not (permittedExtension opts fName) + && (not doUnpack || ((/=) `on` simpleContentType) (mimeLookup fName) typeZip) - if | invExt : _ <- filter (not . permittedExtension opts) uploadedFilenames + if | invExt : _ <- filter invalidUploadExtension uploadedFilenames -> do liftHandler . runDB . runConduit $ mapM_ (transPipe lift . handleFile) files