Adding domain description
[hcoop/domtool2.git] / src / msgTypes.sml
index 5758d80..034e26a 100644 (file)
 
 structure MsgTypes = struct
 
+datatype socket_permission =
+        Any
+       | Client
+       | Server
+       | Nada
+
+datatype query =
+        QApt of string
+       (* Is this apt package installed? *)
+       | QCron of string
+       (* Is this user allowed to use cron? *)
+       | QFtp of string
+       (* Is this user allowed to use FTP? *)
+       | QTrustedPath of string
+       (* Is this user restricted to trusted-path executables? *)
+       | QSocket of string
+       (* What socket permissions does this user have? *)
+       | QFirewall of string
+       (* What firewall rules does this user have? *)
+
 datatype msg =
         MsgOk
        (* Your request was processed successfully. *)
@@ -56,7 +76,53 @@ datatype msg =
        * that user and no one else has rights. *)
        | MsgCreateDbUser of {dbtype : string, passwd : string option}
        (* Request creation of a user for the named DBMS type *)
-       | MsgCreateDbTable of {dbtype : string, dbname : string}
-       (* Request creation of a DBMS table *)
+       | MsgCreateDb of {dbtype : string, dbname : string}
+       (* Request creation of a DBMS database *)
+       | MsgDropDb of {dbtype : string, dbname : string}
+       (* Request dropping of a DBMS database *)
+       | MsgNewMailbox of {domain : string, user : string,
+                          passwd : string, mailbox : string}
+       (* Request creation of a new vmail mapping *)
+       | MsgPasswdMailbox of {domain : string, user : string, passwd : string}
+       (* Change a vmail account's password *)
+       | MsgRmMailbox of {domain : string, user : string}
+       (* Remove a vmail mapping *)
+       | MsgListMailboxes of string
+       (* List all mailboxes for a domain *)
+       | MsgMailboxes of {user : string, mailbox : string} list
+       (* Reply to MsgListMailboxes *)
+       | MsgSaQuery of string
+       (* Check on the SpamAsssassin filtering status of a user or e-mail address *)
+       | MsgSaStatus of bool
+       (* Response to MsgSaQuery *)
+       | MsgSaSet of string * bool
+       (* Set the filtering status of a user or e-mail address *)
+       | MsgSmtpLogReq of string
+       (* Request all current SMTP log lines about a domain *)
+       | MsgSmtpLogRes of string
+       (* One line of a response to MsgSmtpLogReq *)
+       | MsgDbPasswd of {dbtype : string, passwd : string}
+       (* Change a DBMS user's password *)
+       | MsgShutdown
+       (* Halt the server *)
+       | MsgYes
+       | MsgNo
+       (* Answers to boolean queries *)
+       | MsgQuery of query
+       (* Ask for host-specific information *)
+       | MsgSocket of socket_permission
+       (* Answer to a QSocket query *)
+       | MsgFirewall of string list
+       (* Answer to a QFirewall query *)
+       | MsgRegenerateTc
+       (* MsgRegenerate without actual publishing of configuration *)
+       | MsgGrantDb of {dbtype : string, dbname : string}
+       (* Grant all allowed privileges on a DBMS database to the user *)
+       | MsgMysqlFixperms
+       (* Run the script to grant DROP privileges on MySQL tables to owning users *)
+       | MsgDescribe of string
+       (* Ask for a listing of all of a domain's real configuration *)
+       | MsgDescription of string
+       (* Reply to MsgDescribe *)
 
 end