[ingo] Configuring VFS 'file' driver for maildrop

Murdo Morrison murdo at isle-of-harris.com
Sat Aug 9 19:56:36 UTC 2008


Hi I've been configuring backend.php in Ingo to create local courier 
maildrop files.  The configuration below works ok but I had issue 
creating correct file_perms.  The example has 0640 which I assumed to be 
rw-r----- but it turns out that what is actually required is the decimal 
of this octal number, so 644 for rw-r--r-- needs file perms for '420' 
and rw-r----- isn't 640 but 416.

Is this a bug or is it expected behaviour, if its expected then perhaps 
there should be a comment in backends.php.dist to explain this... it 
would have saved me some time while trying to figure this out :-)

As it turns out all this was somewhat irrelevant as courier maildrop 
wants owner read write permissions and doesn't care it group/all have 
read only access.  What I have is a standard courier virtual domains 
install where /var/vmail is containing folder and vmail:vmail is 
user/group for all read/write access to this folder.  As indo will run 
in horde via http user I was trying to give group write access to the 
folder so Ingo could create the maildrop file without the need for ftp 
as courier and horde run on same server.  With the backends.php below 
this works but maildrop doesn't like the group writable folder.

What are my options, I'm thinking I could hook ftp server into virtual 
users db and all files will be written as vmail user but I was trying to 
avoid this, the only other option I can think of is ditch vmail user and 
configure courier to use apache as the account for writing mail

Kind regards
Murdo

$backends['maildrop'] = array(
    'driver' => 'vfs',
    'preferred' => '',
    'hordeauth' => true,
    'params' => array(
        // The VFS driver to use
        'vfstype' => 'file',

        // Hostname of the VFS server
        'hostspec' => 'localhost',

        // Name of the maildrop config file to write
        'filename' => '.mailfilter',

        // Set to virtual home dir for mail account
        'vfsroot' => '/var/mail/vmail/' . Auth::getAuth(),

        // Specify permissions for uploaded files if necessary:
        'file_perms' => '420',
    ),
    'script' => 'maildrop',
    'scriptparams' => array(
        // What path style does the IMAP server use ['mbox'|'maildir']?
        'path_style' => 'maildir',
        // Strip 'INBOX.' from the beginning of folder names in generated
        // scripts?
        'strip_inbox' => true,
        // An array of variables to append to every generated script.
        // Use if you need to set up specific environment variables.
        'variables' => array(
            // Example for the $PATH variable
            // 'PATH' => '/usr/bin'
        )
    ),
    'shares' => false
);



More information about the ingo mailing list