Christoph Bußenius
2012-Nov-12 09:49 UTC
[Dovecot] Invalid Managesieve commands are counted twice
Hi,
the Managesieve server closes the connection if it receives an unknown
command before authentication:
"IMPLEMENTATION" "Dovecot Pigeonhole"
"SIEVE" "fileinto reject envelope encoded-character vacation
subaddress
comparator-i;ascii-numeric relational regex imap4flags copy include
variables body enotify environment mailbox date ihave"
"NOTIFY" "mailto"
"SASL" "PLAIN"
"STARTTLS"
"VERSION" "1.0"
OK "Dovecot ready."
--> BOGUS
NO "Error in MANAGESIEVE command received by server."
NO "Error in MANAGESIEVE command received by server."
BYE "Too many invalid MANAGESIEVE commands."
Connection closed by foreign host.
Note that only one bogus command has been sent by the client, however
the server sends two identical error messages.
This seems to be a bug in Pigeonhole 0.3.3. In version 0.2.6, the
connection was kept open after the error message.
This is actually important to us because we use the "sieveshell"
utility
which is shipped with the Python "managesieve" package. The
managesieve.py module always sends a BOGUS command after the TLS
handshake. According to its comments, this is done to work around
problems with other server implementations:
# Some servers send capabilities after TLS handshake, some
# do not. We send a bogus command, and expect a NO. If you
# get something else instead, read the extra NO to clear
# the buffer.
typ, data = self._command('BOGUS')
(The full source is at http://pydoc.net/managesieve/0.4.2/managesieve)
As a result, sieveshell cannot be used with TLS and a current
Dovecot/Pigeonhole server.
Cheers,
Christoph
--
Christoph Bu?enius
Rechnerbetriebsgruppe der Fakult?ten Informatik und Mathematik
Technische Universit?t M?nchen
+49 89-289-18519 <> Raum 00.05.040 <> Boltzmannstr. 3 <>
Garching
Stephan Bosch
2012-Nov-12 10:18 UTC
[Dovecot] Invalid Managesieve commands are counted twice
On 11/12/2012 10:49 AM, Christoph Bu?enius wrote:> Hi, > > the Managesieve server closes the connection if it receives an unknown > command before authentication: > > Note that only one bogus command has been sent by the client, however > the server sends two identical error messages. > > This seems to be a bug in Pigeonhole 0.3.3. In version 0.2.6, the > connection was kept open after the error message.It is a bug.> As a result, sieveshell cannot be used with TLS and a current > Dovecot/Pigeonhole server.I fixed this a while back, but hasn't been released so far: http://hg.rename-it.nl/dovecot-2.1-pigeonhole/rev/ceef02768dee Regards, Stephan.