configure.ac                                              |    1 
 external/libmariadb/UnpackedTarball_mariadb.mk            |    5 -
 external/libmariadb/mariadb-CONC-104.patch.1              |   49 ++++++++++++++
 external/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk     |    1 
 external/mysqlcppconn/patches/enable-libmysql-proxy.patch |   27 +++++++
 5 files changed, 80 insertions(+), 3 deletions(-)

New commits:
commit 5c6d26753d758c2173f21a14283bdafa54063b63
Author: Robert Antoni Buj i Gelonch <robert....@gmail.com>
Date:   Wed Sep 17 18:05:43 2014 +0200

    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 <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/configure.ac b/configure.ac
index ee434df..f9c04e8 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 d3a315f..d03e2ee 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 0000000..cba9fbb
--- /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 9647c38..65f0f83 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 0000000..6a5894c
--- /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
+ 
+ /*
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to