case OSTREAM_SEND_ISTREAM_RESULT_FINISHED:
if (state->cur_input->v_offset != state->cur_size) {
/* Input stream gave less data than expected */
- mail_set_cache_corrupted_reason(state->cur_mail,
+ mail_set_cache_corrupted(state->cur_mail,
state->cur_size_field, t_strdup_printf(
"read(%s): FETCH %s got too little data: "
"%"PRIuUOFF_T" vs %"PRIuUOFF_T,
if (imap_bodystructure_parse(bodystructure, pmail->data_pool,
all_parts, &error) < 0) {
- mail_set_cache_corrupted_reason(mail,
+ mail_set_cache_corrupted(mail,
MAIL_FETCH_IMAP_BODYSTRUCTURE, t_strdup_printf(
"Invalid message_part/BODYSTRUCTURE %s: %s",
bodystructure, error));
static void
fail_mail_set_cache_corrupted(struct mail *mail ATTR_UNUSED,
- enum mail_fetch_field field ATTR_UNUSED)
-{
-}
-
-static void
-fail_mail_set_cache_corrupted_reason(struct mail *mail ATTR_UNUSED,
- enum mail_fetch_field field ATTR_UNUSED,
- const char *reason ATTR_UNUSED)
+ enum mail_fetch_field field ATTR_UNUSED,
+ const char *reason ATTR_UNUSED)
{
}
fail_mail_expunge,
fail_mail_set_cache_corrupted,
NULL,
- fail_mail_set_cache_corrupted_reason
};
index_mail_expunge,
index_mail_set_cache_corrupted,
index_mail_opened,
- index_mail_set_cache_corrupted_reason
};
index_mail_expunge,
index_mail_set_cache_corrupted,
index_mail_opened,
- index_mail_set_cache_corrupted_reason
};
index_mail_expunge,
index_mail_set_cache_corrupted,
index_mail_opened,
- index_mail_set_cache_corrupted_reason
};
index_mail_expunge,
index_mail_set_cache_corrupted,
index_mail_opened,
- index_mail_set_cache_corrupted_reason
};
msg_part = msg_part_find(all_parts, bin_part->physical_pos);
if (msg_part == NULL) {
/* either binary.parts or mime.parts is broken */
- mail_set_cache_corrupted_reason(_mail, MAIL_FETCH_MESSAGE_PARTS, t_strdup_printf(
+ mail_set_cache_corrupted(_mail, MAIL_FETCH_MESSAGE_PARTS, t_strdup_printf(
"BINARY part at offset %"PRIuUOFF_T" not found from MIME parts",
bin_part->physical_pos));
return -1;
else
parts_str = binary_to_hex(part_buf->data, part_buf->used);
- mail_set_cache_corrupted_reason(mail,
+ mail_set_cache_corrupted(mail,
MAIL_FETCH_MESSAGE_PARTS, t_strdup_printf(
"Cached MIME parts don't match message during parsing: %s (parts=%s)",
error, parts_str));
if (imap_body_parse_from_bodystructure(
data->bodystructure, str, &error) < 0) {
/* broken, continue.. */
- mail_set_cache_corrupted_reason(_mail,
+ mail_set_cache_corrupted(_mail,
MAIL_FETCH_IMAP_BODYSTRUCTURE, t_strdup_printf(
"Invalid BODYSTRUCTURE %s: %s",
data->bodystructure, error));
}
void index_mail_set_cache_corrupted(struct mail *mail,
- enum mail_fetch_field field)
-{
- index_mail_set_cache_corrupted_reason(mail, field, "");
-}
-
-void index_mail_set_cache_corrupted_reason(struct mail *mail,
- enum mail_fetch_field field,
- const char *reason)
+ enum mail_fetch_field field,
+ const char *reason)
{
struct index_mail *imail = (struct index_mail *)mail;
const char *field_name;
void index_mail_expunge(struct mail *mail);
void index_mail_precache(struct mail *mail);
void index_mail_set_cache_corrupted(struct mail *mail,
- enum mail_fetch_field field);
-void index_mail_set_cache_corrupted_reason(struct mail *mail,
- enum mail_fetch_field field,
- const char *reason);
+ enum mail_fetch_field field,
+ const char *reason);
int index_mail_opened(struct mail *mail, struct istream **stream);
int index_mail_stream_check_failure(struct index_mail *mail);
void index_mail_stream_log_failure_for(struct index_mail *mail,
mstream->expected_size, chr, cur_size,
mailbox_get_vname(mstream->mail->box),
mstream->mail->uid, mail_id);
- mail_set_cache_corrupted_reason(mstream->mail, MAIL_FETCH_PHYSICAL_SIZE,
+ mail_set_cache_corrupted(mstream->mail, MAIL_FETCH_PHYSICAL_SIZE,
t_strdup_printf("read(%s) failed: %s",
i_stream_get_name(&mstream->istream.istream),
mstream->istream.iostream.error));
(void)maildir_file_do(mbox, mail->uid, do_fix_size, &ctx);
}
-static void maildir_mail_set_cache_corrupted_reason(struct mail *_mail,
- enum mail_fetch_field field,
- const char *reason)
+static void maildir_mail_set_cache_corrupted(struct mail *_mail,
+ enum mail_fetch_field field,
+ const char *reason)
{
if (field == MAIL_FETCH_PHYSICAL_SIZE ||
field == MAIL_FETCH_VIRTUAL_SIZE) {
maildir_mail_remove_sizes_from_uidlist(_mail);
maildir_mail_remove_sizes_from_filename(_mail, field);
}
- index_mail_set_cache_corrupted_reason(_mail, field, reason);
-}
-
-static void maildir_mail_set_cache_corrupted(struct mail *_mail,
- enum mail_fetch_field field)
-{
- maildir_mail_set_cache_corrupted_reason(_mail, field, "");
+ index_mail_set_cache_corrupted(_mail, field, reason);
}
struct mail_vfuncs maildir_mail_vfuncs = {
index_mail_expunge,
maildir_mail_set_cache_corrupted,
index_mail_opened,
- maildir_mail_set_cache_corrupted_reason
};
index_mail_expunge,
index_mail_set_cache_corrupted,
index_mail_opened,
- index_mail_set_cache_corrupted_reason
};
index_mail_expunge,
index_mail_set_cache_corrupted,
index_mail_opened,
- index_mail_set_cache_corrupted_reason
};
index_mail_expunge,
index_mail_set_cache_corrupted,
index_mail_opened,
- index_mail_set_cache_corrupted_reason
};
void (*update_pop3_uidl)(struct mail *mail, const char *uidl);
void (*expunge)(struct mail *mail);
void (*set_cache_corrupted)(struct mail *mail,
- enum mail_fetch_field field);
+ enum mail_fetch_field field,
+ const char *reason);
int (*istream_opened)(struct mail *mail, struct istream **input);
- void (*set_cache_corrupted_reason)(struct mail *mail,
- enum mail_fetch_field field,
- const char *reason);
};
union mail_module_context {
/* Add missing fields to cache. */
void mail_precache(struct mail *mail);
/* Mark a cached field corrupted and have it recalculated. */
-void mail_set_cache_corrupted(struct mail *mail, enum mail_fetch_field field);
-void mail_set_cache_corrupted_reason(struct mail *mail,
- enum mail_fetch_field field,
- const char *reason);
+void mail_set_cache_corrupted(struct mail *mail,
+ enum mail_fetch_field field,
+ const char *reason);
/* Return 128 bit GUID using input string. If guid is already 128 bit hex
encoded, it's returned as-is. Otherwise SHA1 sum is taken and its last
} T_END;
}
-void mail_set_cache_corrupted(struct mail *mail, enum mail_fetch_field field)
-{
- mail_set_cache_corrupted_reason(mail, field, "");
-}
-
-void mail_set_cache_corrupted_reason(struct mail *mail,
- enum mail_fetch_field field,
- const char *reason)
+void mail_set_cache_corrupted(struct mail *mail,
+ enum mail_fetch_field field,
+ const char *reason)
{
struct mail_private *p = (struct mail_private *)mail;
-
- /* FIXME: v2.3: rename set_cache_corrupted_reason() to just
- set_cache_corrupted(). we have two here for backwards API
- compatibility. */
- if (p->v.set_cache_corrupted_reason != NULL)
- p->v.set_cache_corrupted_reason(mail, field, reason);
- else
- p->v.set_cache_corrupted(mail, field);
+ p->v.set_cache_corrupted(mail, field, reason);
}
void mail_generate_guid_128_hash(const char *guid, guid_128_t guid_128_r)
}
static void
-virtual_mail_set_cache_corrupted_reason(struct mail *mail,
- enum mail_fetch_field field,
- const char *reason)
+virtual_mail_set_cache_corrupted(struct mail *mail,
+ enum mail_fetch_field field,
+ const char *reason)
{
struct virtual_mail *vmail = (struct virtual_mail *)mail;
struct mail *backend_mail;
if (backend_mail_get(vmail, &backend_mail) < 0)
return;
- mail_set_cache_corrupted_reason(backend_mail, field, reason);
-}
-
-static void
-virtual_mail_set_cache_corrupted(struct mail *mail, enum mail_fetch_field field)
-{
- virtual_mail_set_cache_corrupted_reason(mail, field, "");
+ mail_set_cache_corrupted(backend_mail, field, reason);
}
struct mail_vfuncs virtual_mail_vfuncs = {
virtual_mail_expunge,
virtual_mail_set_cache_corrupted,
NULL,
- virtual_mail_set_cache_corrupted_reason
};