[Kolab-devel] [issue742] Problems with Cyrus LMTP failure reporting
kolab-issues at intevation.de
Wed May 11 18:06:23 CEST 2005
New submission from Henning Holtschneider <henning at loca.net>:
A sender will not be informed (e.g. by a 5.5.2 Quota exceed notification
message) if something goes wrong during LMTP delivery from kolabmailboxfilter
We did some research on this and came up with the following problem in PHP's
When /kolab/etc/resmgr/kolabmailboxfilter.php gets called from postfix,
KolabLMTP::start($sender,$recv) doesn't get a proper return value regarding
what really happened if it fails.
A first look at the source revealed that
in /kolab/var/kolab/php/kolabfilter/kolabmailtransport.php at line 53, it says
'return false' where it should say 'return $error' (would also make more
sense), because the if-clause in kolabmailboxfilter.php would never get true as
PEAR::isError wouldn't return true with a parameter-value of 'false'.
After that the script will properly exit when something goes wrong, but Postfix
will try again and again, as it just fails with "temporary failure", even if
cyrus-lmtp is told to fail permanently in imapd.conf. Obviously, it is not
being reported (and decided upon) what really happened, as in PEAR's
Net/LMTP.php in function _parseResponse at the end where it returns failure, it
only returns "Invalid response" and not the real response code from cyrus-lmtp.
So the failure seems to be not properly reported to postfix and the sender will
never get to know that something went wrong.
title: Problems with Cyrus LMTP failure reporting
Kolab issue tracker <kolab-issues at intevation.de>
More information about the devel