aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2017-04-03 14:02:03 +0300
committerIgor Pashev <pashev.igor@gmail.com>2017-04-03 14:03:21 +0300
commitba36eea8034c9b0a16291a54ffd518c3542097ff (patch)
tree4c8f817aadf6f8575cfedc26f7af4bcf01c11d78
parent79d61ed596dd43a37f54698c067ba08e967ee792 (diff)
downloadnixsap-ba36eea8034c9b0a16291a54ffd518c3542097ff.tar.gz
mariadb: added patch for MDEV-12366
FLUSH PRIVILEGES can miss some roles
-rw-r--r--modules/pkgs/mariadb/MDEV-12366.patch17
-rw-r--r--modules/pkgs/mariadb/default.nix1
2 files changed, 18 insertions, 0 deletions
diff --git a/modules/pkgs/mariadb/MDEV-12366.patch b/modules/pkgs/mariadb/MDEV-12366.patch
new file mode 100644
index 0000000..524ca58
--- /dev/null
+++ b/modules/pkgs/mariadb/MDEV-12366.patch
@@ -0,0 +1,17 @@
+Description: Fix FLUSH PRIVILEGES can miss some roles
+Bug: https://jira.mariadb.org/browse/MDEV-12366
+diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
+index cb4c3cb1049..bf6a7b847f5 100644
+--- a/sql/sql_acl.cc
++++ b/sql/sql_acl.cc
+@@ -6754,9 +6754,7 @@ static my_bool role_propagate_grants_action(void *ptr,
+ if (role->counter)
+ return 0;
+
+- mysql_mutex_assert_owner(&acl_cache->lock);
+- PRIVS_TO_MERGE data= { PRIVS_TO_MERGE::ALL, 0, 0 };
+- traverse_role_graph_up(role, &data, NULL, merge_role_privileges);
++ propagate_role_grants(role, PRIVS_TO_MERGE::ALL, NULL, NULL);
+ return 0;
+ }
+
diff --git a/modules/pkgs/mariadb/default.nix b/modules/pkgs/mariadb/default.nix
index 20894ce..7e8e623 100644
--- a/modules/pkgs/mariadb/default.nix
+++ b/modules/pkgs/mariadb/default.nix
@@ -94,6 +94,7 @@ everything = stdenv.mkDerivation (common // {
patches = [
./MDEV-10463.patch
+ ./MDEV-12366.patch
];
nativeBuildInputs = common.nativeBuildInputs ++ [ bison ];