MySQL password changing
[hcoop/domtool2.git] / src / plugins / mysql.sml
index 7da242b..dae75cc 100644 (file)
@@ -38,6 +38,15 @@ fun adduser {user, passwd} =
        else
            SOME "Password contains characters besides letters, digits, and !.-_"
 
        else
            SOME "Password contains characters besides letters, digits, and !.-_"
 
+fun passwd {user, passwd} =
+    if validPasswd passwd then
+       if Slave.shell [Config.MySQL.passwd, user, " ", passwd] then
+           NONE
+       else
+           SOME "Error executing SET PASSWORD script"
+    else
+       SOME "Password contains characters besides letters, digits, and !.-_"
+
 fun createdb {user, dbname} =
     if Slave.shell [Config.MySQL.createdb, user, " ", dbname] then
        NONE
 fun createdb {user, dbname} =
     if Slave.shell [Config.MySQL.createdb, user, " ", dbname] then
        NONE
@@ -46,6 +55,7 @@ fun createdb {user, dbname} =
 
 val _ = Dbms.register ("mysql", {getpass = SOME Client.getpass,
                                 adduser = adduser,
 
 val _ = Dbms.register ("mysql", {getpass = SOME Client.getpass,
                                 adduser = adduser,
+                                passwd = passwd,
                                 createdb = createdb})
 
 end
                                 createdb = createdb})
 
 end