ssl_test.c
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2000 MySQL AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. #ifdef __WIN__
  14. #include <windows.h>
  15. #endif
  16. #include <stdio.h>
  17. #include <stdlib.h>
  18. #include "mysql.h"
  19. #include "config.h"
  20. #define SELECT_QUERY "select name from test where num = %d"
  21. int main(int argc, char **argv)
  22. {
  23. #ifdef HAVE_OPENSSL
  24.   int count, num;
  25.   MYSQL mysql,*sock;
  26.   MYSQL_RES *res;
  27.   char qbuf[160];
  28.   if (argc != 3)
  29.   {
  30.     fprintf(stderr,"usage : ssl_test <dbname> <num>nn");
  31.     exit(1);
  32.   }
  33.   mysql_init(&mysql);
  34. #ifdef HAVE_OPENSSL
  35.   mysql_ssl_set(&mysql,"../SSL/MySQL-client-key.pem",
  36.     "../SSL/MySQL-client-cert.pem",
  37.     "../SSL/MySQL-ca-cert.pem", 0, 0);
  38. #endif
  39.   if (!(sock = mysql_real_connect(&mysql,"127.0.0.1",0,0,argv[1],3306,NULL,0)))
  40.   {
  41.     fprintf(stderr,"Couldn't connect to engine!n%snn",mysql_error(&mysql));
  42.     perror("");
  43.     exit(1);
  44.   }
  45.   count = 0;
  46.   num = atoi(argv[2]);
  47.   while (count < num)
  48.   {
  49.     sprintf(qbuf,SELECT_QUERY,count);
  50.     if(mysql_query(sock,qbuf))
  51.     {
  52.       fprintf(stderr,"Query failed (%s)n",mysql_error(sock));
  53.       exit(1);
  54.     }
  55.     if (!(res=mysql_store_result(sock)))
  56.     {
  57.       fprintf(stderr,"Couldn't get result from query failed (%s)n",
  58.       mysql_error(sock));
  59.       exit(1);
  60.     }
  61. #ifdef TEST
  62.     printf("number of fields: %dn",mysql_num_fields(res));
  63. #endif
  64.     mysql_free_result(res);
  65.     count++;
  66.   }
  67.   mysql_close(sock);
  68. #else /* HAVE_OPENSSL */
  69.   printf("ssl_test: SSL not configured.n");
  70. #endif /* HAVE_OPENSSL */
  71.   exit(0);
  72.   return 0; /* Keep some compilers happy */
  73. }