aboutsummaryrefslogtreecommitdiff
path: root/lib/url.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2003-07-04 16:29:23 +0000
committerDaniel Stenberg <daniel@haxx.se>2003-07-04 16:29:23 +0000
commit45fc760985fa11ef98149418cbad02dadf748f31 (patch)
tree5e9e1c097cac271dd1f0504c2ea844bf57dc56f4 /lib/url.c
parent7968e3c2de56b035081f30ddcc9b60be2d75f396 (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 'lib/url.c')
-rw-r--r--lib/url.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/url.c b/lib/url.c
index 9ec92dfab..3b6a73b90 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -723,6 +723,7 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...)
}
data->set.set_url = va_arg(param, char *);
data->change.url = data->set.set_url;
+ data->change.url_changed = TRUE;
break;
case CURLOPT_PORT:
/*
@@ -1091,6 +1092,18 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...)
*/
data->set.ssl.verifyhost = va_arg(param, long);
break;
+ case CURLOPT_SSL_CTX_FUNCTION:
+ /*
+ * Set a SSL_CTX callback
+ */
+ data->set.ssl.fsslctx = va_arg(param, curl_ssl_ctx_callback);
+ break;
+ case CURLOPT_SSL_CTX_DATA:
+ /*
+ * Set a SSL_CTX callback parameter pointer
+ */
+ data->set.ssl.fsslctxp = va_arg(param, void *);
+ break;
case CURLOPT_CAINFO:
/*
* Set CA info for SSL connection. Specify file name of the CA certificate