summaryrefslogtreecommitdiff
path: root/database/mysql
diff options
context:
space:
mode:
authorJeroen Geusebroek <me@jeroengeusebroek.nl>2016-04-19 10:44:52 +0200
committerRené Moser <mail@renemoser.net>2016-04-19 10:44:52 +0200
commit766671f1e1ee0a293c360ffc803f1c65da8ac20a (patch)
tree1537e60329be1fc19264dee4fa65382c67a5c67a /database/mysql
parent2b003a2773aaecf57c9d0e37a798d0827c036c1f (diff)
downloadansible-modules-core-766671f1e1ee0a293c360ffc803f1c65da8ac20a.tar.gz
Allow an empty password when adding a new MySQL user. (#3445)
Diffstat (limited to 'database/mysql')
-rw-r--r--database/mysql/mysql_user.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/database/mysql/mysql_user.py b/database/mysql/mysql_user.py
index 81fd81ee..28649e61 100644
--- a/database/mysql/mysql_user.py
+++ b/database/mysql/mysql_user.py
@@ -32,7 +32,7 @@ options:
required: true
password:
description:
- - set the user's password. (Required when adding a user)
+ - set the user's password.
required: false
default: null
encrypted:
@@ -232,6 +232,8 @@ def user_add(cursor, user, host, host_all, password, encrypted, new_priv, check_
cursor.execute("CREATE USER %s@%s IDENTIFIED BY PASSWORD %s", (user,host,password))
elif password and not encrypted:
cursor.execute("CREATE USER %s@%s IDENTIFIED BY %s", (user,host,password))
+ else:
+ cursor.execute("CREATE USER %s@%s", (user,host))
if new_priv is not None:
for db_table, priv in new_priv.iteritems():
@@ -259,13 +261,13 @@ def user_mod(cursor, user, host, host_all, password, encrypted, new_priv, append
if bool(password):
# Determine what user management method server uses
old_user_mgmt = server_version_check(cursor)
-
+
if old_user_mgmt:
cursor.execute("SELECT password FROM user WHERE user = %s AND host = %s", (user,host))
else:
cursor.execute("SELECT authentication_string FROM user WHERE user = %s AND host = %s", (user,host))
current_pass_hash = cursor.fetchone()
-
+
if encrypted:
encrypted_string = (password)
if is_hash(password):
@@ -293,7 +295,7 @@ def user_mod(cursor, user, host, host_all, password, encrypted, new_priv, append
else:
cursor.execute("ALTER USER %s@%s IDENTIFIED BY %s", (user, host, password))
changed = True
-
+
# Handle privileges
if new_priv is not None:
curr_priv = privileges_get(cursor, user,host)
@@ -559,8 +561,6 @@ def main():
except (SQLParseError, InvalidPrivsError, MySQLdb.Error), e:
module.fail_json(msg=str(e))
else:
- if password is None:
- module.fail_json(msg="password parameter required when adding a user")
if host_all:
module.fail_json(msg="host_all parameter cannot be used when adding a user")
try: