Commit bdb46527 authored by Gisle Vanem's avatar Gisle Vanem Committed by Jay Satiro
Browse files

urldata: Error on missing SSL backend-specific connect info

parent 30071838
Loading
Loading
Loading
Loading
+13 −20
Original line number Original line Diff line number Diff line
@@ -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 {