Mercurial > dovecot > core-2.2
view src/lib-storage/mailbox-attribute-internal.c @ 19552:0f22db71df7a
global: freshen copyright
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-5]/$1-2016/g;s/ (201[0-5]) Dovecot/ $1-2016 Dovecot/'
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Wed, 13 Jan 2016 12:24:03 +0200 |
parents | 793bf4ab439f |
children | 2e2563132d5f |
line wrap: on
line source
/* Copyright (c) 2003-2016 Dovecot authors, see the included COPYING file */ #include "lib.h" #include "mail-storage-private.h" #include "mailbox-attribute-internal.h" /* * Internal mailbox attributes */ /* /private/specialuse (RFC 6154) */ static int mailbox_attribute_specialuse_get(struct mailbox_transaction_context *t, const char *key ATTR_UNUSED, struct mail_attribute_value *value_r) { const struct mailbox_settings *set = t->box->set; if (set == NULL || *set->special_use == '\0') return 0; value_r->value = set->special_use; return 1; } static struct mailbox_attribute_internal iattr_mbox_prv_special_use = { .type = MAIL_ATTRIBUTE_TYPE_PRIVATE, .key = MAILBOX_ATTRIBUTE_SPECIALUSE, .rank = MAIL_ATTRIBUTE_INTERNAL_RANK_AUTHORITY, .get = mailbox_attribute_specialuse_get }; /* /private/comment, /shared/comment (RFC 5464) */ static int mailbox_attribute_comment_get(struct mailbox_transaction_context *t, const char *key ATTR_UNUSED, struct mail_attribute_value *value_r) { const struct mailbox_settings *set = t->box->set; if (set == NULL || *set->comment == '\0') return 0; value_r->value = set->comment; return 1; } static struct mailbox_attribute_internal iattr_mbox_prv_comment = { .type = MAIL_ATTRIBUTE_TYPE_PRIVATE, .key = MAILBOX_ATTRIBUTE_COMMENT, .rank = MAIL_ATTRIBUTE_INTERNAL_RANK_DEFAULT, .get = mailbox_attribute_comment_get }; static struct mailbox_attribute_internal iattr_mbox_shd_comment = { .type = MAIL_ATTRIBUTE_TYPE_SHARED, .key = MAILBOX_ATTRIBUTE_COMMENT, .rank = MAIL_ATTRIBUTE_INTERNAL_RANK_DEFAULT, .get = mailbox_attribute_comment_get }; /* * Internal server attributes */ /* /shared/comment (RFC 5464) */ static int server_attribute_comment_get(struct mailbox_transaction_context *t, const char *key ATTR_UNUSED, struct mail_attribute_value *value_r) { const struct mail_storage_settings *set = t->box->storage->set; if (*set->mail_server_comment == '\0') return 0; value_r->value = set->mail_server_comment; return 1; } static struct mailbox_attribute_internal iattr_serv_shd_comment = { .type = MAIL_ATTRIBUTE_TYPE_SHARED, .key = MAILBOX_ATTRIBUTE_PREFIX_DOVECOT_PVT_SERVER MAIL_SERVER_ATTRIBUTE_COMMENT, .rank = MAIL_ATTRIBUTE_INTERNAL_RANK_AUTHORITY, .get = server_attribute_comment_get }; /* /shared/admin (RFC 5464) */ static int server_attribute_admin_get(struct mailbox_transaction_context *t, const char *key ATTR_UNUSED, struct mail_attribute_value *value_r) { const struct mail_storage_settings *set = t->box->storage->set; if (*set->mail_server_admin == '\0') return 0; value_r->value = set->mail_server_admin; return 1; } static struct mailbox_attribute_internal iattr_serv_shd_admin = { .type = MAIL_ATTRIBUTE_TYPE_SHARED, .key = MAILBOX_ATTRIBUTE_PREFIX_DOVECOT_PVT_SERVER MAIL_SERVER_ATTRIBUTE_ADMIN, .rank = MAIL_ATTRIBUTE_INTERNAL_RANK_AUTHORITY, .get = server_attribute_admin_get }; /* * Registry */ void mailbox_attributes_internal_init(void) { /* * Internal mailbox attributes */ /* /private/specialuse (RFC 6154) */ mailbox_attribute_register_internal(&iattr_mbox_prv_special_use); /* /private/comment (RFC 5464) */ mailbox_attribute_register_internal(&iattr_mbox_prv_comment); /* /shared/comment (RFC 5464) */ mailbox_attribute_register_internal(&iattr_mbox_shd_comment); /* * internal server attributes */ /* /shared/comment (RFC 5464) */ mailbox_attribute_register_internal(&iattr_serv_shd_comment); /* /shared/admin (RFC 5464) */ mailbox_attribute_register_internal(&iattr_serv_shd_admin); }