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. *)
* 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, encoding : string option}
+ (* 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 *)
| MsgYes
| MsgNo
(* Answers to boolean queries *)
- | MsgApt of string
- (* Is this apt package installed on your host? *)
+ | 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 *)
+ | MsgReUsers
+ (* Rerun all callbacks for cases where the set of users has changed *)
+ | MsgVmailChanged
+ (* Server tells slave that vmail user information has changed *)
+ | MsgFirewallRegen
+ (* Regenerate firewall on user machines *)
end