googleapis / googleapis/google-cloud-cpp
Investigate automatic detection of CA roots from environment variables (e.g. CURL_CA_BUNDLE)
- Langage dominant
- C++
- Étoiles
- 659
- Forks
- 462
- Merge moyen
- 1 j 2 h
- PR mergées (30 j)
- 89
Description
**Problem**
Currently, to make the `quickstart` examples work in the Windows Bazel CI environment (which uses a hermetic build with custom OpenSSL roots), we explicitly modify the C++ code to read the `CURL_CA_BUNDLE` environment variable and set the `CARootsFilePathOption`.
See PR #15818 for the current implementation
**Goal**
We should explore ways to avoid modifying the example code (`quickstart.cc`) for this CI-specific configuration.
**Potential Solutions**
- Update the client library to automatically check `CURL_CA_BUNDLE` or standard OpenSSL environment variables when initializing the default `Options`.
- Adjust the Bazel build configuration to transparently point to the correct roots without code changes.
This issue tracks the investigation and implementation of a solution that keeps the quickstart code clean and environment-agnostic.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par quickstart.cc et la PR #15818 afin de comprendre la gestion actuelle de CURL_CA_BUNDLE et l’utilisation de CARootsFilePathOption. Lisez l’initialisation des Options par défaut et la configuration de Bazel, puis comparez les approches au niveau de la bibliothèque pour les variables d’environnement et la configuration de compilation. Le travail est terminé lorsque quickstart.cc n’a plus besoin de modifications spécifiques à la CI, tandis que les exemples de CI Bazel sous Windows utilisent toujours les CA roots prévues.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- cpp
- Domaine
- build-system, cloud
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 25/100