19 Jun
2008
19 Jun
'08
1:29 a.m.
On Sun, 2008-06-15 at 19:04 -0400, Larry Ludwig wrote:
if ( $result == 0) { @ENV{"SHELL","USER","HOME"} = ($shell,$user,$home); exit 0; } else { exit 1; }
If you want to allow the user, deny=yes passdb check must fail. So exit with 1 in that case.
With deny=yes Dovecot doesn't care about shell or home. USER is most likely also useless unless your check changes it.
If you want to block the user, the checkpassword must succeed. exit 0 doesn't mean success. You have to execute the checkpassword-reply binary as specified by http://wiki.dovecot.org/PasswordDatabase/CheckPassword