-
-
Notifications
You must be signed in to change notification settings - Fork 34
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
[release-1.5] Backport bugfixes to release-1.5 branch #175
Conversation
@StefanKarpinski Does this sound good to you? If so, I'll merge the PR, register a new release, and bump the stdlib version on Julia 1.7. |
@ericphanson Any chance you could regenerate this PR, but with |
…not been edited (JuliaLang#128) (cherry picked from commit 21843d0)
(cherry picked from commit adbb974)
(cherry picked from commit 848d374)
(cherry picked from commit 3870614)
ChainRulesCore defines `==(a, b::AbstractThunk)` and its converse, and this invalidates a couple of poorly-typed Symbol checks. This more "SSA-like" way of writing the code is easier to infer. (cherry picked from commit 25f7af3)
…liaLang#140) Since JuliaLang#114, we only turn off peer verification, not host verification when the `SSL_NO_VERIFY` variables are set. This means that the last set of tests in the "SSL no verify override" testset *should* fail for `wrong.host.badssl.com`. That is not what I was seeing, however — the test was still passing — which I found puzzling but just moved on with my life at the time. It turns out that the test *does* fail if libcurl is build with OpenSSL. Since whether the test passes or not for that host depends on how things are built, this change simply skips the test (by popping the URL from the set of tested URLS for that testset). The tests above that which use the easy hook mechanism are fixed in a different way: for those I made the hook disable both host and peer verification, which should fix the tests for any bad host including when the server sends the wrong host name. (cherry picked from commit e22219f)
(cherry picked from commit 5f1509d)
(cherry picked from commit 11493ff)
(cherry picked from commit 4c1d2af)
(cherry picked from commit 2eb0491)
(cherry picked from commit c91876a)
(cherry picked from commit 43a3484)
(cherry picked from commit 62b497e)
(possible multithread race with this still needs to be fixed) (cherry picked from commit 7f91b8a)
(cherry picked from commit 4250b35)
(cherry picked from commit d8c626b)
Fixes JuliaLang#163 (cherry picked from commit a55825b)
If no content length is set while uploading some contents, Curl defaults to use chunked transfer encoding. In some cases we want to prevent that because the server may not support chunked transfers. With this change, the request method will also look at the headers while determining the input size and if found call `set_upload_size` as usual. So to switch off chunked transfers, one must also know and set the content length header while invoking `download` or `request` methods. (cherry picked from commit ab628ab)
These only add one callback so having them be plural is weird. (cherry picked from commit 5bd0826)
(cherry picked from commit 55a0c39)
This adds end-to-end tests for the changes introduced in JuliaLang#167. Verbose mode is switched off for these tests, but switching it on would show that not setting content-length headers results in chunked transfer encoding while setting it prevents that. Both tests should pass. (cherry picked from commit 911368d)
This combines the functionality from the previous two commits to not only trigger both chunked and non-chunked uploads, but also test for that difference by capturing and inspecting the debug events. (cherry picked from commit 4e0408a)
eced16f
to
3bf0f13
Compare
Ok, done |
bump |
1 similar comment
bump |
Thank you @DilumAluthge ! What’s the next step to get this into Julia 1.7.X? |
|
To pull in the bugfixes backported to Downloads 1.5.3 in JuliaLang/Downloads.jl#175.
Looking at the commits on master that are not on release-1.5, they all appear to be bugfixes. So I did
where I got the latter commit from
and then a bunch of
git cherry-pick --skip
s and got here, and then added a commit bumping the version.