cURL / Mailing Lists / curl-library / Single Mail


RE: Improving IMAP support

From: Steve Holme <>
Date: Thu, 3 Jan 2013 20:38:04 +0000

Hi Jiri,

> thank you for the responses -- unfortunately I had to take care of
> more stuff than expected before my annual leave at the end of
> the year, so I was not able to prepare anything meaningful in the
> previous weeks. However now I'm back at work and I want to
> resolve this the first thing in the new year, so I went and created
> some cleaner patches with my changes, based on the current GIT
> version (however volatile that might be wrt the current renaming,
> merge of the always-multi branch etc.).

No problem - As you noticed I've started pushing my changes.

> Steve, I noticed you have been touching the IMAP parts recently as
> you said last year and I'm of course afraid you had to do much of the
> work I did as well in the last days -- sorry for the delay if you did. But
> maybe if you are dealing mostly with the login/authentication phase,
> my FETCH/APPEND/CUSTOMREQUEST stuff can still be of some use.

It didn't take too long so not a problem ;-)

> (Also I've seen your inquiry about CAPABILITY support in the test
> server - I familiarized myself with the testsuite and,
> so I can volunteer to test and finalize your tests if you want.)

That would be great - Are you able to verify the patch I posted doesn't break anything first of all?

I will send you the change to test 801 (although it's fairly simple) and the capability patch as well.

> Anyway, I divided the changes into three patches - some
> (curl_)pingpong.c fix and refactoring, the main imap.c stuff, and
> updates to the test suite. There are more comments in the individual
> patch files, however the improvements can be summed as

Thank you.

> The diff of (curl_)imap.c is quite dense, but largely due to me reordering
> the functions a bit to be more readable and clean (IMHO, of course):

I know these things are always subjective but I'm not too happy with the order of the functions either - as I find I end up paging around quite a bit to follow the logic.

However I now have it so that smtp, pop3 and imap are a close match to each other but either way I think we should attack that as a separate issue - either as a pre or post functionality patch.

Additionally, are the pingpong changes required for the new functionality or will the new code work without them?

As I'm sure you are aware, we have a feature freeze next week for v7.29 - I have all my patches ready to push and would like to do these before the weekend is over - then, if possible, I would like to try and commit some of your changes but we might be cutting it a bit fine there unfortunately.

In the meantime I will start to review your changes and thank you again for your efforts so far.

Kind Regards


List admin:
Received on 2013-01-03