.last_common_uid = last_common_uid,
.flags = exporter_flags,
.hdr_hash_version = brain->hdr_hash_version,
+ .sync_since_timestamp = brain->sync_since_timestamp,
+ .sync_until_timestamp = brain->sync_until_timestamp,
.hashed_headers = brain->hashed_headers,
.parent_event = brain->event,
};
struct dsync_mail_change change;
struct dsync_mail dsync_mail;
+ time_t sync_since_timestamp;
+ time_t sync_until_timestamp;
+
const char *error;
enum mail_error mail_error;
wanted_headers = exporter->wanted_headers;
}
+ if (exporter->sync_since_timestamp != 0) {
+ sarg = mail_search_build_add(search_args, SEARCH_SINCE);
+ sarg->value.date_type = MAIL_SEARCH_DATE_TYPE_RECEIVED;
+ sarg->value.time = exporter->sync_since_timestamp;
+ }
+
+ if (exporter->sync_until_timestamp != 0) {
+ sarg = mail_search_build_add(search_args, SEARCH_BEFORE);
+ sarg->value.date_type = MAIL_SEARCH_DATE_TYPE_RECEIVED;
+ sarg->value.time = exporter->sync_until_timestamp;
+ }
+
exporter->trans = mailbox_transaction_begin(exporter->box,
MAILBOX_TRANSACTION_FLAG_SYNC,
__func__);
exporter->no_hdr_hashes =
(set->flags & DSYNC_MAILBOX_EXPORTER_FLAG_NO_HDR_HASHES) != 0;
exporter->hashed_headers = set->hashed_headers;
+ exporter->sync_since_timestamp = set->sync_since_timestamp;
+ exporter->sync_until_timestamp = set->sync_until_timestamp;
exporter->event = event_create(set->parent_event);
p_array_init(&exporter->requested_uids, pool, 16);
enum dsync_mailbox_exporter_flags flags;
unsigned int hdr_hash_version;
const char *const *hashed_headers;
+ time_t sync_since_timestamp;
+ time_t sync_until_timestamp;
struct event *parent_event;
};