acl-storage.c revision 6a94e092ea00c2c253eb4f3b519b9668e7477777
/* Copyright (c) 2006-2008 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "array.h"
#include "istream.h"
#include "mail-namespace.h"
#include "mailbox-list-private.h"
#include "acl-api-private.h"
#include "acl-plugin.h"
struct acl_storage_module acl_storage_module =
static const char *acl_storage_right_names[ACL_STORAGE_RIGHT_COUNT] = {
};
struct acl_backend *backend)
{
unsigned int i;
for (i = 0; i < ACL_STORAGE_RIGHT_COUNT; i++) {
ctx->acl_storage_right_idx[i] =
}
}
unsigned int acl_storage_right_idx,
bool *can_see_r)
{
struct mail_namespace *ns;
struct acl_object *aclobj;
if (ret2 < 0)
ret = -1;
}
return ret;
}
static int
unsigned int acl_storage_right_idx, bool *can_see_r)
{
int ret;
if (ret < 0)
return ret;
}
{
}
static struct mailbox *
{
bool can_see;
int ret;
/* mailbox can be opened either for reading or appending new messages */
if ((flags & MAIL_STORAGE_FLAG_IGNORE_ACLS) != 0) {
ret = 1;
} else if ((flags & MAILBOX_OPEN_SAVEONLY) != 0) {
&can_see);
} else {
&can_see);
}
if (ret <= 0) {
if (ret < 0)
return NULL;
if (can_see) {
} else {
}
return NULL;
}
return NULL;
return acl_mailbox_open_box(box);
}
bool directory)
{
int ret;
T_BEGIN {
} T_END;
if (ret <= 0) {
if (ret == 0) {
/* Note that if the mailbox didn't have LOOKUP
permission, this not reveals to user the mailbox's
existence. Can't help it. */
} else {
}
return -1;
}
}
{
struct acl_mail_storage *astorage;
struct acl_backend *backend;
}