summaryrefslogtreecommitdiff
path: root/lib/urldata.h
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/urldata.h
parent7968e3c2de56b035081f30ddcc9b60be2d75f396 (diff)
downloadcurl-45fc760985fa11ef98149418cbad02dadf748f31.tar.gz
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/urldata.h')
-rw-r--r--lib/urldata.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/urldata.h b/lib/urldata.h
index f892968e9..dab214ce3 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -145,6 +145,8 @@ struct ssl_config_data {
char *egdsocket; /* path to file containing the EGD daemon socket */
char *cipher_list; /* list of ciphers to use */
long numsessions; /* SSL session id cache size */
+ curl_ssl_ctx_callback fsslctx; /* function to initialize ssl ctx */
+ void *fsslctxp; /*parameter for call back */
};
/* information stored about one single SSL session */
@@ -677,6 +679,10 @@ struct UrlState {
struct DynamicStatic {
char *url; /* work URL, copied from UserDefined */
bool url_alloc; /* URL string is malloc()'ed */
+ bool url_changed; /* set on CURL_OPT_URL, used to detect if the URL was
+ changed after the connect phase, as we allow callback
+ to change it and if so, we reconnect to use the new
+ URL instead */
char *proxy; /* work proxy, copied from UserDefined */
bool proxy_alloc; /* http proxy string is malloc()'ed */
char *referer; /* referer string */