Re: [SPAM] [suggestion] vdelivermail environment changes

Eric Shubert <[email protected]> Tue, 26 Nov 2013 08:57:19 -0700
Newsgroups gmane.mail.vpopmail
Organization Eric Shubert & Associates
Message-ID <[email protected]>
On 08/21/2013 05:58 AM, Laurent Bercot wrote:
>   Hello,
>
>   I am installing vpopmail together with dovecot.
>   Mail must be delivered to /home/vpopmail/domains/<domain>/<user>/Maildir,
> not by vdelivermail itself, but by dovecot-lda (to keep index files updated,
> among other things).
>   So, I write a /home/vpopmail/domains/<domain>/<user>/.qmail file,
> containing simply
>
>   | preline -f dovecot-lda
>
>   as the dovecot instructions say.
>
>   But it does not work: mail gets delivered to
> /home/vpopmail/domains/<domain>/Maildir - which is definitely not
> what I want if I have more than one user. :)
>   I have investigated and found the source of the problem: when
> dovecot-lda is run, the virtual user's home directory, contained in
> the HOME environment variable, is not
> /home/vpopmail/domains/<domain>/<user> as it should be. It is still
> /home/vpopmail/domains/<domain>, the value it has when vdelivermail
> is executed.
>
>   It makes sense to have HOME=/home/vpopmail/domains/<domain> when
> executing vdelivermail, because that's the correct home for the
> <domain>-<user>@<domain> virtual user from qmail-local's point of view.
> However, when vdelivermail processes a dot-qmail file itself in
> /home/vpopmail/domains/<domain>/<user>, it knows what the right
> home for <user>@<domain> is, and should adjust HOME accordingly before
> running other programs in the qmail-command fashion.
>
>   I am currently modifying HOME myself before executing into
> dovecot-lda, in the .qmail file, and it's working perfectly. However,
> it would be cleaner if vdelivermail did this itself.
>
>   It would also be a lot cleaner if vdelivermail hid the <domain>-<user>
> thing under the rug: once qmail-send has been fooled and control has
> been given to vdelivermail, the virtualdomains hack is not necessary
> anymore, and is only confusing to software run in further .qmail files.
> For instance, a qreceipt instruction in a
> /home/vpopmail/domains/<domain>/<user>/.qmail file currently has to be:
>
> | qreceipt $EXT@$HOST
>
> But it really should be
>
> | qreceipt $USER@$HOST
>
> like with system users. Also, specific workarounds have to be enabled
> to make ezmlm lists work under vpopmail; if vdelivermail was putting
> the right environment variables back, ezmlm would work out of the box.
>
>   Please consider this change - along with a new, vpopmail-specific
> environment variable so vpopmail-aware applications still know that
> the address is virtual and really handled by vpopmail.
>
>   Developer bait: with this change, vdelivermail wouldn't have to perform
> MDA duties itself anymore. If it found a user in the vpasswd
> database, it could just hand the delivery to qmail-local. :)
>
>   Thank you,
>

Anything further on this?

I'm going to be looking at integrating dovecot-lda in QmailToaster, and 
would consider making these changes. I need to examine the situation in 
more detail before committing to this though.

FWIW, I've already modified the vpopmail QMT package to:
.) build as a non-root user
.) create a vpopmail-devel package with includes and libs
.) put /include and /lib in their typical locations

FWIW2, I'm toying with the idea of making the vpopmail QMT package LSB 
compliant (which very few packages actually are).

Thanks.

-- 
-Eric 'shubes'


!DSPAM:5294c4e734262887015494!