aboutsummaryrefslogtreecommitdiff
path: root/lib/sslgen.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sslgen.c')
-rw-r--r--lib/sslgen.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/sslgen.c b/lib/sslgen.c
index f512a8807..6352224f1 100644
--- a/lib/sslgen.c
+++ b/lib/sslgen.c
@@ -272,6 +272,22 @@ static int kill_session(struct curl_ssl_session *session)
}
/*
+ * Delete the given session ID from the cache.
+ */
+void Curl_ssl_delsessionid(struct connectdata *conn, void *ssl_sessionid)
+{
+ int i;
+ for(i=0; i< conn->data->set.ssl.numsessions; i++) {
+ struct curl_ssl_session *check = &conn->data->state.session[i];
+
+ if (check->sessionid == ssl_sessionid) {
+ kill_session(check);
+ break;
+ }
+ }
+}
+
+/*
* Store session id in the session cache. The ID passed on to this function
* must already have been extracted and allocated the proper way for the SSL
* layer. Curl_XXXX_session_free() will be called to free/kill the session ID