mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Fix url validation in webhook add/edit API (#34492)
This commit is contained in:
		| @@ -15,6 +15,7 @@ import ( | ||||
| 	"code.gitea.io/gitea/modules/setting" | ||||
| 	api "code.gitea.io/gitea/modules/structs" | ||||
| 	"code.gitea.io/gitea/modules/util" | ||||
| 	"code.gitea.io/gitea/modules/validation" | ||||
| 	webhook_module "code.gitea.io/gitea/modules/webhook" | ||||
| 	"code.gitea.io/gitea/services/context" | ||||
| 	webhook_service "code.gitea.io/gitea/services/webhook" | ||||
| @@ -92,6 +93,10 @@ func checkCreateHookOption(ctx *context.APIContext, form *api.CreateHookOption) | ||||
| 		ctx.APIError(http.StatusUnprocessableEntity, "Invalid content type") | ||||
| 		return false | ||||
| 	} | ||||
| 	if !validation.IsValidURL(form.Config["url"]) { | ||||
| 		ctx.APIError(http.StatusUnprocessableEntity, "Invalid url") | ||||
| 		return false | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
|  | ||||
| @@ -324,6 +329,10 @@ func EditRepoHook(ctx *context.APIContext, form *api.EditHookOption, hookID int6 | ||||
| func editHook(ctx *context.APIContext, form *api.EditHookOption, w *webhook.Webhook) bool { | ||||
| 	if form.Config != nil { | ||||
| 		if url, ok := form.Config["url"]; ok { | ||||
| 			if !validation.IsValidURL(url) { | ||||
| 				ctx.APIError(http.StatusUnprocessableEntity, "Invalid url") | ||||
| 				return false | ||||
| 			} | ||||
| 			w.URL = url | ||||
| 		} | ||||
| 		if ct, ok := form.Config["content_type"]; ok { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user