-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Clean up C++ client curl configuration #16064
Clean up C++ client curl configuration #16064
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.
LGTM
(cherry picked from commit 0d4c0b1)
(cherry picked from commit 11e342f)
(cherry picked from commit 48c575d)
(cherry picked from commit 48c575d)
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.
Could you explain the motivation of this PR? The default values of these two configs are 1, which enables strict certificates check. I think it was zero are just to disable the check.
We observed an error like:
2022-10-20 02:42:38.545 ERROR [140011702527744] AuthOauth2:223 | Response failed for getting the well-known configuration <xxx>. Error Code 77: error setting certificate verify locations:
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
It seems to be related to this PR, see https://curl.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html
This trust is based on a chain of digital signatures, rooted in certification authority (CA) certificates you supply. curl uses a default bundle of CA certificates (the path for that is determined at build time)
I have confirmed it's caused by this PR and will revert it from branch-2.7 to 2.11. Though we should encourage users to use new separated ReproduceCheckout branch-2.9, run the following command. $ pulsar-client-cpp/docker/build-wheels.sh 3.8 cp38-cp38 manylinux2014 x86_64 Then docker run -v $PWD:/pulsar -it ubuntu:20.04 /bin/bash apt update -y
apt install -y python3 python3-pip
pip3 install /pulsar/pulsar-client-cpp/python/dist/pulsar_client-2.9.3-cp38-cp38-linux_x86_64.whl Then run the following script: #!/usr/bin/env python3
from pulsar import AuthenticationOauth2
auth = AuthenticationOauth2(auth_params_string='''{
"type": "client_credentials",
"issuer_url": "https://dev-kt-aa9ne.us.auth0.com",
"client_id": "xxx",
"client_secret": "xxx"
}''') Output:
After I reverted this PR, it works. /cc @michaeljmarshall @merlimat @dave2wave @freeznet @jiangpengcheng @mattisonchao |
This reverts commit 3211f91.
This reverts commit 0d4c0b1.
This reverts commit 48c575d.
This reverts commit 11e342f.
This reverts commit 8eae5b8.
@BewareMyPower - this should not have been reverted. Please see this stack overflow for help solving your environment's issue: https://stackoverflow.com/questions/3160909/how-do-i-deal-with-certificates-using-curl-while-trying-to-access-an-https-url. |
This reverts commit 7923d54.
This reverts commit e3d4fa5.
This reverts commit 093d8ee.
This reverts commit ed7b875.
This reverts commit a1f4fef.
They are restored now. I will confirm the solution soon. |
Thanks @BewareMyPower. |
Motivation
Clean up C++ client curl configuration.
Modifications
Verifying this change
This is a minor change with well known scope. No additional tests are required.
doc-not-needed