diff options
author | Daniel Stenberg <daniel@haxx.se> | 2003-07-04 16:29:23 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2003-07-04 16:29:23 +0000 |
commit | 45fc760985fa11ef98149418cbad02dadf748f31 (patch) | |
tree | 5e9e1c097cac271dd1f0504c2ea844bf57dc56f4 /include | |
parent | 7968e3c2de56b035081f30ddcc9b60be2d75f396 (diff) |
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.
Diffstat (limited to 'include')
-rw-r--r-- | include/curl/curl.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/include/curl/curl.h b/include/curl/curl.h index 00074d561..ae73c1dde 100644 --- a/include/curl/curl.h +++ b/include/curl/curl.h @@ -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; |