From f8442cfea9f5ab0c4b8b2b6959153034f390839e Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Mon, 4 Nov 2019 13:29:18 +0100 Subject: [PATCH] fix(submission): ignore extension case within zips --- src/Handler/Utils/Submission.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Handler/Utils/Submission.hs b/src/Handler/Utils/Submission.hs index 8304c1ec8..694ba01e7 100644 --- a/src/Handler/Utils/Submission.hs +++ b/src/Handler/Utils/Submission.hs @@ -50,6 +50,8 @@ import Text.Hamlet (ihamletFile) import qualified Control.Monad.Catch as E (Handler(..)) +import qualified Data.CaseInsensitive as CI + data AssignSubmissionException = NoCorrectors | NoCorrectorsByProportion | SubmissionsNotFound (NonNull (Set SubmissionId)) @@ -428,7 +430,7 @@ sinkSubmission userId mExists isUpdate = do , Just (map unpack . Set.toList . toNullable -> exts) <- extensionRestriction = Conduit.mapM $ \x -> if | Left File{..} <- x - , none (`isExtensionOf` fileTitle) exts + , none ((flip isExtensionOf `on` CI.foldCase) fileTitle) exts , isn't _Nothing fileContent -- File record is not a directory, we don't care about those -> throwM $ InvalidFileTitleExtension fileTitle | otherwise