BewareMyPower opened a new pull request, #190:
URL: https://github.com/apache/pulsar-client-cpp/pull/190

   Fixes https://github.com/apache/pulsar-client-cpp/issues/184
   
   ### Modifications
   
   Add a `AuthenticationDataProvider` implementation `InitialAuthData`, which 
holds the CA cert path. Then, in `AuthOauth2::getAuthData`, retrieve the path 
and pass it to the `ClientCredentialFlow` for HTTP requests performed by 
libcurl.
   
   This solution is API and ABI compatible.
   
   ### Verifications
   
   It's hard to add the test in CI because we need an OAuth2 server configured 
with the CA configured.
   
   Follow the **How to reproduce** section in
   
https://github.com/apache/pulsar-client-cpp/issues/184#issuecomment-1420509146 
to reproduce this issue. Apply this patch and build the `libpulsar.so` with 
`LINK_STATIC=ON`, then copy the `libpulsar.so` into the docker container (under 
`/app/lib`).
   
   Run `./a.out` directly, you will still see the `AuthenticationError`. 
However, if you added the path of `libpulsar.so` to the `LD_LIBRARY_PATH`:
   
   ```bash
   export LD_LIBRARY_PATH=/app/lib
   ./a.out
   ```
   
   No error will happen. You can also replace the `/lib/libpulsar.so` with the 
`libpulsar.so` built from source.
   
   ### Documentation
   
   <!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
   
   - [ ] `doc-required` 
   (Your PR needs to update docs and you will update later)
   
   - [x] `doc-not-needed` 
   (Please explain why)
   
   - [ ] `doc` 
   (Your PR contains doc changes)
   
   - [ ] `doc-complete`
   (Docs have been already added)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to