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!