Auth: add Public API for CURLOPT_CAPATH or other mechanism to avoid expensive reload
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
Direzione di ricerca
Start by reading the discussion at https://github.com/googleapis/google-cloud-cpp/discussions/16111 and the existing internal CAPathOption and public CARootsFilePathOption implementations. Determine how curl options are exposed and tested, then assess a supported public option for CURLOPT_CAPATH. Done means the public API can select a CA directory and tests verify that it configures the intended curl behavior.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Discussed in https://github.com/googleapis/google-cloud-cpp/discussions/16111
Originally posted by LukePickett2 May 21, 2026
We're using google-cloud-cpp on Linux with OpenSSL 3.2, and have found that the default behavior — leaving libcurl to use the system CA bundle file via CURLOPT_CAINFO — causes OpenSSL to parse and load the entire bundle into a fresh SSL_CTX on each connection. With OpenSSL 3.2+ this is noticeably more expensive than the alternative: setting CURLOPT_CAPATH to a hashed certificate directory (e.g. /etc/ssl/certs/), which allows OpenSSL to do a single O(1) lookup for only the CA cert needed to verify each connection.
We noticed google:☁️:storage::internal::CAPathOption and google:☁️:internal::CAPathOption exist but are both marked "only intended for testing, not for public use."
Is there a supported/public way to achieve CURLOPT_CAPATH behavior? If not, is there any plan to expose this as a public option alongside CARootsFilePathOption? We'd rather not rely on an internal API for production use.
- Lingua principale
- C++
- Stelle
- 659
- Fork
- 475
- Merge medio
- 1g 14h
- PR unite (30g)
- 84
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di googleapis/google-cloud-cpp
-
cleanup(storage): remove deprecated OpenTelemetry rpc.message.type and rpc.message.id attributesApertaapi: storage type: cleanup
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
googleapis/google-cloud-cpp#16544 ·
I maintainer di solito rispondono entro 1 giorno
-
api: storage priority: p2 type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
googleapis/google-cloud-cpp#16529 ·
I maintainer di solito rispondono entro 1 giorno
-
type: feature request
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
googleapis/google-cloud-cpp#16193 ·
I maintainer di solito rispondono entro 1 giorno
-
api: storage type: cleanup
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
googleapis/google-cloud-cpp#16545 ·
I maintainer di solito rispondono entro 1 giorno
-
api: storage type: cleanup
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
googleapis/google-cloud-cpp#16404 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di googleapis/google-cloud-cpp
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
foxglove/mcap#1907 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
Documentation
Difficoltà 1/5 1-3 ore Idoneità per principianti 72/100
qbittorrent/qBittorrent#25127 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
telegramdesktop/tdesktop#31505 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno