Automatically inferring %d on multi-domain virtual install ?
Gabriel L. Somlo
gsomlo at gmail.com
Wed Feb 24 15:12:42 UTC 2016
On Sun, Feb 21, 2016 at 04:20:07AM +0200, Timo Sirainen wrote:
> How about:
>
> passdb {
> driver = passwd-file
> args = username_format=%l /etc/dovecot/passwd.domains
> result_success = continue
> }
>
> passdb {
> .. the real passdb for authentication ..
> }
>
> Where /etc/dovecot/passwd.domains contains:
>
> 10.0.0.100:::::domain=foo.org
> 10.0.0.101:::::domain=bar.org
>
> So the first passdb lookup would set the domain based on IP and then continue for the actual authentication. Or if you don't want it to override an explicit user at domain authentication, this should also work:
>
> 10.0.0.100:::::domain:protected=foo.org
> 10.0.0.101:::::domain:protected=bar.org
>
> Not tested, but should work I think. At least with new enough Dovecot versions.
Sounds promising, thanks for the idea. My current problem is that
passwd.domains "authentication" now fails because user1's password
doesn't match the "empty field" corresponding to
10.0.0.100:::::domain=foo.org
I get:
auth: Info: passwd-file(user1,<remote-ip>,<session>): unknown user
auth: Info: passwd-file(user1,<remote-ip>,<session>): Password mismatch
Hmm, "result_failure = continue" doesn't seem to help, either...
Thanks,
--Gabriel
More information about the dovecot
mailing list