Hi, using dovecot 2.0 and I'm using a couple of user DBs, sql/prefetch and pam. Currently if the user logins with username at domain it authenticates off the sql DB and works fine. If the user logins with username with no @domain it fails on the sql lookup and succeeds on the pam user DB. However I was wondering if I can have another sql DB lookup that says when the user logins and fails against the first two user DBs, sql/pam db, to try this last sql user DB and appends a default domain to it, because the sql DB lists username with the domain. Currently I have all users login in with no realm on the older mail server and I wanted to migrate these users to dovecot 2.x with minimal impact and wanted to have the ability for these virtual users to login with and without a realm. Thanks paul.
You could use just sql to query for the username or username at domain like
this ( i'm not a sql guru so any optimization is welcome) , this is how
it works on my server with mysql (see user_query) :
password_query = SELECT mailbox.password FROM mailbox,domain WHERE \
domain.default = '1' AND \
(mailbox.username = '%Ln' AND mailbox.domain = '%Ld' ) OR \
(mailbox.username = '%Ln' AND mailbox.domain = domain.domain ) AND
\
mailbox.active = '1'
user_query = SELECT CONCAT('/srv/vmail/',mailbox.domain,'/%Ln')
AS
'home' ,'98' AS 'uid', '98' AS 'gid' , \
CONCAT('*:storage=', mailbox.quota,'M') AS quota_rule FROM
mailbox,domain WHERE \
domain.default = '1' AND \
(mailbox.username = '%Ln' AND mailbox.domain = '%Ld' ) OR \
(mailbox.username = '%Ln' AND mailbox.domain = domain.domain ) AND
\
mailbox.active = '1'
Adrian Stoica
On 1/19/2011 7:36 PM, PA wrote:> Hi, using dovecot 2.0 and I'm using a couple of user DBs, sql/prefetch
and
> pam. Currently if the user logins with username at domain it authenticates
off
> the sql DB and works fine. If the user logins with username with no @domain
> it fails on the sql lookup and succeeds on the pam user DB.
>
> However I was wondering if I can have another sql DB lookup that says when
> the user logins and fails against the first two user DBs, sql/pam db, to
try
> this last sql user DB and appends a default domain to it, because the sql
DB
> lists username with the domain. Currently I have all users login in with no
> realm on the older mail server and I wanted to migrate these users to
> dovecot 2.x with minimal impact and wanted to have the ability for these
> virtual users to login with and without a realm.
>
>
>
> Thanks paul.
>
>
--
*DACRIS*
Papet?rie & Tipografie
Otopeni - ROM?NIA, Jud. Ilfov
Str. Ardealului nr.9F
TEL.: (004) 021 350 67 57
FAX: (004) 021 350 67 59
e-mail: office at dacris.net <mailto:office at dacris.net>
www.dacris.net <http://www.dacris.net>
Adopta atitudinea VERDE
Printeaza acest document doar daca ai cu adevarat nevoie.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: adrian_stoica.vcf
Type: text/x-vcard
Size: 195 bytes
Desc: not available
URL:
<http://dovecot.org/pipermail/dovecot/attachments/20110120/2106dac0/attachment-0002.vcf>
Basically after thinking about it I added another SQL user/password DB
lookup that has a default domain name on the sql query.
passdb {
args = /usr/local/etc/dovecot/sql.conf.ext
driver = sql
}
passdb {
args = /usr/local/etc/dovecot/sql.conf2.ext
driver = sql
}
passdb {
driver = pam
}
userdb {
driver = prefetch
}
userdb {
args = /usr/local/etc/dovecot/sql.conf.ext
driver = sql
}
userdb {
args = /usr/local/etc/dovecot/sql.conf2.ext
driver = sql
}
password_query = SELECT username as user, password,
concat('/var/vmail/test2000.com/', maildir) as userdb_home,
concat('maildir:/var/vmail/test2000.com/', maildir) as userdb_mail, 101
as
userdb_uid, 502 as userdb_gid, concat('user quota:messages=+:storage=+',
quota) AS userdb_quota_rule FROM mailbox WHERE username = '%n at
test2000.com'
user_query = SELECT maildir, 101 AS uid, 502 AS gid, concat('user
quota:messages=+:storage=+', quota) as quota_rule FROM mailbox WHERE
username = '%n at test2000.com' AND active = '1'
-----Original Message-----
From: dovecot-bounces+razor=meganet.net at dovecot.org
[mailto:dovecot-bounces+razor=meganet.net at dovecot.org] On Behalf Of PA
Sent: Wednesday, January 19, 2011 12:36 PM
To: 'Dovecot Mailing List'
Subject: [Dovecot] domain stripping
Hi, using dovecot 2.0 and I'm using a couple of user DBs, sql/prefetch and
pam. Currently if the user logins with username at domain it authenticates off
the sql DB and works fine. If the user logins with username with no @domain
it fails on the sql lookup and succeeds on the pam user DB.
However I was wondering if I can have another sql DB lookup that says when
the user logins and fails against the first two user DBs, sql/pam db, to try
this last sql user DB and appends a default domain to it, because the sql DB
lists username with the domain. Currently I have all users login in with no
realm on the older mail server and I wanted to migrate these users to
dovecot 2.x with minimal impact and wanted to have the ability for these
virtual users to login with and without a realm.
Thanks paul.