forgejo/services/webhook
Giteabot ca4418eff1
Support allowed hosts for webhook to work with proxy (#27655) (#27674)
Backport #27655 by @wolfogre

When `webhook.PROXY_URL` has been set, the old code will check if the
proxy host is in `ALLOWED_HOST_LIST` or reject requests through the
proxy. It requires users to add the proxy host to `ALLOWED_HOST_LIST`.
However, it actually allows all requests to any port on the host, when
the proxy host is probably an internal address.

But things may be even worse. `ALLOWED_HOST_LIST` doesn't really work
when requests are sent to the allowed proxy, and the proxy could forward
them to any hosts.

This PR fixes it by:

- If the proxy has been set, always allow connectioins to the host and
port.
- Check `ALLOWED_HOST_LIST` before forwarding.

Co-authored-by: Jason Song <i@wolfogre.com>
2023-10-18 15:07:20 +02:00
..
deliver.go Support allowed hosts for webhook to work with proxy (#27655) (#27674) 2023-10-18 15:07:20 +02:00
deliver_test.go Support allowed hosts for webhook to work with proxy (#27655) (#27674) 2023-10-18 15:07:20 +02:00
dingtalk.go Fix release URL in webhooks (#27182) (#27184) 2023-09-21 23:59:27 +00:00
dingtalk_test.go Fix release URL in webhooks (#27182) (#27184) 2023-09-21 23:59:27 +00:00
discord.go Fix release URL in webhooks (#27182) (#27184) 2023-09-21 23:59:27 +00:00
discord_test.go Fix release URL in webhooks (#27182) (#27184) 2023-09-21 23:59:27 +00:00
feishu.go Use the type RefName for all the needed places and fix pull mirror sync bugs (#24634) 2023-05-26 01:04:48 +00:00
feishu_test.go Restructure webhook module (#22256) 2023-01-01 23:23:15 +08:00
general.go Add branch_filter to hooks API endpoints (#26599) (#26632) 2023-08-21 12:17:19 +00:00
general_test.go Fix release URL in webhooks (#27182) (#27184) 2023-09-21 23:59:27 +00:00
main_test.go Merge setting.InitXXX into one function with options (#24389) 2023-05-04 11:55:35 +08:00
matrix.go Fix release URL in webhooks (#27182) (#27184) 2023-09-21 23:59:27 +00:00
matrix_test.go Restructure webhook module (#22256) 2023-01-01 23:23:15 +08:00
msteams.go Fix release URL in webhooks (#27182) (#27184) 2023-09-21 23:59:27 +00:00
msteams_test.go Fix release URL in webhooks (#27182) (#27184) 2023-09-21 23:59:27 +00:00
notifier.go For API attachments, use API URL (#25639) (#25814) 2023-07-10 12:56:16 +00:00
packagist.go Restructure webhook module (#22256) 2023-01-01 23:23:15 +08:00
packagist_test.go Restructure webhook module (#22256) 2023-01-01 23:23:15 +08:00
payloader.go New webhook trigger for receiving Pull Request review requests (#24481) 2023-05-24 22:06:27 -04:00
slack.go Fix release URL in webhooks (#27182) (#27184) 2023-09-21 23:59:27 +00:00
slack_test.go Restructure webhook module (#22256) 2023-01-01 23:23:15 +08:00
telegram.go Add ThreadID parameter for Telegram webhooks (#25996) (#26480) 2023-08-14 08:55:17 +08:00
telegram_test.go Restructure webhook module (#22256) 2023-01-01 23:23:15 +08:00
webhook.go Warn instead of reporting an error when a webhook cannot be found (#26039) (#26211) 2023-07-29 14:47:46 +00:00
webhook_test.go Restructure webhook module (#22256) 2023-01-01 23:23:15 +08:00
wechatwork.go Use the type RefName for all the needed places and fix pull mirror sync bugs (#24634) 2023-05-26 01:04:48 +00:00