Sieve server dropping connections after NOOP
David Mayo
D.J.Mayo at bath.ac.uk
Tue Dec 15 09:40:17 EST 2009
After installing a security certificate on our new IMAP back end server,
our web-based sieve script manager broke.
The web script uses the Perl Net::Sieve library to connect to the IMAP
server. It will always try to initiate a secure connection if STARTTLS
is advertised. After it has successfully negotiated, it issues a NOOP to
"resynchronise" the connection. The server responds to the NOOP by
ending the connection[1]. When the server was not advertising STARTTLS,
a NOOP was never issued by the client so never saw these problems.
Looking further, typing any command that the server doesn't recognise
results in the connection being dropped. We have tried this on our
production 2.3.13 server and a test server running 2.3.15 (in a
non-Murder environment). NOOP itself is listed as part of the
MANAGESIEVE protocol so presumably this behaviour is contrary to the
RFC. Additionally the server should be returning NO responses to
unrecognised commands rather than ending the connection.
I can work around our local problems but I wanted to know if this
happens to other people and see if the developers can fix this problem.
Regards,
Dave.
David Mayo
Networks/Systems Administrator
University of Bath Computing Services, UK
[1] debug output from Net::Sieve
<<< "IMPLEMENTATION" "Cyrus timsieved (Murder) v2.3.13"
<<< "SASL" "PLAIN GSSAPI"
<<< "SIEVE" "comparator-i;ascii-numeric fileinto reject vacation
imapflags notify envelope relational regex subaddress copy"
<<< "STARTTLS"
<<< OK
>>> STARTTLS\r\n
<<< OK "Begin TLS negotiation now"
--- TLS activated here
>>> NOOP\r\n
<<< "IMPLEMENTATION" "Cyrus timsieved (Murder) v2.3.13"
<<< "SASL" "PLAIN GSSAPI"
<<< "SIEVE" "comparator-i;ascii-numeric fileinto reject vacation
imapflags notify envelope relational regex subaddress copy"
<<< OK
Broken Pipe
[2]
$ telnet sauber sieve
"IMPLEMENTATION" "Cyrus timsieved (Murder) v2.3.13"
"SASL" "PLAIN GSSAPI"
"SIEVE" "comparator-i;ascii-numeric fileinto reject vacation imapflags
notify envelope relational regex subaddress copy"
"STARTTLS"
OK
NOTACOMMAND
Connection closed by foreign host.
More information about the Info-cyrus
mailing list