[Dovecot] bug with rsh/ssh connections

David Lee t.d.lee at durham.ac.uk
Thu Oct 5 15:10:30 UTC 2006


(Using rc7 code)

There seems to be a bug in rsh/ssh-style connections.


For reference, on a normal imap connection (port 143, 993, etc.) things
are OK. The imap session ends (from a client-end command "a logout") thus:
---
a logout
* BYE Logging out
a OK Logout completed.
Connection closed by foreign host.
unix-prompt%
---


But when the connection had been established using rsh or ssh to the
servers's "/etc/rimapd" which contains:
   exec /usr/dovecot/sbin/dovecot --exec-mail imap
the session ends thus:
---
a logout
* BYE Logging out
a OK Logout completed.
imap(<username>): Info: Disconnected: Logged out
unix-prompt%
---


Note that additional, protocol-breaking, "imap(...): Info ..." line.

This seems to be coming from "imap/cmd-logout.c" calling:
   client_disconnect(client, "Logged out");
which in turn ("imap/client.c") does:
   i_info("Disconnected: %s", reason);


On the imap connection, this "i_info(...)" output goes (correctly) to
syslog, but on the rsh/ssh connection this output seems to go to something
like stdout.


This strongly suggests a bug: an inconsistency between the two connection
types, possibly regarding the way that stdout, stderr, syslog etc. are
initialised, assigned, adjusted, etc.


-- 

:  David Lee                                I.T. Service          :
:  Senior Systems Programmer                Computer Centre       :
:                                           Durham University     :
:  http://www.dur.ac.uk/t.d.lee/            South Road            :
:                                           Durham DH1 3LE        :
:  Phone: +44 191 334 2752                  U.K.                  :


More information about the dovecot mailing list