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:
Oswald Buddenhagen 2005-12-26 15:02:38 +00:00
parent 9740e7e852
commit 4dc23fee7b

View File

@ -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;