• unknown's avatar
    Re-apply missing changeset, orignally pushed by elliot · a68a9cb6
    unknown authored
    Add define YASSL_PREFIX when compiling yassl
    
    Import patch from yaSSL
    - avoid allocating memory for each call to 'EVP_md5' and 
      'EVP_des_ede3_cbc' which were not released until server was stopped
    - Those functions are used from the SQL function 'des_encrypt' and
      'des_decrypt'.
    
    Add new define YASSL_PREFIX beforee including ssl.h to activate inclusion of prefix_*.h files
    
    Bug#20022 mysql-test-run can't be run with secure connections turned on for all testcases
    - Part 1, fixes rpl- and federated-tests where connection is made to 127.0.0.1
    
    - Include prefix files that renames all public functions in yaSSLs
      OpenSSL API to ya<function_name>. They will otherwise conflict
      with OpenSSL functions if loaded by an application that uses OpenSSL
      as well as libmysqlclient with yaSSL support.
    
    Bug#18235: assertion/crash when windows mysqld is ended with ctrl-c
      
    Two threads both try a shutdown sequence which creates a race to the
    de-init/free of certain resources.
      
    This exists in similar form in the client as 17926: "mysql.exe crashes
    when ctrl-c is pressed in windows."
    
    Update after merge to 5.0
    
    BUG#18669: Session COM_STATISTICS breaks mysqladmin status.
    Changed COM_STATISTICS to display the global status, instead of thead status, for slow queries and table opens.
    
    - In function 'handle_grant_struct' when searching the memory structures for an 
      entry to modify, convert all entries here host.hostname is NULL to "" and compare that 
      with the host passed in argument "user_from".
    - A user created with hostname "" is stored in "mysql.user" table as host="" but when loaded into 
      memory it'll be stored as host.hostname NULL. Specifiying "" as hostname means
      that "any host" can connect. Thus is's correct to turn on allow_all_hosts
      when such a user is found. 
    - Review and fix other places where host.hostname may be NULL.
    
    BUG#19394 OPT_INNODB_THREAD_CONCURRENCY duplicated
    Removed duplication (not a user-visible change)
    
    
    client/Makefile.am:
      Remove $yassl_includes
    client/mysqltest.c:
      Turn on ssl_verify_server_cert only if host is "localhost"
    extra/yassl/include/openssl/crypto.h:
      Add prefix file for ssl.h
    extra/yassl/include/openssl/ssl.h:
      Add include file "prefix_crypto.h" to rename SSL_* functions to yaSSL_*
    extra/yassl/include/yassl_int.hpp:
      Import patch yassl.diff
    extra/yassl/src/Makefile.am:
      Add defined YASSL_PREFIX when building yassl/testsuite
    extra/yassl/src/ssl.cpp:
      Import patch yassl.diff
    extra/yassl/src/template_instnt.cpp:
      Import patch yassl.diff
    extra/yassl/src/yassl_int.cpp:
      Import patch yassl.diff
    extra/yassl/testsuite/Makefile.am:
      Add defined YASSL_PREFIX when building yassl/testsuite
    extra/yassl/yassl.vcproj:
      Add define YASSL_PREFIX when compiling yassl
    include/violite.h:
      Add new define YASSL_PREFIX beforee including ssl.h to activate inclusion of prefix_*.h files
    libmysql/Makefile.am:
      Remove yassl_includes
    libmysql_r/Makefile.am:
      Remove yassl_includes
    libmysqld/Makefile.am:
      Remove yassl_includes
    libmysqld/examples/Makefile.am:
      Remove yassl_includes
    mysql-test/r/analyze.result:
      Add missing drop table
    mysql-test/r/grant.result:
      Reorder test result
      Add test cases for users with hostname ""
    mysql-test/r/ps.result:
      Add missing drop table
    mysql-test/t/analyze.test:
      Add missing drop table
    mysql-test/t/grant.test:
      Add "use test"
      Add test cases for users with hostname ""
      - Test create, grant and drop as well as connecting as the user with hostname "".
    mysql-test/t/ps.test:
      Add missing drop table
    server-tools/instance-manager/Makefile.am:
      Remove yassl_includes
    sql/Makefile.am:
      Remove yassl_includes
    sql/mysqld.cc:
      We have three potential ways of hitting the iceberg:
      - unireg_end()   has basic de-init
      - unireg_abort() has extended de-init
      - main() has a de-init sequence similar to unireg_abort()
      
      In the Windows version of the server, Control-C is handled
      in a different thread from the one main() is in.  The main
      loop is told to end, then unireg_abort() is called.  Its
      de-init and that of main() will then race each other for
      mutex- and cond-var-destroys, free(), and finally exit().
      
      This patch introduces a special case for Windows that will eliminate
      the race by ending the signal-handler via unireg_end() instead if
      SIGINT is signalled.  This seems the least intrusive fix that still
      fixes user-visible behaviour.
      
      Two of the startup options for mysqld, innodb_commit_concurrency
      and innodb_thread_concurrency, were using the same enumeration
      value. Changed to give innodb_commit_concurrency it's own value.
    sql/sql_acl.cc:
      Add check if host is NULL
      Add check if grant_name->host.hostname is null
      Convert places where host.hostname is NULL to "" before using it.
    sql/sql_parse.cc:
      Calculate and display the global statistics.
    vio/Makefile.am:
      Remove yassl_includes
    extra/yassl/include/openssl/generate_prefix_files.pl:
      New BitKeeper file ``extra/yassl/include/openssl/generate_prefix_files.pl''
    extra/yassl/include/openssl/prefix_crypto.h:
      New BitKeeper file ``extra/yassl/include/openssl/prefix_crypto.h''
    extra/yassl/include/openssl/prefix_ssl.h:
      New BitKeeper file ``extra/yassl/include/openssl/prefix_ssl.h''
    a68a9cb6
violite.h 7.63 KB