Add vmail command for changing password when you know the current password
[hcoop/domtool2.git] / src / main.sig
index ce81c60..fa4d398 100644 (file)
 signature MAIN = sig
 
     val init : unit -> unit
+    val setupUser : unit -> string
 
-    val check : string -> Env.env * Ast.exp option
+    val check : Env.env -> string -> Env.env * Ast.exp option
     val check' : Env.env -> string -> Env.env
     val checkDir : string -> unit
 
     val basis : unit -> Env.env
 
-    val reduce : string -> Ast.exp option
-    val eval : string -> unit
+    val reduce : Env.env -> string -> Env.env * Ast.exp option
+    val eval : Env.env -> Env.env_vars -> string -> Env.env * Env.env_vars
 
-    val request : string -> unit
+    val request : string * string option -> unit
     val requestDir : string -> unit
 
     val requestPing : unit -> OS.Process.status
@@ -42,7 +43,10 @@ signature MAIN = sig
     val requestWhoHas : {class : string, value : string} -> string list option
     val requestRmdom : string list -> unit
     val requestRegen : unit -> unit
+    val requestRegenTc : unit -> unit
     val requestRmuser : string -> unit
+    val requestDescribe : string -> unit
+    val requestReUsers : unit -> unit
 
     val requestSlavePing : unit -> OS.Process.status
     val requestSlaveShutdown : unit -> unit
@@ -55,13 +59,17 @@ signature MAIN = sig
 
     val requestDbUser : {dbtype : string, passwd : string option} -> unit
     val requestDbPasswd : {dbtype : string, passwd : string} -> unit
-    val requestDbTable : {dbtype : string, dbname : string} -> unit
+    val requestDbTable : {dbtype : string, dbname : string, encoding : string option} -> unit
+    val requestDbDrop : {dbtype : string, dbname : string} -> unit
+    val requestDbGrant : {dbtype : string, dbname : string} -> unit
 
     val requestListMailboxes : string -> Vmail.listing
     val requestNewMailbox : {domain : string, user : string,
                             passwd : string, mailbox : string} -> unit
     val requestPasswdMailbox : {domain : string, user : string, passwd : string}
                               -> unit
+    val requestPortalPasswdMailbox : {domain : string, user : string, oldpasswd : string, newpasswd : string}
+                                    -> unit
     val requestRmMailbox : {domain : string, user : string} -> unit
 
     val requestSaQuery : string -> unit
@@ -69,9 +77,15 @@ signature MAIN = sig
 
     val requestSmtpLog : string -> unit
 
+    val requestMysqlFixperms : unit -> unit
+
     val requestApt : {node : string, pkg : string} -> OS.Process.status
+    val requestAptExists : {node : string, pkg : string} -> OS.Process.status
     val requestCron : {node : string, uname : string} -> OS.Process.status
     val requestFtp : {node : string, uname : string} -> OS.Process.status
     val requestTrustedPath : {node : string, uname : string} -> OS.Process.status
     val requestSocketPerm : {node : string, uname : string} -> OS.Process.status
+    val requestFirewall : {node : string, uname : string} -> OS.Process.status
+
+    val requestFirewallRegen : string -> OS.Process.status
 end