Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Suggested Fix] - iCloud sychronization fails because of malformed IMAP response to UID FETCH #1967

Open
BasTossings opened this issue Feb 10, 2023 · 0 comments
Labels

Comments

@BasTossings
Copy link

Summary

Hi all, I would like to inform the devs that I discovered an iCloud server issue that affects many email clients (including all currently using MailCore2) and causes them to crash or not synchronize properly when used with iCloud IMAP accounts.

For an example of this issue in a client utilizing MailCore2, see The Eternal Sync Bug

Issue description

In short, some messages in iCloud's IMAP reply to an UID FETCH request contain ENVELOPE's that have a Message-ID containing unescaped double quotes. This causes the parser to fault and the fetch command to fail.

This in turn results in some clients crashing or getting stuck in the synchronization process because they keep retrying the UID FETCH and it keeps faling.

Solution

The issue is on Apple's side and should ideally be fixed by them. I've opened an issue with Apple to this end but their track record responding to these is not great.

In the mean while, I implemented a workaround in libetpan, which is used by MailCore2 to communicate with IMAP servers. This workaround should provide a temporary reolsution of the issue until Apple fixes it on their side.

See: dinhvh/libetpan#426

The workaround still needs to be accepted by the people responsible for maintaining libetpan though, and will require that MailCore2 integrates this new version of libetpan and in turn requires email client authors to update their MailCore2 to that version. I hope I can get this going asap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant