Skip to content

IBX-12127: Fixed valid URLs being marked as invalid by ibexa:check-urls - #809

Open
tbialcz wants to merge 1 commit into
4.6from
ibx-12127-check-urls-head-get-fallback
Open

IBX-12127: Fixed valid URLs being marked as invalid by ibexa:check-urls#809
tbialcz wants to merge 1 commit into
4.6from
ibx-12127-check-urls-head-get-fallback

Conversation

@tbialcz

@tbialcz tbialcz commented Aug 20, 2026

Copy link
Copy Markdown
Contributor
🎫 Issue IBX-12127

Description:

ibexa:check-urls checked links with a bare cURL HEAD request without any headers (since the original implementation, EZP-28505). WAFs like Cloudflare block such requests, so working links were marked as invalid.

Now the request sends browser-like User-Agent/Accept headers, and a failed HEAD is retried once with GET. New optional handler options: method, fallback_to_get, user_agent, headers.

Also fixed in the same code: the https handler was reading http options, and the curl_multi loop could skip trailing URLs.

For QA:

  1. Add RichText links to https://www.tiendanimal.es/ and to a URL that rejects HEAD requests (e.g. a local php -S server returning 403 for HEAD), publish.
  2. Run php bin/console ibexa:check-urls — both links are Valid in Link manager (before the fix: Invalid).
  3. Add a genuinely broken link (404 or dead host), re-run — it is marked Invalid.

Documentation:

Yes — document the new url_checker.handlers.http|https options: method, fallback_to_get, user_agent, headers.

@tbialcz tbialcz added Bug Something isn't working Doc needed The changes require some documentation labels Aug 20, 2026
@tbialcz
tbialcz force-pushed the ibx-12127-check-urls-head-get-fallback branch from 5b182e3 to 9149e7e Compare August 20, 2026 06:23
@tbialcz
tbialcz force-pushed the ibx-12127-check-urls-head-get-fallback branch from 9149e7e to 3fc0d75 Compare August 20, 2026 06:28
@sonarqubecloud

Copy link
Copy Markdown

@tbialcz
tbialcz requested a review from a team August 20, 2026 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Bug Something isn't working Doc needed The changes require some documentation Ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant