Hi Albrecht: On 05/12/2018 03:20:41 PM Sat, Peter Bloomfield wrote:
Hi Albrecht: On 05/12/2018 01:44:40 PM Sat, Albrecht Dreß wrote:Hi all, sorry for the long delay – after a long time, I now have a /very/ preliminary patch for moving Balsa's IMAP support to GIO, via the libnetclient component. First, I tried to re-write larger parts of libbalsa/imap, and failed miserably, due to the complexity of the protocol and the implementation in Balsa.☺The approach I implemented is an extra layer on top of libnetclient, simulating the character-based approach of libbalsa/imap. There is room for improvement (e. g. as libnetclient *guarantees* lines are CRLF terminated, there is no need for extra checks in the IMAP layer). At least, the result is working for me. However, it is not yet finished (read: suitable for human consumption…), but I would highly appreciate if you could try the current status. As the patch is huge, please load it from <http://www.mynetcologne.de/~nc-dreszal/IMAP-Netclient.diff.bz2>. One not yet finished part (apart from thorough testing) is that the logic for configuring a IMAP account (in src/folder-conf.c) is not fully functional. Hovever, this module shares a lot of /almost/ duplicated code with src/mailbox-conf.c, which should be re-factored if possible. As always, any comment is really welcome! Cheers, Albrecht.Thanks for the huge patch, and the huge effort that went into it! The patch applied cleanly, and Balsa built and is running. So far, no debug output when running with G_MESSAGES_DEBUG=imap; is that the correct G_LOG_DOMAIN? I can't tell whether Balsa is really talking to my IMAP server…
Changed 'Security' from 'TLS required' to 'IMAP over SSL (IMAPS)' and now everything works! I use two IMAP accounts, but both are GMail, so my testing is not broad. On the other hand, GMail always seems to be the toughest test for an IMAP client! As I recall, folder-conf and mailbox-conf are a bit of a nightmare. Let me know if I can help fix something! Best, Peter
Attachment:
pgpfSyck4g3wc.pgp
Description: PGP signature