-
-
Notifications
You must be signed in to change notification settings - Fork 9.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
api: ignore HTTPS errors if minimum curl version isn't installed #16078
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @EricFromCanada! Some mild refactoring suggestions here.
This shoudn't be necessary as we provide HTTP mirrors, and have audits demanding that. That'll explain how this used to work before. However our mirror support was completely broken a few months back. I'll fix that. |
2644b2f
to
2f5bf7d
Compare
curl
source & dependencies where necessary2f5bf7d
to
dc95701
Compare
That does help, but the api.rb changes are still needed because it needs to pass |
dc95701
to
8646b2c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, make sense. Thanks!
Thanks @EricFromCanada! |
brew style
with your changes locally?brew typecheck
with your changes locally?brew tests
with your changes locally?Similar to the situation addressed in #15895, a system with a built-in
curl
that's too old to handle some certificates (e.g. OS X 10.11) won't be able to fetch the dependencies for compiling a newercurl
, which is run by update.sh as part of the initial install process. That's been partially resolved by #16079 which fixes mirror support, and this PR finishes the job by:curl
need replacing; each just checks if they're a) too old and b) haven't been replaced yet. Also added is a function for generating the insecure download warning, called by api.rb and download_strategy.rb.--insecure
when fetching the API files if either the system CA certificates orcurl
need replacing. Both need to be checked because brew.sh is written to specify that either of them is too old, but not both.ca-certificates
package to be downloaded with--insecure
if either the system CA certificates orcurl
need replacing.On a fresh OS X 10.11 system this results in a working installation.