diff options
author | Daniel Stenberg <daniel@haxx.se> | 2008-02-20 09:56:26 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2008-02-20 09:56:26 +0000 |
commit | 53a549000c3634f6b0a5ed262d5834c3145885d7 (patch) | |
tree | 53ed658f9b454a41bf4f1a4c62573f2f0db8e667 /lib/urldata.h | |
parent | 55700cb01f4a01b8187f387e1655371e6fe0703a (diff) |
- Based on initial work done by Gautam Kachroo to address a bug, we now keep
better control at the exact state of the connection's SSL status so that we
know exactly when it has completed the SSL negotiation or not so that there
won't be accidental re-uses of connections that are wrongly believed to be
in SSL-completed-negotiate state.
Diffstat (limited to 'lib/urldata.h')
-rw-r--r-- | lib/urldata.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/urldata.h b/lib/urldata.h index 2eeb08c20..95ef36b82 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -168,11 +168,19 @@ typedef enum { ssl_connect_done } ssl_connect_state; +typedef enum { + ssl_connection_none, + ssl_connection_negotiating, + ssl_connection_complete +} ssl_connection_state; + /* struct for data related to each SSL connection */ struct ssl_connect_data { - bool use; /* use ssl encrypted communications TRUE/FALSE, not - necessarily using it atm but at least asked to or - meaning to use it */ + /* Use ssl encrypted communications TRUE/FALSE, not necessarily using it atm + but at least asked to or meaning to use it. See 'state' for the exact + current state of the connection. */ + bool use; + ssl_connection_state state; #ifdef USE_SSLEAY /* these ones requires specific SSL-types */ SSL_CTX* ctx; |