summaryrefslogtreecommitdiff
path: root/sql/sql_acl.cc
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@askmonty.org>2017-01-17 15:32:41 +0400
committerAlexey Botchkov <holyfoot@askmonty.org>2017-01-17 15:32:41 +0400
commit30a9ac4250e1b19754dd0ae43705108cc9de2ab0 (patch)
treea2a6f22a1dd0de0fd1d0e24bd595562f11f8869e /sql/sql_acl.cc
parent3953c55978d43e3f9d28fe8c247ef8a0edc89d66 (diff)
downloadmariadb-git-30a9ac4250e1b19754dd0ae43705108cc9de2ab0.tar.gz
MDEV-10956 Strict Password Validation Breaks Replication.
strict_password_validation variable now has no effect in the slave thread.
Diffstat (limited to 'sql/sql_acl.cc')
-rw-r--r--sql/sql_acl.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index 2accb3abc91..912930d60f3 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -895,7 +895,7 @@ static my_bool do_validate(THD *, plugin_ref plugin, void *arg)
}
-static bool validate_password(LEX_USER *user)
+static bool validate_password(LEX_USER *user, THD *thd)
{
if (user->pwtext.length || !user->pwhash.length)
{
@@ -911,7 +911,8 @@ static bool validate_password(LEX_USER *user)
}
else
{
- if (strict_password_validation && has_validation_plugins())
+ if (!thd->slave_thread &&
+ strict_password_validation && has_validation_plugins())
{
my_error(ER_OPTION_PREVENTS_STATEMENT, MYF(0), "--strict-password-validation");
return true;
@@ -2750,7 +2751,7 @@ bool check_change_password(THD *thd, LEX_USER *user)
LEX_USER *real_user= get_current_user(thd, user);
if (fix_and_copy_user(real_user, user, thd) ||
- validate_password(real_user))
+ validate_password(real_user, thd))
return true;
*user= *real_user;
@@ -3465,7 +3466,7 @@ static int replace_user_table(THD *thd, TABLE *table, LEX_USER &combo,
}
if (!old_row_exists || combo.pwtext.length || combo.pwhash.length)
- if (!handle_as_role && validate_password(&combo))
+ if (!handle_as_role && validate_password(&combo, thd))
goto end;
/* Update table columns with new privileges */