Skip to content

Commit a4b2714

Browse files
committed
Merge branch 'bb-10.0-serg' into 10.0
2 parents 09b5865 + 3eb8b11 commit a4b2714

File tree

202 files changed

+6508
-3663
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

202 files changed

+6508
-3663
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ include/mysql_version.h
5959
include/mysqld_ername.h
6060
include/mysqld_error.h
6161
include/sql_state.h
62+
include/probes_mysql.d
63+
include/probes_mysql_dtrace.h
64+
include/probes_mysql_nodtrace.h
6265
info_macros.cmake
6366
libmysql*/libmysql*_exports_file.cc
6467
libmysql*/merge_archives_mysql*.cmake

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
MYSQL_VERSION_MAJOR=10
22
MYSQL_VERSION_MINOR=0
3-
MYSQL_VERSION_PATCH=23
3+
MYSQL_VERSION_PATCH=24

client/mysql_upgrade.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,8 @@ static const char *load_default_groups[]=
184184
static void free_used_memory(void)
185185
{
186186
/* Free memory allocated by 'load_defaults' */
187-
free_defaults(defaults_argv);
187+
if (defaults_argv)
188+
free_defaults(defaults_argv);
188189

189190
dynstr_free(&ds_args);
190191
dynstr_free(&conn_args);
@@ -1096,7 +1097,6 @@ int main(int argc, char **argv)
10961097
if (opt_systables_only && !opt_silent)
10971098
printf("The --upgrade-system-tables option was used, user tables won't be touched.\n");
10981099

1099-
11001100
/*
11011101
Read the mysql_upgrade_info file to check if mysql_upgrade
11021102
already has been run for this installation of MySQL

cmake/dtrace.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ IF(ENABLE_DTRACE)
8686
${CMAKE_BINARY_DIR}/include/probes_mysql_dtrace.h
8787
${CMAKE_BINARY_DIR}/include/probes_mysql_nodtrace.h
8888
)
89+
ELSE()
90+
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/include/probes_mysql_nodtrace.h.in
91+
${CMAKE_BINARY_DIR}/include/probes_mysql_nodtrace.h COPYONLY)
8992
ENDIF()
9093

9194
FUNCTION(DTRACE_INSTRUMENT target)

cmake/jemalloc.cmake

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,22 @@ MACRO (CHECK_JEMALLOC)
2020
SET(CMAKE_REQUIRED_LIBRARIES pthread dl m)
2121
SET(what bundled)
2222
ELSE()
23-
SET(libname jemalloc)
23+
SET(libname jemalloc c)
2424
SET(what system)
2525
ENDIF()
2626

27-
CHECK_LIBRARY_EXISTS(${libname} malloc_stats_print "" HAVE_JEMALLOC)
27+
FOREACH(lib ${libname})
28+
CHECK_LIBRARY_EXISTS(${lib} malloc_stats_print "" HAVE_JEMALLOC_IN_${lib})
29+
IF (HAVE_JEMALLOC_IN_${lib})
30+
SET(LIBJEMALLOC ${lib})
31+
SET(MALLOC_LIBRARY "${what} jemalloc")
32+
BREAK()
33+
ENDIF()
34+
ENDFOREACH()
2835
SET(CMAKE_REQUIRED_LIBRARIES)
2936

30-
IF (HAVE_JEMALLOC)
31-
SET(LIBJEMALLOC ${libname})
32-
SET(MALLOC_LIBRARY "${what} jemalloc")
33-
ELSEIF (NOT WITH_JEMALLOC STREQUAL "auto")
34-
MESSAGE(FATAL_ERROR "${libname} is not found")
37+
IF (NOT LIBJEMALLOC AND NOT WITH_JEMALLOC STREQUAL "auto")
38+
MESSAGE(FATAL_ERROR "jemalloc is not found")
3539
ENDIF()
3640
ENDIF()
3741
ENDMACRO()

cmake/plugin.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ MACRO(MYSQL_ADD_PLUGIN)
7474

7575
SET(WITH_${plugin} 1)
7676
ELSEIF(WITHOUT_${plugin} OR WITHOUT_${plugin}_STORAGE_ENGINE OR
77-
WITH_NONE OR ${plugin}_DISABLED)
77+
WITH_NONE OR ARG_DISABLED)
7878
SET(WITHOUT_${plugin} 1)
7979
SET(WITH_${plugin}_STORAGE_ENGINE 0)
8080
SET(WITH_${plugin} 0)

configure.cmake

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -790,16 +790,36 @@ ENDIF()
790790
#
791791
# Test for how the C compiler does inline, if at all
792792
#
793+
# SunPro is weird, apparently it only supports inline at -xO3 or -xO4.
794+
# And if CMAKE_C_FLAGS has -xO4 but CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE} has -xO2
795+
# then CHECK_C_SOURCE_COMPILES will succeed but the built will fail.
796+
# We must test all flags here.
797+
# XXX actually, we can do this for all compilers, not only SunPro
798+
IF (CMAKE_CXX_COMPILER_ID MATCHES "SunPro" AND
799+
CMAKE_GENERATOR MATCHES "Makefiles")
800+
STRING(TOUPPER "CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}" flags)
801+
SET(CMAKE_REQUIRED_FLAGS "${${flags}}")
802+
ENDIF()
793803
CHECK_C_SOURCE_COMPILES("
794-
static inline int foo(){return 0;}
804+
extern int bar(int x);
805+
static inline int foo(){return bar(1);}
795806
int main(int argc, char *argv[]){return 0;}"
796807
C_HAS_inline)
797808
IF(NOT C_HAS_inline)
798809
CHECK_C_SOURCE_COMPILES("
799-
static __inline int foo(){return 0;}
810+
extern int bar(int x);
811+
static __inline int foo(){return bar(1);}
800812
int main(int argc, char *argv[]){return 0;}"
801813
C_HAS___inline)
802-
SET(C_INLINE __inline)
814+
IF(C_HAS___inline)
815+
SET(C_INLINE __inline)
816+
ElSE()
817+
SET(C_INLINE)
818+
MESSAGE(WARNING "C compiler does not support funcion inlining")
819+
IF(NOT NOINLINE)
820+
MESSAGE(FATAL_ERROR "Use -DNOINLINE=TRUE to allow compilation without inlining")
821+
ENDIF()
822+
ENDIF()
803823
ENDIF()
804824

805825
IF(NOT CMAKE_CROSSCOMPILING AND NOT MSVC)

extra/yassl/README

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,17 @@ before calling SSL_new();
1212

1313
*** end Note ***
1414

15+
yaSSL Release notes, version 2.3.9 (12/01/2015)
16+
This release of yaSSL fixes two client side Diffie-Hellman problems.
17+
yaSSL was only handling the cases of zero or one leading zeros for the key
18+
agreement instead of potentially any number. This caused about 1 in 50,000
19+
connections to fail when using DHE cipher suites. The second problem was
20+
the case where a server would send a public value shorter than the prime
21+
value, causing about 1 in 128 client connections to fail, and also
22+
caused the yaSSL client to read off the end of memory. All client side
23+
DHE cipher suite users should update.
24+
Thanks to Adam Langely (agl@imperialviolet.org) for the detailed report!
25+
1526
yaSSL Release notes, version 2.3.8 (9/17/2015)
1627
This release of yaSSL fixes a high security vulnerability. All users
1728
SHOULD update. If using yaSSL for TLS on the server side with private

extra/yassl/include/crypto_wrapper.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,7 @@ class DiffieHellman {
378378

379379
uint get_agreedKeyLength() const;
380380
const byte* get_agreedKey() const;
381+
uint get_publicKeyLength() const;
381382
const byte* get_publicKey() const;
382383
void makeAgreement(const byte*, unsigned int);
383384

extra/yassl/include/openssl/ssl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
#include "rsa.h"
3535

3636

37-
#define YASSL_VERSION "2.3.8"
37+
#define YASSL_VERSION "2.3.9"
3838

3939

4040
#if defined(__cplusplus)

0 commit comments

Comments
 (0)