mirror of
https://github.com/curl/curl.git
synced 2026-08-24 21:33:31 +03:00
Peter Sylvester's patch was applied that introduces the following:
CURLOPT_SSL_CTX_FUNCTION to set a callback that gets called with the OpenSSL's ssl_ctx pointer passed in and allow a callback to act on it. If anything but CURLE_OK is returned, that will also be returned by libcurl all the way back. If this function changes the CURLOPT_URL, libcurl will detect this and instead go use the new URL. CURLOPT_SSL_CTX_DATA is a pointer you set to get passed to the callback set with CURLOPT_SSL_CTX_FUNCTION.
This commit is contained in:
parent
7968e3c2de
commit
45fc760985
6 changed files with 69 additions and 4 deletions
|
|
@ -147,7 +147,7 @@ typedef int (*curl_debug_callback)
|
|||
curl_infotype type, /* what kind of data */
|
||||
char *data, /* points to the data */
|
||||
size_t size, /* size of the data pointed to */
|
||||
void *userp); /* whatever the user please */
|
||||
void *userptr); /* whatever the user please */
|
||||
|
||||
/* All possible error codes from all sorts of curl functions. Future versions
|
||||
may return other values, stay prepared.
|
||||
|
|
@ -224,6 +224,11 @@ typedef enum {
|
|||
CURL_LAST /* never use! */
|
||||
} CURLcode;
|
||||
|
||||
typedef CURLcode (*curl_ssl_ctx_callback)(CURL *curl, /* easy handle */
|
||||
void *ssl_ctx, /* actually an
|
||||
OpenSSL SSL_CTX */
|
||||
void *userptr);
|
||||
|
||||
/* Make a spelling correction for the operation timed-out define */
|
||||
#define CURLE_OPERATION_TIMEDOUT CURLE_OPERATION_TIMEOUTED
|
||||
#define CURLE_HTTP_NOT_FOUND CURLE_HTTP_RETURNED_ERROR
|
||||
|
|
@ -659,6 +664,15 @@ typedef enum {
|
|||
Note that setting multiple bits may cause extra network round-trips. */
|
||||
CINIT(HTTPAUTH, LONG, 107),
|
||||
|
||||
/* Set the ssl context callback function, currently only for OpenSSL ssl_ctx
|
||||
in second argument. The function must be matching the
|
||||
curl_ssl_ctx_callback proto. */
|
||||
CINIT(SSL_CTX_FUNCTION, FUNCTIONPOINT, 108),
|
||||
|
||||
/* Set the userdata for the ssl context callback function's third
|
||||
argument */
|
||||
CINIT(SSL_CTX_DATA, OBJECTPOINT, 109),
|
||||
|
||||
CURLOPT_LASTENTRY /* the last unused */
|
||||
} CURLoption;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue