why would somebody manipulate an expired message? right, he wouldn't:
he would either expunge the mailbox or configure his MUA to hide trashed messages. consequently don't sync expired message flags, let alone interpret them in a special way. one special feature remains, though: if a non-expunged expired message is flagged on the master, it will be unexpired on the slave. i'm not sure whether i should remove or document this feature.
This commit is contained in:
parent
9740e7e852
commit
4dc23fee7b
11
src/sync.c
11
src/sync.c
|
@ -332,16 +332,15 @@ sync_old( int tops, store_t *sctx, store_t *tctx, store_conf_t *tconf, FILE *jfp
|
||||||
unex = 0;
|
unex = 0;
|
||||||
if (srec->status & S_EXPIRED) {
|
if (srec->status & S_EXPIRED) {
|
||||||
if (!pull) {
|
if (!pull) {
|
||||||
if (sflags & F_DELETED) {
|
if (aflags || dflags)
|
||||||
if (!(sflags & F_FLAGGED))
|
info( "Info: Flags of expired message changed in (%d,%d)\n", srec->muid, srec->suid );
|
||||||
aflags &= ~F_DELETED;
|
return SYNC_OK;
|
||||||
} else
|
|
||||||
unex = 1;
|
|
||||||
} else {
|
} else {
|
||||||
if ((sflags & F_FLAGGED) && !(sflags & F_DELETED)) {
|
if ((sflags & F_FLAGGED) && !(sflags & F_DELETED)) {
|
||||||
unex = 1;
|
unex = 1;
|
||||||
dflags |= F_DELETED;
|
dflags |= F_DELETED;
|
||||||
}
|
} else
|
||||||
|
return SYNC_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rflags = (*nflags | aflags) & ~dflags;
|
rflags = (*nflags | aflags) & ~dflags;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user