Not intentional, and since it can cause confusion I removed it: 
http://hg.dovecot.org/dovecot-2.2/rev/3a5304b63f88

On 18.4.2014, at 10.54, Axel Luttgens <[email protected]> wrote:

> Hello,
> 
> Still busy with details...
> 
> Considering, as in my previous example, a password_query returning '!' or 
> NULL for the "nologin" column, depending on an account's status (suspended or 
> not).
> 
> Let's consider a suspended user "some.user".
> 
> In the case of a successful authentication, one has:
> 
>       sh-3.2# doveadm auth test some.user goodpassword; echo $?
>       passdb: some.user auth succeeded
>       extra fields:
>         user=some.user
>         nologin
>       0
> 
> On the other hand, in the case of an authentication failure:
> 
>       sh-3.2# doveadm auth test some.user badpassword; echo $?
>       passdb: some.user auth failed
>       extra fields:
>         user=some.user
>         nologin=!
>       77
> 
> So, this is similar to what happens in a connection (pop3, imap...): when 
> present, the nologin info is always taken into account, even in the case of 
> an authentication failure.
> 
> Again, this may raise some concerns about the consistency of such a behavior.
> Is this guaranteed to always behave that way, because of some rationale I'm 
> currently missing, or does it go about some overlooked combination, liable to 
> be inadvertently "corrected" in the future?
> I haven't been able to find a definitive answer in the wiki or in the code 
> about such matters.
> 
> This is particularly important in the case of doveadm, since its output 
> requires parsing for extracting such informations (the exit code alone isn't 
> sufficient); should above behavior be changed without notice, and a script 
> could suddenly take the worst decisions...
> 
> BTW, why:
>         nologin
> in the first output, and:
>         nologin=!
> in the second output?
> 
> 
> TIA,
> Axel

Reply via email to