Eventually worked out that if a message is delivered by LMTP to several
recipients, then the first recipient gets a correct ENVELOPE, but all the
following recipients get an lcase()ed version. The reason is that
append_fromstage() in 2.3 reuses the "struct body" calculated for the
first recipient. Unfortunately there are some lcase() calls in the middle
of message_write_cache() which overwrite fields in that structure.
The incorrect cyrus.cache entries are replicated as is by sync_client
"UPLOAD PARSED", so master and replica are typically both incorrect.
I'm running a mailstore with fastmail.fm patch for uuidmode: md5.
Should I worry? It seems to me I should.
I don't think so. This only affects cache records. Our uuidmode patch only
calculates the md5 for the message body. The "make_md5" David mentioned is a
completely separate script he runs and maintains to calculate the md5's of
messages and stores the values separately to the existing cyrus structures.
At least I believe that's the case, I'm sure David will comment.
Rob