mysql_user and mysql_role: fix granting privileges when only the GRANT OPTION needs to be added

This commit is contained in:
Felix Hamme 2022-04-28 11:41:40 +02:00
commit 29885d1243

View file

@ -331,6 +331,9 @@ def user_mod(cursor, user, host, host_all, password, encrypted,
# and revoke existing privileges that were not requested.
grant_privs = list(set(new_priv[db_table]) - set(curr_priv[db_table]))
revoke_privs = list(set(curr_priv[db_table]) - set(new_priv[db_table]))
if grant_privs == ['GRANT']:
# add the existing privileges because 'WITH GRANT OPTION' cannot stand alone
grant_privs.extend(curr_priv[db_table])
if len(grant_privs) + len(revoke_privs) > 0:
msg = "Privileges updated"