[Kolab-devel] [issue742] Problems with Cyrus LMTP failure reporting

Henning Holtschneider 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         
to Cyrus.         
We did some research on this and came up with the following problem in PHP's   
LMTP functions:   
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.

messages: 4557
nosy: hehol
priority: bug
status: unread
title: Problems with Cyrus LMTP failure reporting
Kolab issue tracker <kolab-issues at intevation.de>

More information about the devel mailing list