/* Copyright (c) 2006-2018 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "hash.h"
#include "sort.h"
#include "mail-storage-settings.h"
#include "mailbox-list.h"
#include "mail-namespace.h"
#include "mail-user.h"
#include "acl-cache.h"
#include "acl-api-private.h"
extern struct acl_backend_vfuncs acl_backend_vfile;
const char *const all_mailbox_rights[] = {
};
struct acl_backend *
const char *acl_username, const char *const *groups,
bool owner)
{
unsigned int i, group_count;
if (user->mail_debug) {
}
data += 6;
data = "";
else
backend->v = acl_backend_vfile;
if (group_count > 0) {
for (i = 0; i < group_count; i++) {
if (user->mail_debug)
}
}
T_BEGIN {
i_fatal("acl: backend vfile init failed with data: %s",
data);
} T_END;
return backend;
}
{
}
{
}
{
}
{
}
const char *username)
{
/* anonymous user never matches */
return FALSE;
}
}
const char *group_name)
{
sizeof(const char *), bsearch_strcmp) != NULL;
}
const struct acl_rights *rights)
{
case ACL_ID_ANYONE:
return TRUE;
case ACL_ID_AUTHENTICATED:
return acl_backend_user_is_authenticated(backend);
case ACL_ID_GROUP:
case ACL_ID_GROUP_OVERRIDE:
case ACL_ID_USER:
case ACL_ID_OWNER:
return acl_backend_user_is_owner(backend);
case ACL_ID_TYPE_COUNT:
break;
}
i_unreached();
}
const char *right)
{
}
{
return backend->default_aclobj;
default_name = "INBOX";
}
return backend->default_aclobj;
}
{
return -1;
return 0;
}