diff options
author | Robert Antoni Buj i Gelonch <robert.buj@gmail.com> | 2014-09-17 18:05:43 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-09-25 16:14:27 +0000 |
commit | 5c6d26753d758c2173f21a14283bdafa54063b63 (patch) | |
tree | ae111e7e4b8df854baa55e418813abf65067fb37 | |
parent | 81055f589fc2de92e37dbe29f59b5da80728b28a (diff) |
Fix for CONC-104: mysql_options doesn't support MYSQL_SECURE_AUTH option
http://bazaar.launchpad.net/~maria-captains/mariadb-native-client/trunk/revision/149
Change-Id: I273f355b9fc922fdb9d9692e0057cfccfdcbcde1
Reviewed-on: https://gerrit.libreoffice.org/11492
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | external/libmariadb/UnpackedTarball_mariadb.mk | 5 | ||||
-rw-r--r-- | external/libmariadb/mariadb-CONC-104.patch.1 | 49 | ||||
-rw-r--r-- | external/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk | 1 | ||||
-rw-r--r-- | external/mysqlcppconn/patches/enable-libmysql-proxy.patch | 27 |
5 files changed, 80 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac index ee434df950e2..f9c04e84e143 100644 --- a/configure.ac +++ b/configure.ac @@ -8070,7 +8070,6 @@ if test "$ENABLE_MARIADBC" = "TRUE"; then fi else AC_MSG_RESULT([internal]) - AC_MSG_ERROR([libmariadb is known to be incompatible as of 2014-09; use libmysqlclient]) SYSTEM_MARIADB= MARIADB_CFLAGS="-I${WORKDIR}/UnpackedTarball/mariadb/include" MARIADB_LIBS="-L${WORKDIR}/LinkTarget/StaticLibrary -lmariadblib" diff --git a/external/libmariadb/UnpackedTarball_mariadb.mk b/external/libmariadb/UnpackedTarball_mariadb.mk index d3a315f4b819..d03e2eeaecc9 100644 --- a/external/libmariadb/UnpackedTarball_mariadb.mk +++ b/external/libmariadb/UnpackedTarball_mariadb.mk @@ -28,8 +28,9 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,mariadb,1)) # non-static inline local_thr_alarm in libmariadb/net.c": $(eval $(call gb_UnpackedTarball_add_patches,mariadb,\ external/libmariadb/mariadb-swap.patch \ - external/libmariadb/mariadb-msvc.patch.1 \ - external/libmariadb/mariadb-inline.patch.1 \ + $(if $(filter MSC,$(COM)),external/libmariadb/mariadb-msvc.patch.1) \ + external/libmariadb/mariadb-inline.patch.1 \ + external/libmariadb/mariadb-CONC-104.patch.1 \ )) # vim: set noet sw=4 ts=4: diff --git a/external/libmariadb/mariadb-CONC-104.patch.1 b/external/libmariadb/mariadb-CONC-104.patch.1 new file mode 100644 index 000000000000..cba9fbba339d --- /dev/null +++ b/external/libmariadb/mariadb-CONC-104.patch.1 @@ -0,0 +1,49 @@ +--- mariadb/include/errmsg.h 2014-04-04 12:21:01.000000000 +0200 ++++ mariadb/include/errmsg.h 2014-09-17 17:47:25.000000000 +0200 +@@ -66,6 +66,7 @@ + #define CR_PARAMS_NOT_BOUND 2031 + #define CR_INVALID_PARAMETER_NO 2034 + #define CR_UNSUPPORTED_PARAM_TYPE 2036 ++#define CR_SECURE_AUTH 2049 + #define CR_NO_DATA 2051 + #define CR_NO_STMT_METADATA 2052 + #define CR_NOT_IMPLEMENTED 2054 +--- mariadb/libmariadb/errmsg.c 2014-04-04 12:21:01.000000000 +0200 ++++ mariadb/libmariadb/errmsg.c 2014-09-17 17:48:44.000000000 +0200 +@@ -129,7 +129,7 @@ + /* 2046 */ "", + /* 2047 */ "", + /* 2048 */ "", +-/* 2049 */ "", ++/* 2049 */ "Connection with old authentication protocol refused.", + /* 2050 */ "", + /* 2051 */ "", + /* 2052 */ "Prepared statement contains no metadata", +--- mariadb/libmariadb/libmariadb.c 2014-04-04 12:21:01.000000000 +0200 ++++ mariadb/libmariadb/libmariadb.c 2014-09-17 17:56:13.000000000 +0200 +@@ -1864,7 +1864,14 @@ + scramble_plugin= native_password_plugin_name; + } + } else ++ { + mysql->server_capabilities&= ~CLIENT_SECURE_CONNECTION; ++ if (mysql->options.secure_auth) ++ { ++ SET_CLIENT_ERROR(mysql, CR_SECURE_AUTH, unknown_sqlstate, 0); ++ goto error; ++ } ++ } + + /* Set character set */ + if (mysql->options.charset_name) +@@ -3031,7 +3038,9 @@ + } + } + break; +- ++ case MYSQL_SECURE_AUTH: ++ mysql->options.secure_auth= *(my_bool *)arg1; ++ break; + default: + va_end(ap); + DBUG_RETURN(-1); diff --git a/external/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk b/external/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk index 9647c383775a..65f0f8300d1e 100644 --- a/external/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk +++ b/external/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk @@ -19,6 +19,7 @@ $(eval $(call gb_UnpackedTarball_add_file,mysqlcppconn,driver/nativeapi/binding_ $(eval $(call gb_UnpackedTarball_add_patches,mysqlcppconn,\ external/mysqlcppconn/patches/mysql-connector-c++-1.1.0.patch \ external/mysqlcppconn/patches/warnings.patch.0 \ + external/mysqlcppconn/patches/enable-libmysql-proxy.patch \ )) # vim: set noet sw=4 ts=4: diff --git a/external/mysqlcppconn/patches/enable-libmysql-proxy.patch b/external/mysqlcppconn/patches/enable-libmysql-proxy.patch new file mode 100644 index 000000000000..6a5894cb1e9c --- /dev/null +++ b/external/mysqlcppconn/patches/enable-libmysql-proxy.patch @@ -0,0 +1,27 @@ +--- UnpackedTarball/mysqlcppconn/driver/nativeapi/mysql_client_api.cpp 2014-07-30 13:41:37.000000000 +0200 ++++ UnpackedTarball/mysqlcppconn/driver/nativeapi/mysql_client_api.cpp 2014-09-17 22:12:26.000000000 +0200 +@@ -32,10 +32,10 @@ + + #ifdef MYSQLCLIENT_STATIC_BINDING + /* MySQL client library is linked */ +-# include "libmysql_static_proxy.h" ++ #include "libmysql_static_proxy.h" + #else + /* MySQL client library will be dynamically loaded */ +-# include "libmysql_dynamic_proxy.h" ++ #include "libmysql_dynamic_proxy.h" + #endif + + namespace sql +@@ -76,9 +76,9 @@ + #include "binding_config.h" + + #ifdef MYSQLCLIENT_STATIC_BINDING +-# include "libmysql_static_proxy.cpp" ++ #include "libmysql_static_proxy.cpp" + #else +-# include "libmysql_dynamic_proxy.cpp" ++ #include "libmysql_dynamic_proxy.cpp" + #endif + + /* |