MySQL re-granting
[hcoop/domtool2.git] / src / msgTypes.sml
index 4ee4cbc..1c2abcc 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. *)
@@ -40,5 +60,63 @@ datatype msg =
        | MsgPerms of (string * string list) list
        (* A response to MsgListPerms, giving a permission class and all values
        * for which the user is authorized in that class *)
+       | MsgWhoHas of {class : string, value : string}
+       (* Which users have this permission? *)
+       | MsgWhoHasResponse of string list
+       (* These are the users! *)
+       | MsgMultiConfig of string list
+       (* Multiple Domtool sources in dependency order *)
+       | MsgRmdom of string list
+       (* Remove all configuration associated with some domains and revoke
+       * rights to those domains from all users. *)
+       | MsgRegenerate
+       (* Make a clean slate of it and reprocess all configuration from scratch. *)
+       | MsgRmuser of string
+       (* Remove all ACL entries for a user, and remove all domains to which
+       * 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 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 *)
 
 end