aboutsummaryrefslogtreecommitdiff
path: root/lib/urldata.h
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2006-03-21 21:54:44 +0000
committerDaniel Stenberg <daniel@haxx.se>2006-03-21 21:54:44 +0000
commit83367f67de9584b91570bcb53a153b8aa496d455 (patch)
tree83fe48b1331c3b40653ea85ec56b663093feae12 /lib/urldata.h
parent15f2647d713b2de6d76424ef83e5dd00cfd3403d (diff)
Xavier Bouchoux made the SSL connection non-blocking for the multi interface
(when using OpenSSL).
Diffstat (limited to 'lib/urldata.h')
-rw-r--r--lib/urldata.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/lib/urldata.h b/lib/urldata.h
index 6cb3729b9..1418f3e92 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -128,13 +128,23 @@ struct krb4buffer {
int eof_flag;
};
enum protection_level {
- prot_clear,
- prot_safe,
- prot_confidential,
- prot_private
+ prot_clear,
+ prot_safe,
+ prot_confidential,
+ prot_private
};
#endif
+/* enum for the nonblocking SSL connection state machine */
+typedef enum {
+ ssl_connect_1,
+ ssl_connect_2,
+ ssl_connect_2_reading,
+ ssl_connect_2_writing,
+ ssl_connect_3,
+ ssl_connect_done
+} ssl_connect_state;
+
/* struct for data related to each SSL connection */
struct ssl_connect_data {
bool use; /* use ssl encrypted communications TRUE/FALSE */
@@ -143,6 +153,7 @@ struct ssl_connect_data {
SSL_CTX* ctx;
SSL* handle;
X509* server_cert;
+ ssl_connect_state connecting_state;
#endif /* USE_SSLEAY */
#ifdef USE_GNUTLS
gnutls_session session;