Skip to content

Commit

Permalink
mysql_user: prevent password getting set for existing users on on_cre… (
Browse files Browse the repository at this point in the history
#342)

Co-authored-by: Andrew Klychkov <[email protected]>
(cherry picked from commit 51a3884)
  • Loading branch information
hubiongithub authored and Andersson007 committed May 31, 2022
1 parent 0011798 commit 199b593
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 deletions.
2 changes: 2 additions & 0 deletions changelogs/fragments/334-mysql_user_fix_logic_on_oncreate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bugfixes:
- "mysql_user - fix logic when ``update_password`` is set to ``on_create`` for users using ``plugin*`` arguments (https://github.com/ansible-collections/community.mysql/issues/334). The ``on_create`` sets ``password`` to None for old mysql_native_authentication but not for authentiation methods which uses the ``plugin*`` arguments. This PR changes this so ``on_create`` also exchange ``plugin``, ``plugin_hash_string``, ``plugin_auth_string`` to None in the list of arguments to change"
9 changes: 5 additions & 4 deletions plugins/modules/mysql_user.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@
required: true
password:
description:
- Set the user's password.
- Set the user's password. Only for C(mysql_native_password) authentication.
For other authentication plugins see the combination of I(plugin), I(plugin_hash_string), I(plugin_auth_string).
type: str
encrypted:
description:
Expand Down Expand Up @@ -94,8 +95,8 @@
default: no
update_password:
description:
- C(always) will update passwords if they differ.
- C(on_create) will only set the password for newly created users.
- C(always) will update passwords if they differ. This affects I(password) and the combination of I(plugin), I(plugin_hash_string), I(plugin_auth_string).
- C(on_create) will only set the password or the combination of plugin, plugin_hash_string, plugin_auth_string for newly created users.
type: str
choices: [ always, on_create ]
default: always
Expand Down Expand Up @@ -441,7 +442,7 @@ def main():
priv, append_privs, tls_requires, module)
else:
changed, msg = user_mod(cursor, user, host, host_all, None, encrypted,
plugin, plugin_hash_string, plugin_auth_string,
None, None, None,
priv, append_privs, tls_requires, module)

except (SQLParseError, InvalidPrivsError, mysql_driver.Error) as e:
Expand Down

0 comments on commit 199b593

Please sign in to comment.