[Tickets #7811] .forward file support for procmail mode broken

bugs at horde.org bugs at horde.org
Mon Dec 29 17:24:37 UTC 2008


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/7811
------------------------------------------------------------------------------
  Ticket             | 7811
  Created By         | hermooz at hermooz.net
  Summary            | .forward file support for procmail mode broken
  Queue              | Ingo
  Version            | 1.2.1
  Type               | Bug
  State              | Unconfirmed
  Priority           | 1. Low
  Milestone          |
  Patch              |
  Owners             |
------------------------------------------------------------------------------


hermooz at hermooz.net (2008-12-29 12:24) wrote:

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







More information about the bugs mailing list