HTTP client: Minimal changes that include the improved API#15147
HTTP client: Minimal changes that include the improved API#15147DDvO wants to merge 6 commits intoopenssl:masterfrom
Conversation
|
I think both this API PR and the "meat" PR should be merged before beta1. And I am in favor of the split mainly because it keeps the size of the PRs more reasonable. |
|
Thanks a lot @t8m for your response!
Pleased to hear. Yes, this should make most sense.
I'm glad that the extra effort I spent in tentatively providing this split is going to pay off. Who can do the review(s) and start when, since unfortunately this is pretty urgent? |
|
I'll take care of the remaining CI failures (due to mem leaks) later today... |
|
Mem leaks fixed. |
|
In order to get rid of the unrelated CI failure on |
|
@t8m, are you going to review this PR? |
t8m
left a comment
There was a problem hiding this comment.
In general this looks good except for a few things.
|
You should be able to drop the fips.checksum update commit now. |
Pleased to hear - thanks for your swift review; I've handled all comments. |
Yes 👍 |
|
CI failures are unrelated - currently credential loading appears broken. |
|
I'm still stuck with trying to dissect where the various new test failures come from, part of which are related to a strange regression in private key loading: |
|
@t8m, I hope that, taking aside the test failures, you can still continue reviewing this PR, which meanwhile includes the updated and extended documentation. |
b7514be to
cb8bc29
Compare
I think I've managed to sufficiently trace them down and handle them.
|
…bio() ASN1_item_d2i_bio(): Do not report errors in queue on BIO input being NULL
rename OSSL_HTTP_d2i_free_bio to OSSL_HTTP_d2i_consume_bio
t8m
left a comment
There was a problem hiding this comment.
Just some small stuff remaining to fix and I'll approve. Please do not rebase.
… the improved API
Thank you 😄 |
|
24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set. Please review the updates and set the label manually. |
…bio() ASN1_item_d2i_bio(): Do not report errors in queue on BIO input being NULL Reviewed-by: Tomas Mraz <[email protected]> (Merged from #15147)
This is a minimal version of pull request #15053 including all the proposed improvements to the HTTP client API and its documentation but only those code adaptations strictly needed for it. The proposed new features include * support for persistent connections (keep-alive), * generalization to arbitrary request and response types, and * support for streaming BIOs for request and response data. The related API changes include: * Split the monolithic OSSL_HTTP_transfer() into OSSL_HTTP_open(), OSSL_HTTP_set_request(), a lean OSSL_HTTP_transfer(), and OSSL_HTTP_close(). * Split the timeout functionality accordingly and improve default behavior. * Extract part of OSSL_HTTP_REQ_CTX_new() to OSSL_HTTP_REQ_CTX_set_expected(). Reviewed-by: Tomas Mraz <[email protected]> (Merged from #15147)
|
Merged - thanks a lot @t8m for the timely handling of this non-trivial PR! |
…bio() ASN1_item_d2i_bio(): Do not report errors in queue on BIO input being NULL Reviewed-by: Tomas Mraz <[email protected]> (Merged from openssl#15147)
This is a minimal version of pull request openssl#15053 including all the proposed improvements to the HTTP client API and its documentation but only those code adaptations strictly needed for it. The proposed new features include * support for persistent connections (keep-alive), * generalization to arbitrary request and response types, and * support for streaming BIOs for request and response data. The related API changes include: * Split the monolithic OSSL_HTTP_transfer() into OSSL_HTTP_open(), OSSL_HTTP_set_request(), a lean OSSL_HTTP_transfer(), and OSSL_HTTP_close(). * Split the timeout functionality accordingly and improve default behavior. * Extract part of OSSL_HTTP_REQ_CTX_new() to OSSL_HTTP_REQ_CTX_set_expected(). Reviewed-by: Tomas Mraz <[email protected]> (Merged from openssl#15147)
This is a minimal version of #15053
including all the proposed improvements to the HTTP client API
but only those code adaptations strictly needed for it.
Is this helpful for reviewing the API and preliminary inclusion in the upcoming 3.0 beta1?
In case this gets merged, #15053 can then be based on it to provide the meat,
i.e., the implementation of the keep-alive feature etc., extended tests, and updated documentation.
Checklist