imap-acl-plugin.c revision f1ab91e28a4dac1305b52f77bb5f32269137d051
5394bed8aaef2a6c1c870a34a23a7824e1f370bbStephan Bosch/* Copyright (c) 2008 Dovecot authors, see the included COPYING file */
5394bed8aaef2a6c1c870a34a23a7824e1f370bbStephan Bosch#define ERROR_NOT_ADMIN "["IMAP_RESP_CODE_ACL"] " \
5394bed8aaef2a6c1c870a34a23a7824e1f370bbStephan Bosch "You lack administrator privileges on this mailbox."
5394bed8aaef2a6c1c870a34a23a7824e1f370bbStephan Bosch (MAILBOX_OPEN_READONLY | MAILBOX_OPEN_FAST | MAILBOX_OPEN_KEEP_RECENT)
5394bed8aaef2a6c1c870a34a23a7824e1f370bbStephan Boschstatic const struct imap_acl_letter_map imap_acl_letter_map[] = {
static struct mailbox *
int ret;
return NULL;
return NULL;
if (ret > 0)
return box;
return NULL;
static const struct imap_acl_letter_map *
return &imap_acl_letter_map[i];
return NULL;
if (append_c)
if (append_d)
case ACL_ID_ANYONE:
case ACL_ID_AUTHENTICATED:
case ACL_ID_OWNER:
case ACL_ID_USER:
case ACL_ID_GROUP:
case ACL_ID_GROUP_OVERRIDE:
case ACL_ID_TYPE_COUNT:
i_unreached();
int ret;
return ret;
const char *mailbox;
unsigned int len;
int ret;
return TRUE;
return TRUE;
if (ret == 0) {
return TRUE;
const char *const *rights;
return TRUE;
return TRUE;
return TRUE;
return TRUE;
return TRUE;
return TRUE;
return TRUE;
return TRUE;
return TRUE;
const char **error_r)
*letters);
id);
return TRUE;
identifier++;
return TRUE;
return TRUE;
return TRUE;
switch (*rights) {
rights++;
rights++;
if (negative) {
return TRUE;
return TRUE;
identifier++;
return TRUE;
return TRUE;
return TRUE;
void imap_acl_plugin_init(void)
const char *env;
void imap_acl_plugin_deinit(void)