-
Notifications
You must be signed in to change notification settings - Fork 118
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
Add support for BIO_read/write_ex; Update MySQL CI to 8.4; #1568
Conversation
541e4ea
to
6406764
Compare
2af6dfb
to
0f199fc
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.
Do we need to do anything to support #1333 and handle openssl/openssl#8208?
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.
Do we need to do anything to support #1333 and handle openssl/openssl#8208?
-
For Implement SSL_MODE_AUTO_RETRY #1333, I'm not sure how
SSL_MODE_AUTO_RETRY
comes into play here since these are BIO APis we're adding here. But I've reverted the change in 171ee7a since it wasn't needed anymore.SSL_MODE_AUTO_RETRY
is also default behavior which we've documented. -
For BIO_read_ex does not distinguish EOF from failure openssl/openssl#8208, really good catch I didn't notice this issue.. Luckily nobody other than MySQL 8.4 is dependent on us for this yet, but it'd be better to implement the right behavior from the get go.
My only concern would be folks depending on the non-existent eof supportBIO_read_ex
has right now. But judging from the comments in the thread it seems likeBIO_read_ex
is unusable right now because of this, so it seems unlikely. I'll implement the suggestion from BIO_read_ex does not distinguish EOF from failure openssl/openssl#8208 (comment) and document the discrepancy. Will also add tests.
We decided to pivot and align with OpenSSL's original behavior instead. Misaligning the behavior will only create more gaps with OpenSSL/AWS-LC with no real additional benefit. This will only create more confusion further down the road with future integration projects. It's also very unlikely that OpenSSL will change the current behavior of |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1568 +/- ##
==========================================
- Coverage 77.92% 77.91% -0.01%
==========================================
Files 560 560
Lines 94583 94613 +30
Branches 13610 13617 +7
==========================================
+ Hits 73700 73721 +21
- Misses 20288 20296 +8
- Partials 595 596 +1 ☔ View full report in Codecov by Sentry. |
Description of changes:
MySQL 8.4 has been released, this updates our CI to run against the latest version. This time we only need two missing APIs from OpenSSL.
BIO_read_ex
BIO_write_ex
Call-outs:
mysql_run_tests
int
tosize_t
mismatch forBIO_pending
BIO_pending
toint
instead, but our version has been using thesize_t
signature for a decade now, so this doesn't seem easily convertible.Testing:
BIO_read/write_ex
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license.