summaryrefslogtreecommitdiffstats
path: root/routers/api/packages
diff options
context:
space:
mode:
authorKN4CK3R <admin@oldschoolhack.me>2023-07-14 11:39:15 +0200
committerGitHub <noreply@github.com>2023-07-14 09:39:15 +0000
commitbd82d8974e84eeff8072c962c7253db3f4128f69 (patch)
treeced9fba1fc79a530167f94fa9f58fe2e7f3028c2 /routers/api/packages
parentdc679fc9faf3c661d23849f3cc1c3e02f995f74f (diff)
downloadgitea-bd82d8974e84eeff8072c962c7253db3f4128f69.tar.gz
gitea-bd82d8974e84eeff8072c962c7253db3f4128f69.zip
Add support for different Maven POM encoding (#25873)
Fixes #25853 - Maven POM files aren't always UTF-8 encoded. - Reject the upload of unparsable POM files
Diffstat (limited to 'routers/api/packages')
-rw-r--r--routers/api/packages/maven/maven.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/routers/api/packages/maven/maven.go b/routers/api/packages/maven/maven.go
index 84e3324367..6328e226ab 100644
--- a/routers/api/packages/maven/maven.go
+++ b/routers/api/packages/maven/maven.go
@@ -49,6 +49,11 @@ var (
func apiError(ctx *context.Context, status int, obj any) {
helper.LogAndProcessError(ctx, status, obj, func(message string) {
+ // The maven client does not present the error message to the user. Log it for users with access to server logs.
+ if status == http.StatusBadRequest || status == http.StatusInternalServerError {
+ log.Error(message)
+ }
+
ctx.PlainText(status, message)
})
}
@@ -320,7 +325,8 @@ func UploadPackageFile(ctx *context.Context) {
var err error
pvci.Metadata, err = maven_module.ParsePackageMetaData(buf)
if err != nil {
- log.Error("Error parsing package metadata: %v", err)
+ apiError(ctx, http.StatusBadRequest, err)
+ return
}
if pvci.Metadata != nil {