Funny enough I have it on aliases for years and still works great :) 

Inviato da iPhone ()


Il giorno 05/ago/2012, alle ore 11:28, Tom Collins <t...@tomlogic.com> ha 
scritto:

> Haven't read your whole email, so I apologize if I'm off base. 
> 
> vdelivermail should only go in .qmail-default. It should not go in 
> .qmail-alias files. If you're using it there, you will have problems. 
> 
> -Tom
> (Sent from my phone; forgive my brevity)
> 
> On Aug 5, 2012, at 1:13 PM, Luke vpopmail <luke+lists+vpopm...@hiled.biz> 
> wrote:
> 
>> 
>> Hi Guys,
>> 
>> I've been a Qmail users since Peter Samuel at SLUG.org.au did his talk a
>> long long time ago.
>> 
>> Now down to business. I have an issue with vpopmail failing with
>> virtualmin, a webmin spin off..
>> http://www.virtualmin.com/node/22970
>> 
>> Basically what happening is this, virtualmin is configuring
>> |/var/vpopmail/bin/vdelivermail user@domain for aliases and it's breaking..
>> Why it's breaking I don't exactly know why, because according to the valias
>> code pipes are supported.
>> 
>> I seek confirmation on the mysql implementation of vmail aliases.
>> 
>> * multiple aliases for the same domain are supported (true)
>> * if qmail extensions are used (user-ext@domain) in aliases they will be
>> used INSTEAD of the user's alias (?)
>> * qmail extensions are supported on aliases if there is not a better match
>> (see above)
>> ? how do qmail extensions on aliases flow through to the user accounts ?
>> * pipes are supported (true) (see caveat)
>> * &forwarding is supported - in order to support non-standard email naming
>> conventions i.e. dot qmail compliancy (true?)
>> * mbox delivery is not supported (true)
>> * if no hostname is provided on alias it will use
>> /var/qmail/control/defaultdelivery (true? seems to be using
>> /var/qmail/bin/qmail-inject at some point noenvhost is ignored)
>> * aliases are processed before users (true)
>> * if the database is down, a soft delivery delay occurs (true)
>> * mail loops for valiases only are detected (true) (not for user accounts
>> bouncing back to a valias??)
>> * delivery to maildir folders are supported if the full path is specified
>> (true)
>> * delivery to maildir folders are supported for relative paths in relation
>> to vpopmail's home directory defined in /etc/passwd (true?) i.e. ./domains/
>> hiled.biz/user/.maildir/ is prepended by vpopmail's home directory
>> * a maildir folder needs a ./ or a / at the beginning of the line to be
>> processed (true/false?)
>> * anything else that should go into the readme file thats not there....
>> 
>> I do hope some people can look at that virtualmin ticket to theorize why
>> vdelivermail doesn't like calling itself to do another delivery.
>> The issue doesn't affect me, it's just that some other setup's and indeed
>> virtualmin's non-sql-backend setups are all doing it this way.
>> It did take day to hunt down, but finally my pain is over (i never thought
>> of checking the valias database)
>> 
>> I'm also petitioning virtualmin to be fixed fixed to work with gentoo's
>> defacto .maildir defaultdelivery standard for qmail. They had hardcoded
>> ./Maildir in their source.
>> 
>> Speaking of the maildrop patch for virtualmin, I don't like it in it's
>> current form. It's messy.
>> I think that vpopmail should support this setup instead.
>> 
>> 1) If a domain is not owned by vpopmail:vckpwd/vpopmail still configure
>> /var/qmail/users/assign to use uid/gid 89 (vpopmail) - see below, this
>> should be configured by a #ifdef MAILDROP
>> 2) Add maildrop to your system as SUID with it set up that vpopmail is a
>> trusted user. --configure-trusted-users=x,y,z,vpopmail in maildrop
>> configure script.
>> [ Due to the amount of personal information vpopmail system could release,
>> it should be pretty locked down anyway if any system administrator is worth
>> his salt.]
>> 3) I patched vdelivermail to spawn vpopmail in LDA mode.
>> --- vdelivermail.c.orig    2012-08-03 06:51:43.397294158 +0000
>> +++ vdelivermail.c    2012-08-03 07:56:38.802799846 +0000
>> @@ -409,7 +409,7 @@
>> #ifdef MAILDROP
>>      if ( limits.disable_maildrop==0 && vpw!=NULL &&
>>           !(vpw->pw_gid & NO_MAILDROP) ) {
>> -    sprintf(maildrop_command, "| preline %s", MAILDROP_PROG);
>> +    sprintf(maildrop_command, "| preline %s -a -d %s@%s", MAILDROP_PROG,
>> TheUser, TheDomain);
>>    run_command(maildrop_command);
>>    DeleteMail = 1;
>>    return(0);
>> This way maildrop sets up the home directory, the maildir directory and the
>> appropriate user ID tself. You can still have site-wide configuration by
>> /etc/maildroprc
>> 4) To make point #3 working you need courier-authlib working. They have
>> just recently the removed vpopmail authentication backend. However SQL /
>> LDAP or whatever vpopmail uses can be queried. Here is an an example for
>> mysql.
>> 
>> /etc/courier/authlib/authmysqlrc:
>> #address of mysql server
>> MYSQL_SERVER            localhost
>> 
>> #login for mysql
>> MYSQL_USERNAME          vpopmail
>> 
>> #password for mysql
>> MYSQL_PASSWORD          secret
>> # of course i don't use the default password ^%%
>> #path to mysql socket
>> MYSQL_SOCKET            /var/run/mysqld/mysqld.sock
>> 
>> #mysql port
>> #MYSQL_PORT              3306
>> 
>> #mysql options (leave alone)
>> MYSQL_OPT               0
>> 
>> #name of mysql database
>> MYSQL_DATABASE          vpopmail
>> MYSQL_USER_TABLE        vpopmail
>> #mysql charset to use
>> MYSQL_CHARACTER_SET     utf8
>> 
>> #default domain to use, when no domain is supplied by user
>> DEFAULT_DOMAIN          hiled.biz
>> 
>> #MYSQL_CRYPT_PWFIELD     pw_passwd
>> #MYSQL_CLEAR_PWFIELD    pw_clear_passwsd
>> #MYSQL_LOGIN_FIELD       CONCAT(pw_name, '@', pw_domain)
>> #MYSQL_NAME_FIELD        pw_gecos
>> #MYSQL_HOME_FIELD        pw_dir
>> #MYSQL_QUOTA_FIELD       pw_shell
>> #MYSQL_UID_FIELD
>> #ISNUMERIC(pw_shell) AS quota,
>> 
>> 
>> MYSQL_SELECT_CLAUSE     SELECT CONCAT(pw_name, '@', pw_domain) AS username,
>> \
>>                       pw_passwd AS cryptpw, \
>>                       pw_clear_passwd AS clearpw, \
>>                       if (pw_uid = '0','89',pw_uid) AS uid, \
>>                       if (pw_uid = '0','89',pw_gid) AS gid, \
>>                       pw_dir AS home, \
>>                       CONCAT(pw_dir, '/.maildir/') AS maildir, \
>>           if (pw_shell = 'NOQUOTA', '', pw_shell) AS quota, \
>>                       pw_gecos AS fullname, \
>>                       'disablewebmail=0,disablepop3=0,disableimap=0' AS
>> options \
>>                       FROM vpopmail  WHERE \
>>                       pw_name = '$(local_part)' AND pw_domain =
>> '$(domain)';
>> 
>> MYSQL_ENUMERATE_CLAUSE  SELECT CONCAT(pw_name, '@', pw_domain) AS
>> username,             \
>>                       pw_passwd AS cryptpw, \
>>                       pw_clear_passwd AS clearpw, \
>>                       if (pw_uid = '0','89',pw_uid) AS uid, \
>>                       if (pw_uid = '0','89',pw_gid) AS gid, \
>>                       pw_dir AS home, \
>>                       CONCAT(pw_dir, '/.maildir/') AS maildir, \
>>           if (pw_shell = 'NOQUOTA', '', pw_shell) AS quota, \
>>                       pw_gecos AS fullname, \
>>                       'disablewebmail=0,disablepop3=0,disableimap=0' AS
>> options \
>>                       FROM vpopmail;
>> 
>> MYSQL_CHPASS_CLAUSE     UPDATE vpopmail \
>>           SET pw_clear_passwd='$(newpass)', \
>>               pw_passwd='$(newpass_crypt)' \
>>           WHERE pw_name='$(local_part)' \
>>           AND pw_domain = '$(domain)' ;
>> 
>> I think pw_gid should be hardcoded as 89, though it shouldn't matter as all
>> mail is umasked 007 anyway.
>> 
>> As you can see it works.
>> crm authlib # authtest u...@hiled.biz
>> Authentication succeeded.
>> 
>>    Authenticated: u...@hiled.biz  (uid 89, gid 89)
>>   Home Directory: /var/vpopmail/domains/hiled.biz/user
>>          Maildir: /var/vpopmail/domains/hiled.biz/user/.maildir/
>>            Quota: 536870912S
>> 
>> Should I have a / on the end of the .maildir in maildrop? I've seen
>> examples of it not there.
>> Now I can have some scripting (per site and per user) before the real LDA -
>> from dovecot gets called. No messy configuration in vpopmail either.
>> 
>> What do you think? Can the maildrop patch be updated to be less of a hack
>> and more of a real LDA, to have it called the same way it is from courier /
>> postfix?
>> 
>> Cheers,
>> 
>> Luke
> 
> 
> 
> 
> 
> 

!DSPAM:501eeb4634211220212709!

Reply via email to