6.0.0-beta1
7/27/25

[#7811] .forward file support for procmail mode broken
Summary .forward file support for procmail mode broken
Queue Ingo
Queue Version 1.2.1
Type Bug
State Resolved
Priority 1. Low
Owners chuck (at) horde (dot) org
Requester hermooz (at) hermooz (dot) net
Created 12/29/2008 (6054 days ago)
Due
Updated 01/04/2009 (6048 days ago)
Assigned
Resolved 01/04/2009 (6048 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
01/04/2009 04:41:04 PM hermooz (at) hermooz (dot) net Comment #4 Reply to this comment
Fixed; thanks for the analysis.
You're welcome... or even better, thanks to you for your precious work.

Best regards,

Fabrizio


01/04/2009 05:30:05 AM Chuck Hagenbuch Comment #3
Assigned to Chuck Hagenbuch
State ⇒ Resolved
Reply to this comment
Fixed; thanks for the analysis.
12/29/2008 05:24:37 PM hermooz (at) hermooz (dot) net Comment #1
Priority ⇒ 1. Low
Patch ⇒ No
Milestone ⇒
Queue ⇒ Ingo
Summary ⇒ .forward file support for procmail mode broken
Type ⇒ Bug
State ⇒ Unconfirmed
Reply to this comment
Ingo backends file instructions tells to define 'forward_file" and 
"forward_string" additional parameters for dealing with mail servers 
that allow application of procmail rules only on a per user basis. In 
the example backends.php.dist file these parameters are, indeed, in 
the $param array; however, the vfs.php driver tries to find them in 
the wrong place, i.e. at row 76:

if ($backend['script'] == 'procmail' && 
isset($backend['forward_file']) && isset($backend['forward_string'])) {



problem is that $backend['forward_file'] is not defined, so that 
condition is never true even if you uncomment the definitions in the 
backends.php file.



I don't know if it's the backends.php.dist file or the vfs.php that's 
wrong. I've resolved changing the following rows of the latter one:



         if ($backend['script'] == 'procmail' && 
isset($backend['params']['forward_file']) && 
isset($backend['params']['forward_string'])) {

             if (empty($script)) {

                 $result = 
$this->_vfs->deleteFile($this->_params['vfs_forward_path'], 
$backend['params']['forward_file']);

             } else {

                 $result = 
$this->_vfs->writeData($this->_params['vfs_forward_path'], 
$backend['params']['forward_file'], $backend['params']['forw

                 // Horde::logMessage("sono nel forward");

             }

             if (is_a($result, 'PEAR_Error')) {

                 return $result;

             }



             if (isset($this->_params['file_perms']) && !empty($script)) {

                 $result = 
$this->_vfs->changePermissions($this->_params['vfs_forward_path'], 
$backend['params']['forward_file'], $this->_params['

                 if (is_a($result, 'PEAR_Error')) {

                     return $result;

                 }

             }

         }

------------------------------------

This way it's all working correctly (and I must say that ti is a GREAT 
solutions for forward and vacation! Much better than any other webmail 
I've tested).

Best regards,

Fabrizio


Saved Queries