1. 13 Apr, 2010 3 commits
    • Konstantin Osipov's avatar
      Backport of: · 64c937b7
      Konstantin Osipov authored
      ChangeSet@1.2703, 2007-12-07 09:35:28-05:00, cmiller@zippy.cornsilk.net +40 -0
      Bug#13174: SHA2 function
      Patch contributed from Bill Karwin, paper unnumbered CLA in Seattle
      
      Implement SHA2 functions.
      
      Chad added code to make it work with YaSSL.  Also, he removed the 
      (probable) bug of embedded server never using SSL-dependent 
      functions.  (libmysqld/Makefile.am didn't read ANY autoconf defs.)
      
      Function specification:
        SHA2( string cleartext, integer hash_length ) 
          -> string hash, or NULL
      where hash_length is one of 224, 256, 384, or 512.  If either is 
      NULL or a length is unsupported, then the result is NULL.  The 
      resulting string is always the length of the hash_length parameter
      or is NULL.
      
      Include the canonical hash examples from the NIST in the test
      results.
      ---
      Polish and address concerns of reviewers.
      
      
      .bzrignore:
        Added libmysqld/sha2.cc to the ignore list.
      client/mysql.cc:
        Add condition to remove code for embedded server.
      client/mysqltest.cc:
        Add condition to remove code for embedded server.
      include/Makefile.am:
        New header file to header list.
      include/mysql_embed.h:
        Embedded servers can use SSL-library functions too!
      include/sha2.h:
        Compatibility layer to make YaSSL behave like OpenSSL.
      include/sslopt-case.h:
        Remove SSL-communication parameters from command lines.
      include/sslopt-longopts.h:
        Remove SSL-communication parameters from command lines.
      include/sslopt-vars.h:
        Don't declare variables that are only used in SSL communication, if
        we are compiling the embedded server.
      include/violite.h:
        Don't even compile the SSL-communication function if we're in the
        embedded server.
        ---
        Remove CPP condition indentation.
      libmysqld/CMakeLists.txt:
        Add new file to source list.
      libmysqld/Makefile.am:
        Include standard DEFS in embedded compilation.  It's an undiscovered
        but that it's not there.
        
        Add new file to source list.
      libmysqld/examples/Makefile.am:
        Include autoconf DEFS.
      libmysqld/lib_sql.cc:
        Initialize SSL-related variables in embedded server.
      mysql-test/include/have_ssl_crypto_functs.inc:
        Distinguish between communication and crypto.
        Use the tristate value of "have_ssl" variable to know whether to
        test or not for SSL-provided crypto functions.
      mysql-test/r/func_digest.result:
        
        Test against the sample test vectors in the NIST Secure
        Hash Standard (http://csrc.nist.gov/cryptval/shs.htm)
      mysql-test/r/func_encrypt_nossl.result:
        Update results to the new error message text.
      mysql-test/r/have_ssl_is_yes_or_disabled_only.require:
        Distinguish between communication and crypto.
        
        Use the tristate value of "have_ssl" variable to know whether to
        test or not for SSL-provided crypto functions.
      mysql-test/suite/rpl/t/rpl_ssl.test:
        Distinguish between communication and crypto.
      mysql-test/suite/rpl/t/rpl_ssl1.test:
        Distinguish between communication and crypto.
      mysql-test/t/func_des_encrypt.test:
        Distinguish between communication and crypto.
      mysql-test/t/func_digest.test:
        Test against the sample test vectors in the NIST Secure
        Hash Standard (http://csrc.nist.gov/cryptval/shs.htm)
        
        Also, test that various parameters (legal and illegal)
        do what we expect.
        ---
        Distinguish between communication and crypto.
      mysql-test/t/func_encrypt.test:
        Distinguish between communication and crypto.
      mysql-test/t/openssl_1.test:
        Don't test SSL communication if we're in the embedded server.
        ---
        Distinguish between communication and crypto.
      mysql-test/t/ssl-big.test:
        Don't test SSL communication if we're in the embedded server.
        ---
        Distinguish between communication and crypto.
      mysql-test/t/ssl.test:
        Don't test SSL communication if we're in the embedded server.
        ---
        Distinguish between communication and crypto.
      mysql-test/t/ssl_8k_key.test:
        Don't test SSL communication if we're in the embedded server.
        ---
        Distinguish between communication and crypto.
      mysql-test/t/ssl_compress.test:
        Don't test SSL communication if we're in the embedded server.
        ---
        Distinguish between communication and crypto.
      mysql-test/t/ssl_connect.test:
        Don't test SSL communication if we're in the embedded server.
        ---
        Distinguish between communication and crypto.
      sql-common/client.c:
        SSL is useful for more functionality than just connecting.  Test
        for whether we are not embedded server also.
      sql/CMakeLists.txt:
        Add new source file to source list so that we have access to SHA2
        functions.
      sql/Makefile.am:
        Add new source file to source list so that we have access to SHA2
        functions.
      sql/item_create.cc:
        Bootstrap the SHA2 function into the server.
      sql/item_strfunc.cc:
        Add new SHA2 Item class methods.
        
        Clean up two minor problems.
        ---
        Remove extraneous debugging.
        ---
        We must check nullness of a parameter only /after/ computing its
        value.
      sql/item_strfunc.h:
        Declare new SHA2 Item class.
      sql/mysqld.cc:
        For embedded server, don't refer to SSL-communications variables
        or values.
        ---
        Remove CPP condition indentation.
      sql/sha2.cc:
        Compatibility layer to make YaSSL behave like OpenSSL.
        ---
        Add comment for generated functions.
      sql/sql_acl.cc:
        For embedded server, don't refer to SSL-communications variables
        or values.
      sql/sql_connect.cc:
        SSL is useful for more functionality than just connecting.  Test
        for whether we are not embedded server also.
      sql/sys_vars.cc:
        For embedded server, don't refer to SSL-communications variables
        or values.
      64c937b7
    • Vladislav Vaintroub's avatar
      Fix perfschema unittests build on Windows · 772317cd
      Vladislav Vaintroub authored
      pthread_t is not defined unless my_pthread.h is included.
      772317cd
    • unknown's avatar
      Bug#51980 mysqld service crashes with a simple COUNT(DISTINCT) query over a view · c5777797
      unknown authored
      Problem: Segmentation fault in add_group_and_distinct_keys() when accessing
      field of what is assumed to be an Item_field object.
      
      Cause: In case of views, the item added to list by is_indexed_agg_distinct() 
      was not of type Item_field, but Item_ref.
      
      Resolution:  Add the real Item_field object, the one referred to by 
      Item_ref object, to the list, instead.
      
      mysql-test/r/count_distinct.result:
        Results for test case for Bug#51980.
      mysql-test/t/count_distinct.test:
        Test case for Bug#51980.
        Table needs to contain at least two rows to avoid const table optimization.
      sql/sql_select.cc:
        Make sure it is the actual Item_field object that is pushed to the out_args
        list of is_indexed_agg_distinct(), and not Item_ref objects.
      c5777797
  2. 12 Apr, 2010 4 commits
  3. 10 Apr, 2010 3 commits
  4. 07 Apr, 2010 1 commit
    • Mats Kindahl's avatar
      WL#5030: Splitting mysql_priv.h · a53fa615
      Mats Kindahl authored
      Adding my_global.h first in all files using
      NO_EMBEDDED_ACCESS_CHECKS.
      
      Correcting a merge problem resulting from a changed definition
      of check_some_access compared to the original patches.
      a53fa615
  5. 06 Apr, 2010 4 commits
  6. 05 Apr, 2010 1 commit
  7. 01 Apr, 2010 1 commit
  8. 31 Mar, 2010 1 commit
    • Mats Kindahl's avatar
      WL#5030: Split and remove mysql_priv.h · 3538238a
      Mats Kindahl authored
      This patch:
      
      - Moves all definitions from the mysql_priv.h file into
        header files for the component where the variable is
        defined
      - Creates header files if the component lacks one
      - Eliminates all include directives from mysql_priv.h
      - Eliminates all circular include cycles
      - Rename time.cc to sql_time.cc
      - Rename mysql_priv.h to sql_priv.h
      3538238a
  9. 26 Mar, 2010 1 commit
  10. 24 Mar, 2010 4 commits
    • Alexey Kopytov's avatar
    • Alexey Kopytov's avatar
      Manual merge of mysql-trunk into mysql-trunk-merge. · 6cf62faf
      Alexey Kopytov authored
      Conflicts:
      
      Text conflict in client/mysqlbinlog.cc
      Text conflict in mysql-test/Makefile.am
      Text conflict in mysql-test/collections/default.daily
      Text conflict in mysql-test/r/mysqlbinlog_row_innodb.result
      Text conflict in mysql-test/suite/rpl/r/rpl_typeconv_innodb.result
      Text conflict in mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test
      Text conflict in mysql-test/suite/rpl/t/rpl_row_create_table.test
      Text conflict in mysql-test/suite/rpl/t/rpl_slave_skip.test
      Text conflict in mysql-test/suite/rpl/t/rpl_typeconv_innodb.test
      Text conflict in mysys/charset.c
      Text conflict in sql/field.cc
      Text conflict in sql/field.h
      Text conflict in sql/item.h
      Text conflict in sql/item_func.cc
      Text conflict in sql/log.cc
      Text conflict in sql/log_event.cc
      Text conflict in sql/log_event_old.cc
      Text conflict in sql/mysqld.cc
      Text conflict in sql/rpl_utility.cc
      Text conflict in sql/rpl_utility.h
      Text conflict in sql/set_var.cc
      Text conflict in sql/share/Makefile.am
      Text conflict in sql/sql_delete.cc
      Text conflict in sql/sql_plugin.cc
      Text conflict in sql/sql_select.cc
      Text conflict in sql/sql_table.cc
      Text conflict in storage/example/ha_example.h
      Text conflict in storage/federated/ha_federated.cc
      Text conflict in storage/myisammrg/ha_myisammrg.cc
      Text conflict in storage/myisammrg/myrg_open.c
      6cf62faf
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-trunk. · 71946626
      Alexander Nozdrin authored
      71946626
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-trunk-bugfixing. · 382aca9d
      Alexander Nozdrin authored
      382aca9d
  11. 23 Mar, 2010 2 commits
  12. 22 Mar, 2010 9 commits
  13. 21 Mar, 2010 3 commits
  14. 20 Mar, 2010 3 commits