/dovecot/src/lib-index/ |
H A D | test-mail-index-modseq.c | 8 #include "mail-index-modseq.h" 68 for (uint64_t modseq = 1; modseq <= 7; modseq++) { 72 test_assert_idx(mail_index_modseq_get_next_log_offset(view2, modseq, &log_seq, &log_offset) == (tests[modseq].log_seq != 0), modseq); local 73 test_assert_idx(tests[modseq].log_seq == log_seq && tests[modseq].log_offset == log_offset, modseq); [all...] |
H A D | test-mail-transaction-log-file.c | 25 /* expunges: increase modseq */ 28 /* expunges: don't increase modseq */ 34 /* flag changes: don't increase modseq */ 60 /* flag changes: increase modseq */ 108 /* flag changes: increase modseq with old version */ 119 /* modseq updates: don't increase modseq */ 130 /* modseq updates: increase modseq */ 154 /* appends, keyword changes, attribute changes: increase modseq */ 306 uint64_t modseq; local [all...] |
H A D | mail-index-modseq.c | 8 #include "mail-index-modseq.h" 78 /* get the modseq extension to index map */ 133 struct mail_index_map_modseq *mmap = view->map->rec_map->modseq; 139 /* don't start tracking until we've seen modseq extension intro */ 148 view->map->rec_map->modseq = mmap; 175 the same modseq (initial highestmodseq) for all messages. 179 If we're here because a message got appended but modseq 181 highest modseq. This isn't exactly correct, but it gets 238 uint64_t modseq, highest_modseq = 0; local 244 modseq 264 uint64_t modseq, highest_modseq = 0; local 286 mail_index_modseq_update(struct mail_index_modseq_sync *ctx, uint64_t modseq, bool nonzeros, uint32_t seq1, uint32_t seq2) argument 313 uint64_t modseq; local 583 uint64_t modseq; local 677 mail_index_modseq_get_next_log_offset(struct mail_index_view *view, uint64_t modseq, uint32_t *log_seq_r, uoff_t *log_offset_r) argument [all...] |
H A D | mail-index-map.c | 8 #include "mail-index-modseq.h" 279 if (rec_map->modseq != NULL) 280 mail_index_map_modseq_free(&rec_map->modseq); 437 if (map->rec_map->modseq != NULL) 438 new_map->modseq = mail_index_map_modseq_clone(map->rec_map->modseq); 467 new_map->modseq = map->rec_map->modseq == NULL ? NULL : 468 mail_index_map_modseq_clone(map->rec_map->modseq);
|
H A D | mail-index-modseq.h | 6 #define MAIL_INDEX_MODSEQ_EXT_NAME "modseq" 17 /* highest used modseq */ 66 uint64_t modseq, uint32_t *log_seq_r,
|
H A D | mail-transaction-log-file.c | 12 #include "mail-index-modseq.h" 259 /* modseq tracking in log files is required for many reasons 1040 /* modseqs not tracked yet. see if this is a modseq 1049 /* modseq tracking started */ 1071 /* these changes increase modseq */ 1088 uint64_t modseq = ((uint64_t)rec->modseq_high32 << 32) | local 1090 if (*cur_modseq < modseq) 1091 *cur_modseq = modseq; 1140 modseq_cache_get_modseq(struct mail_transaction_log_file *file, uint64_t modseq) argument 1145 if (modseq < fil 1258 get_modseq_next_offset_at(struct mail_transaction_log_file *file, uint64_t modseq, bool use_highest, uoff_t *cur_offset, uint64_t *cur_modseq, uoff_t *next_offset_r) argument 1300 mail_transaction_log_file_get_modseq_next_offset( struct mail_transaction_log_file *file, uint64_t modseq, uoff_t *next_offset_r) argument [all...] |
H A D | mail-transaction-log-private.h | 50 /* highest modseq at sync_offset */ 150 uint64_t modseq, uoff_t *next_offset_r);
|
/dovecot/src/imap/ |
H A D | imap-search-args.h | 29 uint64_t modseq);
|
H A D | imap-search-args.c | 213 uint64_t modseq) 219 search_arg->value.modseq = 221 search_arg->value.modseq->modseq = modseq + 1; 212 imap_search_add_changed_since(struct mail_search_args *search_args, uint64_t modseq) argument
|
H A D | cmd-fetch.c | 110 uint64_t modseq; local 119 str_to_uint64(str, &modseq) < 0) { 121 "Invalid CHANGEDSINCE modseq."); 125 imap_search_add_changed_since(search_args, modseq);
|
H A D | imap-fetch.c | 318 uint64_t modseq; local 327 modseq = modseqarg->value.modseq->modseq - 1; 330 if (!mailbox_get_expunged_uids(box, modseq, uid_filter, &expunged_uids_range)) { 858 uint64_t modseq; local 860 modseq = mail_get_modseq(mail); 861 if (ctx->client->highest_fetch_modseq < modseq) 862 ctx->client->highest_fetch_modseq = modseq; 863 str_printfa(ctx->state.cur_str, "MODSEQ (%"PRIu64") ", modseq); [all...] |
/dovecot/src/lib-storage/ |
H A D | test-mailbox-get.c | 6 #include "mail-index-modseq.h" 30 uint64_t modseq, uint32_t *log_seq_r, 33 *log_seq_r = modseq >> 32; 34 *log_offset_r = modseq & 0xfffffff; 104 uint64_t modseq; local 124 modseq = 98ULL << 32; 125 test_assert(!mailbox_get_expunges(box, modseq, &uids_filter, 29 mail_index_modseq_get_next_log_offset(struct mail_index_view *view ATTR_UNUSED, uint64_t modseq, uint32_t *log_seq_r, uoff_t *log_offset_r) argument
|
H A D | mail-search-register-imap.c | 336 struct mail_search_modseq *modseq, const char *name) 339 modseq->type = MAIL_SEARCH_MODSEQ_TYPE_ANY; 341 modseq->type = MAIL_SEARCH_MODSEQ_TYPE_PRIVATE; 343 modseq->type = MAIL_SEARCH_MODSEQ_TYPE_SHARED; 378 if (arg_modseq_set_type(ctx, sarg->value.modseq, value) < 0) 390 /* [<name> <type>] <modseq> */ 392 sarg->value.modseq = p_new(ctx->pool, struct mail_search_modseq, 1); 405 if (str_to_uint64(value, &sarg->value.modseq->modseq) < 0) { 335 arg_modseq_set_type(struct mail_search_build_context *ctx, struct mail_search_modseq *modseq, const char *name) argument
|
H A D | mail-search.h | 85 uint64_t modseq; member in struct:mail_search_modseq 105 struct mail_search_modseq *modseq; member in struct:mail_search_arg::__anon147
|
H A D | mail-search.c | 80 /* fall through - modseq with keyword */ 316 new_arg->value.modseq = 318 *new_arg->value.modseq = *arg->value.modseq; 651 const struct mail_search_modseq *m1 = arg1->value.modseq; 652 const struct mail_search_modseq *m2 = arg2->value.modseq; 654 return m1->modseq == m2->modseq &&
|
H A D | mail-search-args-imap.c | 259 switch (arg->value.modseq->type) { 272 str_printfa(dest, "%"PRIu64, arg->value.modseq->modseq);
|
/dovecot/src/doveadm/dsync/ |
H A D | dsync-transaction-log-scan.h | 16 uint64_t modseq, uint64_t pvt_modseq,
|
H A D | dsync-transaction-log-scan.c | 5 #include "mail-index-modseq.h" 281 uint64_t modseq; local 283 /* update message's modseq, possibly by creating an empty flag change */ 296 modseq = rec->modseq_low32 | 299 if (change->modseq < modseq) 300 change->modseq = modseq; 302 if (change->pvt_modseq < modseq) 303 change->pvt_modseq = modseq; 309 log_add_attribute_update_key(struct dsync_transaction_log_scan *ctx, const char *attr_change, uint64_t modseq) argument 332 log_add_attribute_update(struct dsync_transaction_log_scan *ctx, const void *data, const struct mail_transaction_header *hdr, uint64_t modseq) argument 347 dsync_log_set(struct dsync_transaction_log_scan *ctx, struct mail_index_view *view, bool pvt_scan, struct mail_transaction_log_view *log_view, uint64_t modseq) argument 408 dsync_log_scan(struct dsync_transaction_log_scan *ctx, struct mail_index_view *view, uint64_t modseq, bool pvt_scan) argument 501 dsync_transaction_log_scan_init(struct mail_index_view *view, struct mail_index_view *pvt_view, uint32_t highest_wanted_uid, uint64_t modseq, uint64_t pvt_modseq, struct dsync_transaction_log_scan **scan_r, bool *pvt_too_old_r) argument [all...] |
H A D | dsync-mailbox.c | 23 dest_r->modseq = src->modseq;
|
H A D | dsync-mailbox.h | 29 uint64_t modseq; /* 0 = unknown */ member in struct:dsync_mailbox_attribute
|
H A D | dsync-mail.h | 63 /* Message's current modseq (saves, flag changes) */ 64 uint64_t modseq; member in struct:dsync_mail_change 65 /* Message's current private modseq (for private flags in
|
H A D | dsync-mail.c | 145 dest_r->modseq = src->modseq;
|
H A D | dsync-mailbox-import.c | 374 attr->modseq = attr_change->modseq; 489 } else if (local_attr->modseq <= importer->last_common_modseq && 490 attr->modseq > importer->last_common_modseq && 495 } else if (local_attr->modseq > importer->last_common_modseq && 496 attr->modseq <= importer->last_common_modseq && 526 if (attr->modseq > local_attr->modseq) { 527 /* remote has a higher modseq -> use it */ 528 *result_r = "Remote has newer modseq"; [all...] |
/dovecot/src/lib-storage/index/ |
H A D | index-rebuild.c | 6 #include "mail-index-modseq.h" 72 uint64_t modseq; local 86 /* copy modseq */ 87 modseq = mail_index_modseq_lookup(view, old_seq); 88 mail_index_update_modseq(ctx->trans, new_seq, modseq); 120 uint64_t modseq; local 163 /* set highest-modseq */ 167 modseq = mail_index_modseq_get_highest(ctx->backup_view); 168 if (modseq_hdr.highest_modseq < modseq) 169 modseq_hdr.highest_modseq = modseq; [all...] |
/dovecot/src/doveadm/ |
H A D | doveadm-dump-log.c | 42 printf("initial modseq = %"PRIu64"\n", hdr.initial_modseq); 93 name = "modseq-update"; 242 uint64_t *modseq) 310 if (*modseq == 0 && intro->name_size == 6 && 311 memcmp(name, "modseq", 6) == 0) 312 *modseq = 1; 413 printf(" - uid=%u modseq=%"PRIu64"\n", rec->uid, 468 static int dump_record(struct istream *input, uint64_t *modseq, argument 509 uint64_t prev_modseq = *modseq; 510 mail_transaction_update_modseq(&hdr, data, modseq, versio 240 log_record_print(const struct mail_transaction_header *hdr, const void *data, size_t data_size, uint64_t *modseq) argument 523 uint64_t modseq; local [all...] |