[Dovecot] Thunderbird problem

tomas at tuxteam.de tomas at tuxteam.de
Sun Jun 27 17:00:44 EEST 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sun, Jun 27, 2010 at 04:04:39AM -0500, Stan Hoeppner wrote:
> tomas at tuxteam.de put forth on 6/26/2010 11:52 PM:
> 
> > The references are spot-on. The IDLE command is just designed to notify
> > changes to the *selected* mailbox [...]

> None of this is laid out in RFC2177.

Maybe not explicitly. But have you looked at 2177? The way it works is
thus:

  (1) client says SELECT <mailbox>
  (2) server says OK (among other things)
  (3) client says IDLE
  (4) server says + (meaning: I'm waiting for more)

  (5) now connection is quiescent until:

  (6) either server says EXISTS (or EXPUNGE)

  (7) client ends IDLE with DONE

Note that at step 7 in this example scenario, server has *no way to say
to which mailbox this EXISTS refers to*. It mus refer to the selected
mailbox and just to that.

That means that the way IDLE is specified, only notofications referring
to one mailbox can be received.

> None of the relevant things we're discussing are in RFC2177 anyway.

See above: RFC2177 tells us: "one connection per mailbox", and...

>                                                                     They're
> in RFC3501, which is rather lengthy.

...RFC3501 tries to fix exactly that.

> Regardless, my point is valid and stands:  there is no (good) reason for the
> protocol to require multiple socket connections when everything can be
> accomplished more efficiently (in terms of resources consumed) over a single
> socket.

Well, that's the point of IMAP NOTIFY in RC3501. If this extension is
implemented, one socket will suffice to receive notifications concerning
several mailboxes. As long as we don't have that, clients will work
around the limitations of NOTIFY by opening several connections. That's
what Patrick was saying upthread:

  "Or even better: IMAP NOTIFY [2] gets implemented in dovecot and in
   Thunderbird, and one TCP connection suffices for an arbitrary amount
   of "push" folders :)"

>         I'm sure many people more qualified than me have pointed this out WRT
> the IMAP protocol over the years.

I don't exactly know what you mean by "this". Before the IDLE extension,
there was no (portable) way to get notifications via IMAP at all:
clients had to poll. After the IDLE extension, there's just one mailbox
per connection (no way to argue around that: the protocol is just
designed this way) the client gets nudged. As this was seen as a
limitation, now there's IMAP NOTIFY, which just does what you ordered.
Now to convince client and server implementors to use it :-)

Regards
- -- tomás
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFMJ1mMBcgs9XrR2kYRAs0JAJ0b7vmolytQgw8xAk/lLO+HZ5SqdgCcCh0D
wjqLKE/nWpTzfvcjpIh/OLM=
=p4Jd
-----END PGP SIGNATURE-----


More information about the dovecot mailing list