From: Tor Didriksen Date: September 19 2012 3:57pm Subject: bzr push into mysql-5.6 branch (tor.didriksen:4292 to 4293) Bug#12762891 List-Archive: http://lists.mysql.com/commits/144821 X-Bug: 12762891 Message-Id: <20120919155754.14066.72186.4293@atum07.no.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 4293 Tor Didriksen 2012-09-19 Bug#12762891 SSL.CMAKE FILE IS BROKEN WHEN USING CUSTOM OPENSSL BUILD Extra patch for windows: For static libraries, there is no openssl/applink.c to include. modified: cmake/ssl.cmake libmysql/CMakeLists.txt sql-common/client_authentication.cc sql/CMakeLists.txt 4292 kevin.lewis@stripped 2012-09-18 Bug #14592200 MEMORY LEAK OBSERVED IN FIL_MAKE_IBD_NAME() Sporadic failures were noticed under valgind in PB2 indicating a code path through fil_load_single_table_tablespace() in which def.filepath allocated by fil_make_ibd_name() did not get released. The freeing of both def.filepath and remote.filepath has been rearranged here to cover all code paths. Approved at http://bur03.no.oracle.com/rb/r/1290/ by Marko modified: storage/innobase/fil/fil0fil.cc === modified file 'cmake/ssl.cmake' --- a/cmake/ssl.cmake 2012-09-18 10:47:26 +0000 +++ b/cmake/ssl.cmake 2012-09-19 15:44:29 +0000 @@ -88,8 +88,27 @@ MACRO (MYSQL_CHECK_SSL) IF(WITH_SSL STREQUAL "bundled") MYSQL_USE_BUNDLED_SSL() - UNSET(WITH_SSL_PATH) - UNSET(WITH_SSL_PATH CACHE) + # Reset some variables, in case we switch from /path/to/ssl to "bundled". + IF (WITH_SSL_PATH) + UNSET(WITH_SSL_PATH) + UNSET(WITH_SSL_PATH CACHE) + ENDIF() + IF (OPENSSL_ROOT_DIR) + UNSET(OPENSSL_ROOT_DIR) + UNSET(OPENSSL_ROOT_DIR CACHE) + ENDIF() + IF (OPENSSL_INCLUDE_DIR) + UNSET(OPENSSL_INCLUDE_DIR) + UNSET(OPENSSL_INCLUDE_DIR CACHE) + ENDIF() + IF (WIN32 AND OPENSSL_APPLINK_C) + UNSET(OPENSSL_APPLINK_C) + UNSET(OPENSSL_APPLINK_C CACHE) + ENDIF() + IF (OPENSSL_LIBRARIES) + UNSET(OPENSSL_LIBRARIES) + UNSET(OPENSSL_LIBRARIES CACHE) + ENDIF() ELSEIF(WITH_SSL STREQUAL "system" OR WITH_SSL STREQUAL "yes" OR WITH_SSL_PATH @@ -110,6 +129,15 @@ MACRO (MYSQL_CHECK_SSL) NAMES openssl/ssl.h HINTS ${OPENSSL_ROOT_DIR}/include ) + + IF (WIN32) + FIND_FILE(OPENSSL_APPLINK_C + NAMES openssl/applink.c + HINTS ${OPENSSL_ROOT_DIR}/include + ) + MESSAGE(STATUS "OPENSSL_APPLINK_C ${OPENSSL_APPLINK_C}") + ENDIF() + # On mac this list is <.dylib;.so;.a> # We prefer static libraries, so we revert it here. LIST(REVERSE CMAKE_FIND_LIBRARY_SUFFIXES) === modified file 'libmysql/CMakeLists.txt' --- a/libmysql/CMakeLists.txt 2012-08-07 05:14:58 +0000 +++ b/libmysql/CMakeLists.txt 2012-09-19 15:44:29 +0000 @@ -149,6 +149,13 @@ SET(CLIENT_SOURCES ../sql/password.c ) +IF (WIN32 AND OPENSSL_APPLINK_C) + SET_SOURCE_FILES_PROPERTIES( + ../sql-common/client_authentication.cc + PROPERTIES COMPILE_FLAGS "-DHAVE_OPENSSL_APPLINK_C" + ) +ENDIF() + ADD_CONVENIENCE_LIBRARY(clientlib ${CLIENT_SOURCES}) DTRACE_INSTRUMENT(clientlib) ADD_DEPENDENCIES(clientlib GenError) === modified file 'sql-common/client_authentication.cc' --- a/sql-common/client_authentication.cc 2012-08-23 09:18:04 +0000 +++ b/sql-common/client_authentication.cc 2012-09-19 15:44:29 +0000 @@ -30,7 +30,7 @@ #include #include #include -#if defined(_WIN32) && !defined(_OPENSSL_Applink) +#if defined(_WIN32) && !defined(_OPENSSL_Applink) && defined(HAVE_OPENSSL_APPLINK_C) #include #endif #endif === modified file 'sql/CMakeLists.txt' --- a/sql/CMakeLists.txt 2012-08-07 05:14:58 +0000 +++ b/sql/CMakeLists.txt 2012-09-19 15:44:29 +0000 @@ -193,6 +193,13 @@ SET(SQL_SOURCE sql_client.cc ) +IF (WIN32 AND OPENSSL_APPLINK_C) + SET_SOURCE_FILES_PROPERTIES( + ../sql-common/client_authentication.cc + PROPERTIES COMPILE_FLAGS "-DHAVE_OPENSSL_APPLINK_C" + ) +ENDIF() + MYSQL_ADD_PLUGIN(partition ha_partition.cc STORAGE_ENGINE DEFAULT STATIC_ONLY RECOMPILE_FOR_EMBEDDED) No bundle (reason: useless for push emails).