Commit Graph
11 Commits
Author SHA1 Message Date
Andras Bacsai a257224bb7 fix(validation): improve private URL handling and error feedback
Reject link-local targets even when allowlisted, link private-target errors to endpoint settings, and tighten persistent-volume table widths.
2026-08-14 13:34:00 +02:00
Andras Bacsai 5842d77b81 feat(volume-backups): add service backup UI and polish layouts
Add dedicated service volume-backup Livewire pages and routes, wire
shared storage backups for services, and pass S3 trusted hosts into
MinIO resolve options. Also refine breadcrumbs, sticky sidebars,
destination/GitHub layouts, resource filters, and login recovery link.
2026-08-05 15:15:50 +02:00
Andras BacsaiandGitHub c27a5ec41e fix(backups): pin a single bracket-free IP for mc --resolve (#11028) 2026-08-03 19:28:02 +02:00
dwiyantop 75d3bd8354 fix(backups): pin all resolved addresses in one CURLOPT_RESOLVE entry
libcurl overrides an existing host:port DNS cache entry each time a new
one is added, so one entry per address left only the last pinned. That is
IPv6 whenever the target has AAAA records, which broke every request on
hosts without IPv6. Join them into one comma separated entry instead.
2026-07-28 04:10:41 +07:00
Marvin 12033e8091 fix(backups): pin a single bracket-free IP for mc --resolve
S3 backup uploads fail when the endpoint has an AAAA record: mc parses
--resolve values with netip.ParseAddr and rejects the bracketed IPv6
form. Its resolver map also keeps only one IP per host, so emit a single
entry, preferring IPv4, without brackets.
2026-07-24 07:24:44 +02:00
Andras BacsaiandGitHub e560bdf9e0 fix(api): secure proxy config, clone volumes, and rollback tags (#11003) 2026-07-22 14:52:11 +02:00
Andras Bacsai 3988ad6921 fix(webhooks): resolve hostnames using custom DNS servers
Keep webhook SSRF DNS checks active when general DNS validation is disabled, and include localhost loopback resolution in safe URL validation.
2026-07-02 16:47:55 +02:00
Andras Bacsai 0bf97df9af feat: add internal endpoint controls 2026-07-02 16:35:39 +02:00
Andras Bacsai c7f014017b Improve outbound URL validation 2026-07-02 14:46:46 +02:00
Andras Bacsai 297e9c41e1 refactor(storage): tighten S3 endpoint URL validation
Reuse the existing SafeWebhookUrl rule on the S3 Storage endpoint field so
the create and edit forms go through the same URL-normalization path as
webhook settings. Adds a matching guard inside S3Storage::testConnection()
so background callers (scheduled backups, database import reuse) also
validate the endpoint before building the S3 client.

Also fixes an IPv6-bracket edge case in SafeWebhookUrl so `http://[::1]`
style hosts are normalized before the filter_var IP check — the rule's
own loopback test was already asserting this behaviour.
2026-04-20 11:50:19 +02:00
Andras BacsaiandClaude Opus 4.6 564cd8368b fix: add URL validation for notification webhook fields
Add SafeWebhookUrl validation rule to notification webhook URL fields
(Slack, Discord, custom webhook) to enforce safe URL patterns including
scheme validation and hostname checks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-28 12:22:59 +01:00