On 16.10.2010, at 9.11, Martin Spuetz wrote: >> Oh, and if you want to make director do the authentication directly, you >> can't currently use passdb vpopmail, because you can't add the proxy=y >> setting to it. Are your users in SQL? You could use passdb sql directly >> then. > > I got it working with passdb sql. I could put the information in the db > too, but it would add a new layer of complexity (master/slave > replication, failover, etc.)
I was thinking that maybe you were already saving the users in SQL and just accessing that via vpopmail. > I digged into the dovecot code and I'm asking you whether this would do > the job for vpopmail? > >> --- passdb-vpopmail.c.o 2010-09-22 19:12:32.000000000 +0200 >> +++ passdb-vpopmail.c 2010-10-16 10:04:50.000000000 +0200 >> @@ -127,6 +127,8 @@ >> if (scheme == NULL) >> scheme = request->passdb->passdb->default_pass_scheme; >> >> + auth_request_set_field(request, "proxy", "y", scheme); >> + >> ret = auth_request_password_verify(request, password, >> tmp_pass, scheme, "vpopmail"); >> safe_memset(crypted_pass, 0, strlen(crypted_pass)); > > It compiles but I haven't tried it yet. Works, I guess, but I'd still rather put it after the password has been verified correct (just before the last callback() call).