[haiku-commits] Re: r43052 - haiku/trunk/src/add-ons/mail_daemon/inbound_protocols/imap/imap_lib

  • From: Clemens <clemens.zeidler@xxxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 26 Nov 2011 20:17:05 +1300

On Fri, 25 Nov 2011 22:15:18 +1300, Axel Dörfler <axeld@xxxxxxxxxxxxxxxx> wrote:


On 24.11.2011 23:59, Clemens wrote:
On Tue, 01 Nov 2011 12:33:23 +1300, <axeld@xxxxxxxxxxxxxxxx> wrote:
Log:
* Work in progress of an IMAP response parser that will replace weak and error prone parsing method that is currently utilized by the IMAP module.
Whats actually your problem/plans with IMAP?

Ah, the man is back, finally! With all due respect, your IMAP

was on vacation :)

implementation is sloppy at best. While IMAP can be parsed in a generic way, you mixed it with the implementation of the commands, and it wasn't able to parse even slight variants (well within the specification). For example, if "OK" was followed by the command name, some commands would just hang, '"' were not parsed when they appeared on places where you didn't expect them, ... Missing breaks that made clear you never tested that code, buffer overruns as you were using sprintf() with a too small buffer.

fair enough, but somehow all commands are working fine on all my servers :) Thought about to add a more sophisticated parser class but since it was working fine I don't wasted time on it.


Then most IMAP servers don't allow opening more than two connections, but since you opened a single one for each inbox in order to use the push (ie. idle) method, this just wouldn't work.

yes there is also bug report for that but what is the solution to watch multiple folders?

When you finally consider that it just didn't work for me, ignores mails that I delete, and just download them on the next connection again, no

you have to delete the mail directly, not trash it. I did it that way because restoring it from trash can be a bit tricky... there where already some discussion about this on the mailing list. should be fixed though!

way to prevent a permanent connection, etc. you might see why I was

I see no reason why you not want to have a permanent connection especially because a reconnect takes a while and causes quite some traffic

tempted to replace it. Since you also pretty much broke POP3

think there where guys including me for who it is (was?) working, bug report please

functionality, I can no longer use Haiku to read my mails since weeks, even though I waited several weeks to update to a newer release just because of those changes. Needless to say, that all didn't really make me feel good. It's nice that git makes it easier to keep branches separate from master/trunk to let a feature ripe before inclusion. I know I've been guilty of putting unfinished code into our repository, too, often enough.


since IMAP is working fine for me I don't think that a branch would had helped much to let it ripen

Cheers,
        Clemens

Other related posts: