-
Notifications
You must be signed in to change notification settings - Fork 146
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 verify_server_cert support to MySQL source. #24
Conversation
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here with What to do if you already signed the CLAIndividual signers
Corporate signers
ℹ️ Googlers: Go here for more info. |
@googlebot I signed it! |
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
@googlebot I fixed it. |
All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the ℹ️ Googlers: Go here for more info. |
@googlebot I consent. |
CLAs look good, thanks! ℹ️ Googlers: Go here for more info. |
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 @ZxMYS ! Some nit comments before merging.
ff72f0b
to
35b4535
Compare
thanks, updated! |
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!
thanks for the contribution, @ZxMYS . some follow-up questions
Just to confirm, the change works for you even without upgrading to openssl 1.0.2 in the manylinux2010 image, right?
If 1.0.2 or 1.1.1 (stable) version is required, consider to edit the script run in the image. The image is shared by many projects. The upgrade may need to be done in the script by built from openssl source.
|
@hughmiao Yes it works without openssl 1.0.2 when I tested with my toy db, where the server cert doesn't rely on SAN. Our prod environment does require SAN tho, so I will need a wheel compiled with a newer openssl. |
thanks, @ZxMYS . The docker is based on the pypa standard CentOS image with bazel 0.24.1 installed. and each project has its own script to setup the image. You can edit the Another thought is to use the grpc server, which can be built and ran in your own environment, the python wheel without change can talk to the local server which then talk to mysql with secure connection. |
This pr continues #20 and adds an option to set MYSQL_OPT_SSL_VERIFY_SERVER_CERT.
I did some test with my database and it works; Without openssl 1.0.2 it won't work in some cases due to https://jira.mariadb.org/browse/MDEV-10594 (and its corresponding https://jira.mariadb.org/browse/CONC-250), but this option should still be useful to many.
The docker image this repo currently uses (manylinux2010) seems to have openssl 1.0.1e - any chance we can get openssl 1.0.2 there?