[Tickets #8982] Ingo Procmail vacation rules bug
bugs at horde.org
bugs at horde.org
Thu Apr 22 06:54:04 UTC 2010
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/8982
------------------------------------------------------------------------------
Ticket | 8982
Created By | rene.plattner at uibk.ac.at
Summary | Ingo Procmail vacation rules bug
Queue | Ingo
Version | 1.2.3
Type | Bug
State | Unconfirmed
Priority | 1. Low
Milestone | MYASK
Patch |
Owners |
------------------------------------------------------------------------------
rene.plattner at uibk.ac.at (2010-04-22 02:54) wrote:
I noticed that the vacation rule sends a vacation notice but didn't
deliver the message.
The next message of the same sender is delivered.
This is caused because the last rule with the eh flags checks the
result of the preceding rule. If the sender is not it the vacation
file then the result of formail is an error and the last rule is
executed und the script finish without to deliver the received
message. So we need a carbon copy flag (c) to deliver the received
message.
I added this flag to the last rule and discovered a double delivery of
the message.
Then I used the vacation with a time window an discovered that it works.
Finally I used the time vacation code for the vacation without a time
frame with removed time check rule.
So I updated the code as follows:
--- horde-orig/ingo/lib/Script/procmail.php 2009-09-16
14:37:22.000000000 +0200
+++ horde-dev/ingo/lib/Script/procmail.php 2010-04-21
10:00:29.000000000 +0200
@@ -491,9 +491,9 @@
$this->_action[] = ' :0 Whc:
${VACATION_DIR:-.}/vacation.lock';
if ($timed) {
$this->_action[] = ' * ? test $DATE -gt
$START && test $END -gt $DATE';
- $this->_action[] = ' {';
- $this->_action[] = ' :0 Wh';
}
+ $this->_action[] = ' {';
+ $this->_action[] = ' :0 Wh';
$this->_action[] = ' * ^TO_' . $address;
$this->_action[] = ' * !^X-Loop: ' . $address;
$this->_action[] = ' * !^X-Spam-Flag: YES';
@@ -524,9 +524,7 @@
$reason = addcslashes($reason, "\\\n\r\t\"`");
$this->_action[] = ' ' .
$this->_params['echo'] . ' -e "' . $reason . '" \\';
$this->_action[] = ' ) | $SENDMAIL -f' .
$address . ' -oi -t';
- if ($timed) {
- $this->_action[] = ' }';
- }
+ $this->_action[] = ' }';
$this->_action[] = ' }';
}
}
Kind regards,
Rene Plattner
More information about the bugs
mailing list