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).