1
0
Fork 0
forked from forgejo/forgejo

Refactor filetype is not allowed errors (#7309)

This commit is contained in:
Antoine GIRARD 2019-07-07 04:25:05 +02:00 committed by techknowlogick
parent 75d4414386
commit f369788347
5 changed files with 61 additions and 46 deletions

View file

@ -5,13 +5,12 @@
package repo
import (
"errors"
"net/http"
"strings"
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/upload"
api "code.gitea.io/gitea/modules/structs"
)
@ -177,20 +176,9 @@ func CreateReleaseAttachment(ctx *context.APIContext) {
}
// Check if the filetype is allowed by the settings
fileType := http.DetectContentType(buf)
allowedTypes := strings.Split(setting.AttachmentAllowedTypes, ",")
allowed := false
for _, t := range allowedTypes {
t := strings.Trim(t, " ")
if t == "*/*" || t == fileType {
allowed = true
break
}
}
if !allowed {
ctx.Error(400, "DetectContentType", errors.New("File type is not allowed"))
err = upload.VerifyAllowedContentType(buf, strings.Split(setting.AttachmentAllowedTypes, ","))
if err != nil {
ctx.Error(400, "DetectContentType", err)
return
}