Mercurial > dovecot > core-2.2
view src/lib-storage/mailbox-attribute-internal.c @ 22638:7d5634889da8
lib: net_ip2addr() - Optimize by allocating destination memory immediately
It doesn't really matter if we allocate a few extra bytes.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Sat, 04 Nov 2017 01:42:37 +0200 |
parents | 2e2563132d5f |
children | cb108f786fb4 |
line wrap: on
line source
/* Copyright (c) 2003-2017 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); }