diff options
author | zeripath <art27@cantab.net> | 2022-03-28 04:17:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-28 11:17:21 +0800 |
commit | d6fa138e7ce7c36ce253a3c847e3218fd31452c4 (patch) | |
tree | f5a5fcd1d15e52369b745c75c41713ef12352d49 /routers/web/admin/hooks.go | |
parent | 04601d22f557bbaea2abc53aa9750478c9dbc14f (diff) | |
download | gitea-d6fa138e7ce7c36ce253a3c847e3218fd31452c4.tar.gz gitea-d6fa138e7ce7c36ce253a3c847e3218fd31452c4.zip |
Only send webhook events to active system webhooks and only deliver to active hooks (#19234)
There is a bug in the system webhooks whereby the active state is not checked when
webhooks are prepared and there is a bug that deactivating webhooks do not prevent
queued deliveries.
* Only add SystemWebhooks to the prepareWebhooks list if they are active
* At the time of delivery if the underlying webhook is not active mark it
as "delivered" but with a failed delivery so it does not get delivered.
Fix #19220
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'routers/web/admin/hooks.go')
-rw-r--r-- | routers/web/admin/hooks.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/routers/web/admin/hooks.go b/routers/web/admin/hooks.go index 8cb99e1d1e..1483d0959d 100644 --- a/routers/web/admin/hooks.go +++ b/routers/web/admin/hooks.go @@ -11,6 +11,7 @@ import ( "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/modules/setting" + "code.gitea.io/gitea/modules/util" ) const ( @@ -34,7 +35,7 @@ func DefaultOrSystemWebhooks(ctx *context.Context) { sys["Title"] = ctx.Tr("admin.systemhooks") sys["Description"] = ctx.Tr("admin.systemhooks.desc") - sys["Webhooks"], err = webhook.GetSystemWebhooks() + sys["Webhooks"], err = webhook.GetSystemWebhooks(util.OptionalBoolNone) sys["BaseLink"] = setting.AppSubURL + "/admin/hooks" sys["BaseLinkNew"] = setting.AppSubURL + "/admin/system-hooks" if err != nil { |