301,338d300
< static int my_verify_callback(int ok, X509_STORE_CTX *ctx)
< {
<   X509 *check_cert;
<   SSL *ssl;
<   MYSQL *mysql;
<   DBUG_ENTER("my_verify_callback");
< 
<   ssl = X509_STORE_CTX_get_ex_data(ctx, SSL_get_ex_data_X509_STORE_CTX_idx());
<   DBUG_ASSERT(ssl != NULL);
<   mysql= (MYSQL *)SSL_get_app_data(ssl);
<   DBUG_ASSERT(mysql != NULL);
< 
<   /* skip verification if no ca_file/path was specified */
<   if (!mysql->options.ssl_ca && !mysql->options.ssl_capath)
<   {
<     ok= 1;
<     DBUG_RETURN(1);
<   }
< 
<   if (!ok)
<   {
<     uint depth;
<     if (!(check_cert= X509_STORE_CTX_get_current_cert(ctx)))
<       DBUG_RETURN(0);
<     depth= X509_STORE_CTX_get_error_depth(ctx);
<     if (depth == 0)
<       ok= 1;
<   }
< 
< /*
<     my_set_error(mysql, CR_SSL_CONNECTION_ERROR, SQLSTATE_UNKNOWN,
<                         ER(CR_SSL_CONNECTION_ERROR), 
<                         X509_verify_cert_error_string(ctx->error));
< */
<   DBUG_RETURN(ok);
< }
< 
< 
352d313
<   int verify;
372,376d332
<   verify= (!mysql->options.ssl_ca && !mysql->options.ssl_capath) ?
<            SSL_VERIFY_NONE : SSL_VERIFY_PEER;
< 
<   SSL_CTX_set_verify(SSL_context, verify, my_verify_callback);
<   SSL_CTX_set_verify_depth(SSL_context, 1);
