if ((data->wanted_fields & (MAIL_FETCH_PHYSICAL_SIZE |
MAIL_FETCH_VIRTUAL_SIZE)) != 0 &&
data->physical_size == UOFF_T_MAX &&
- IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_RFC822_SIZE))
+ IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_FETCH_SIZE))
fields |= MAIL_FETCH_PHYSICAL_SIZE | MAIL_FETCH_VIRTUAL_SIZE;
if ((data->wanted_fields & MAIL_FETCH_IMAP_BODY) != 0 &&
data->body == NULL &&
t_strdup_printf("imapc mail uid=%u", _mail->uid));
index_mail_set_read_buffer_size(_mail, imail->data.stream);
- if (!IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_RFC822_SIZE)) {
+ if (!IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_FETCH_SIZE)) {
/* enable filtering only when we're not passing through
RFC822.SIZE. otherwise we'll get size mismatches. */
imapc_stream_filter(&imail->data.stream);
} else if (strcasecmp(key, "RFC822.SIZE") == 0) {
if (imap_arg_get_atom(&args[i+1], &value) &&
str_to_uoff(value, &size) == 0 &&
- IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_RFC822_SIZE)) {
+ IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_FETCH_SIZE)) {
mail->imail.data.physical_size = size;
mail->imail.data.virtual_size = size;
mail->imail.data.inexact_total_sizes = TRUE;
return 0;
}
- if (IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_RFC822_SIZE) &&
+ if (IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_FETCH_SIZE) &&
data->stream == NULL) {
/* Trust RFC822.SIZE to be correct enough to present to the
IMAP client. However, it can be wrong in some implementation
if ((data->wanted_fields & (MAIL_FETCH_PHYSICAL_SIZE |
MAIL_FETCH_VIRTUAL_SIZE)) != 0) {
if (index_mail_get_physical_size(_mail, &size) < 0 &&
- !IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_RFC822_SIZE))
+ !IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_FETCH_SIZE))
data->access_part |= READ_HDR | READ_BODY;
}
if ((data->wanted_fields & MAIL_FETCH_GUID) != 0)
struct imapc_mailbox *mbox = (struct imapc_mailbox *)_mail->box;
index_mail_set_seq(_mail, seq, saving);
- if (IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_RFC822_SIZE)) {
+ if (IMAPC_BOX_HAS_FEATURE(mbox, IMAPC_FEATURE_FETCH_SIZE)) {
/* RFC822.SIZE may be read from vsize record or cache. It may
not be exactly correct. */
mail->data.inexact_total_sizes = TRUE;
};
static const struct imapc_feature_list imapc_feature_list[] = {
- { "rfc822.size", IMAPC_FEATURE_RFC822_SIZE },
+ { "fetch-size", IMAPC_FEATURE_FETCH_SIZE },
{ "guid-forced", IMAPC_FEATURE_GUID_FORCED },
{ "fetch-headers", IMAPC_FEATURE_FETCH_HEADERS },
{ "gmail-migration", IMAPC_FEATURE_GMAIL_MIGRATION },
/* <settings checks> */
enum imapc_features {
- IMAPC_FEATURE_RFC822_SIZE = 0x01,
+ IMAPC_FEATURE_FETCH_SIZE = 0x01,
IMAPC_FEATURE_GUID_FORCED = 0x02,
IMAPC_FEATURE_FETCH_HEADERS = 0x04,
IMAPC_FEATURE_GMAIL_MIGRATION = 0x08,