Results 53 comments of Michael Drake

There probably needs to be a `CURLOPT_PROXY_CASTORE` too, and a corresponding `curl_easy_create_proxy_castore()`.

The idea of the `curl_easy_create_castore()` is it doesn't modify the easy handle at all and can be called before any connection is made.

Since the `destroy` call doesn't need an easy handle, maybe an `include/curl/castore.h` would be better: ```c CURLcode curl_castore_create(const CURL *curl, void **castore); void curl_castore_destroy(void *castore); ```

> I could imagine a system that caches the CA context per multi handle for a given file name. So the certificate store caching would only be available when curl...

@bagder > I could imagine a system that caches the CA context per multi handle for a given file name. Done. > Either as a cache for multiple file names...

@bagder Note also that I've removed the mutex stuff, because I believe it's not needed when being driven by the multi interface. Also I'm only considering the `multi` member of...

OK, cool. My concern was that the `multi_easy` handle might have more than one easy handle attached, and therefore need to deal with concurrency, but from reading `easy_perform`, that's not...

@bagder > This would then by default make libcurl not load new CA certs when subsequent new connections are made, contrary to current functionality. We could add a bit to...

I can squash out https://github.com/curl/curl/pull/9620/commits/349c6444e876f0b94e5b1ff73874393945346851. That would leave https://github.com/curl/curl/pull/9620/commits/5971e294f170ccb15b3b1394a71d8137f655880f irrelevant to the rest of the series. I could leave it in, drop it, or make a new PR for it.

@jay > > I can squash out [349c644](https://github.com/curl/curl/commit/349c6444e876f0b94e5b1ff73874393945346851). > > That would leave [5971e29](https://github.com/curl/curl/commit/5971e294f170ccb15b3b1394a71d8137f655880f) irrelevant to the rest of the series. I could leave it in, drop it, or make...