1 (* HCoop
Domtool (http
://hcoop
.sourceforge
.net
/)
2 * Copyright (c
) 2006, Adam Chlipala
4 * This program is free software
; you can redistribute it
and/or
5 * modify it under the terms
of the GNU General Public License
6 * as published by the Free Software Foundation
; either version
2
7 * of the License
, or (at your option
) any later version
.
9 * This program is distributed
in the hope that it will be useful
,
10 * but WITHOUT ANY WARRANTY
; without even the implied warranty
of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
. See the
12 * GNU General Public License for more details
.
14 * You should have received a copy
of the GNU General Public License
15 * along
with this program
; if not
, write to the Free Software
16 * Foundation
, Inc
., 51 Franklin Street
, Fifth Floor
, Boston
, MA
02110-1301, USA
.
19 (* Network message data structures
*)
21 structure MsgTypes
= struct
25 (* Is this apt package installed?
*)
29 (* Your request was processed successfully
. *)
31 (* Your request went wrong
in some way
. *)
33 (* Configuration source code
*)
34 | MsgFile
of Slave
.file_status
35 (* The status
of a configuration file has changed
. *)
37 (* Perform the actions associated
with the MsgFiles sent previously
. *)
39 (* Grant a permission
*)
40 | MsgRevoke
of Acl
.acl
41 (* Revoke a permission
*)
42 | MsgListPerms
of string
43 (* List all
of a user
's permissions
*)
44 | MsgPerms
of (string * string list
) list
45 (* A response to MsgListPerms
, giving a permission class
and all values
46 * for which the user is authorized
in that class
*)
47 | MsgWhoHas
of {class
: string, value
: string}
48 (* Which users have this permission?
*)
49 | MsgWhoHasResponse
of string list
50 (* These are the users
! *)
51 | MsgMultiConfig
of string list
52 (* Multiple Domtool sources
in dependency order
*)
53 | MsgRmdom
of string list
54 (* Remove all configuration associated
with some domains
and revoke
55 * rights to those domains from all users
. *)
57 (* Make a clean slate
of it
and reprocess all configuration from scratch
. *)
59 (* Remove all ACL entries for a user
, and remove all domains to which
60 * that user
and no one
else has rights
. *)
61 | MsgCreateDbUser
of {dbtype
: string, passwd
: string option
}
62 (* Request creation
of a user for the named DBMS
type *)
63 | MsgCreateDbTable
of {dbtype
: string, dbname
: string}
64 (* Request creation
of a DBMS table
*)
65 | MsgNewMailbox
of {domain
: string, user
: string,
66 passwd
: string, mailbox
: string}
67 (* Request creation
of a new vmail mapping
*)
68 | MsgPasswdMailbox
of {domain
: string, user
: string, passwd
: string}
69 (* Change a vmail account
's password
*)
70 | MsgRmMailbox
of {domain
: string, user
: string}
71 (* Remove a vmail mapping
*)
72 | MsgListMailboxes
of string
73 (* List all mailboxes for a domain
*)
74 | MsgMailboxes
of {user
: string, mailbox
: string} list
75 (* Reply to MsgListMailboxes
*)
76 | MsgSaQuery
of string
77 (* Check on the SpamAsssassin filtering status
of a user or e
-mail address
*)
79 (* Response to MsgSaQuery
*)
80 | MsgSaSet
of string * bool
81 (* Set the filtering status
of a user or e
-mail address
*)
82 | MsgSmtpLogReq
of string
83 (* Request all current SMTP log lines about a domain
*)
84 | MsgSmtpLogRes
of string
85 (* One line
of a response to MsgSmtpLogReq
*)
86 | MsgDbPasswd
of {dbtype
: string, passwd
: string}
87 (* Change a DBMS user
's password
*)
92 (* Answers to boolean queries
*)
94 (* Ask for host
-specific information
*)