urldata: Error on missing SSL backend-specific connect info

This commit is contained in:
Gisle Vanem 2016-01-29 00:11:41 -05:00 committed by Jay Satiro
parent 300718382f
commit bdb465274f
1 changed files with 13 additions and 20 deletions

View File

@ -275,20 +275,18 @@ struct ssl_connect_data {
bool use; bool use;
ssl_connection_state state; ssl_connection_state state;
ssl_connect_state connecting_state; ssl_connect_state connecting_state;
#ifdef USE_OPENSSL #if defined(USE_OPENSSL)
/* these ones requires specific SSL-types */ /* these ones requires specific SSL-types */
SSL_CTX* ctx; SSL_CTX* ctx;
SSL* handle; SSL* handle;
X509* server_cert; X509* server_cert;
#endif /* USE_OPENSSL */ #elif defined(USE_GNUTLS)
#ifdef USE_GNUTLS
gnutls_session_t session; gnutls_session_t session;
gnutls_certificate_credentials_t cred; gnutls_certificate_credentials_t cred;
#ifdef USE_TLS_SRP #ifdef USE_TLS_SRP
gnutls_srp_client_credentials_t srp_client_cred; gnutls_srp_client_credentials_t srp_client_cred;
#endif #endif
#endif /* USE_GNUTLS */ #elif defined(USE_MBEDTLS)
#ifdef USE_MBEDTLS
mbedtls_ctr_drbg_context ctr_drbg; mbedtls_ctr_drbg_context ctr_drbg;
mbedtls_entropy_context entropy; mbedtls_entropy_context entropy;
mbedtls_ssl_context ssl; mbedtls_ssl_context ssl;
@ -299,8 +297,7 @@ struct ssl_connect_data {
mbedtls_x509_crl crl; mbedtls_x509_crl crl;
mbedtls_pk_context pk; mbedtls_pk_context pk;
mbedtls_ssl_config config; mbedtls_ssl_config config;
#endif /* USE_MBEDTLS */ #elif defined(USE_POLARSSL)
#ifdef USE_POLARSSL
ctr_drbg_context ctr_drbg; ctr_drbg_context ctr_drbg;
entropy_context entropy; entropy_context entropy;
ssl_context ssl; ssl_context ssl;
@ -310,27 +307,22 @@ struct ssl_connect_data {
x509_crt clicert; x509_crt clicert;
x509_crl crl; x509_crl crl;
rsa_context rsa; rsa_context rsa;
#endif /* USE_POLARSSL */ #elif defined(USE_CYASSL)
#ifdef USE_CYASSL
SSL_CTX* ctx; SSL_CTX* ctx;
SSL* handle; SSL* handle;
#endif /* USE_CYASSL */ #elif defined(USE_NSS)
#ifdef USE_NSS
PRFileDesc *handle; PRFileDesc *handle;
char *client_nickname; char *client_nickname;
struct SessionHandle *data; struct SessionHandle *data;
struct curl_llist *obj_list; struct curl_llist *obj_list;
PK11GenericObject *obj_clicert; PK11GenericObject *obj_clicert;
#endif /* USE_NSS */ #elif defined(USE_GSKIT)
#ifdef USE_GSKIT
gsk_handle handle; gsk_handle handle;
int iocport; int iocport;
#endif #elif defined(USE_AXTLS)
#ifdef USE_AXTLS
SSL_CTX* ssl_ctx; SSL_CTX* ssl_ctx;
SSL* ssl; SSL* ssl;
#endif /* USE_AXTLS */ #elif defined(USE_SCHANNEL)
#ifdef USE_SCHANNEL
struct curl_schannel_cred *cred; struct curl_schannel_cred *cred;
struct curl_schannel_ctxt *ctxt; struct curl_schannel_ctxt *ctxt;
SecPkgContext_StreamSizes stream_sizes; SecPkgContext_StreamSizes stream_sizes;
@ -341,13 +333,14 @@ struct ssl_connect_data {
CURLcode recv_unrecoverable_err; /* schannel_recv had an unrecoverable err */ CURLcode recv_unrecoverable_err; /* schannel_recv had an unrecoverable err */
bool recv_sspi_close_notify; /* true if connection closed by close_notify */ bool recv_sspi_close_notify; /* true if connection closed by close_notify */
bool recv_connection_closed; /* true if connection closed, regardless how */ bool recv_connection_closed; /* true if connection closed, regardless how */
#endif /* USE_SCHANNEL */ #elif defined(USE_DARWINSSL)
#ifdef USE_DARWINSSL
SSLContextRef ssl_ctx; SSLContextRef ssl_ctx;
curl_socket_t ssl_sockfd; curl_socket_t ssl_sockfd;
bool ssl_direction; /* true if writing, false if reading */ bool ssl_direction; /* true if writing, false if reading */
size_t ssl_write_buffered_length; size_t ssl_write_buffered_length;
#endif /* USE_DARWINSSL */ #elif defined(USE_SSL)
#error "SSL backend specific information missing from ssl_connect_data"
#endif
}; };
struct ssl_config_data { struct ssl_config_data {