Work around recent Akamai/Microsoft issues

At the moment, Microsoft Office and related casks fail audit due to
failure to fetch a product homepage from the main Microsoft site
(https://www.microsoft.com/) served by Akamai CDN.
The failure is severe and weird: no status code is received as the
connection is reset.
The analysis revealed the issue is linked to `User-Agent` and
`Accept-Language` headers parsing. Homebrew uses involved user agent
strings and has language hardcoded as `en`.
The simplest workaround is to use a simple user agent string when checking
homepage availability if the cask is in an audit exceptions list.

Merging this would fix Microsoft Office updates (including
https://github.com/Homebrew/homebrew-cask/pull/162671)
This commit is contained in:
Valentin Kulesh 2023-12-16 21:48:38 +03:00
parent 29d1be9e9a
commit 06155ff6e0
No known key found for this signature in database
GPG Key ID: 424B5523CFD2D69F

View File

@ -785,8 +785,14 @@ module Cask
return unless cask.homepage
user_agents = if cask.tap&.audit_exception(:simple_user_agent_for_homepage, cask.token)
["curl"]
else
[:browser, :default]
end
validate_url_for_https_availability(cask.homepage, SharedAudits::URL_TYPE_HOMEPAGE, cask.token, cask.tap,
user_agents: [:browser, :default],
user_agents: user_agents,
check_content: true,
strict: strict?)
end