Hi Pascal,
Pascal Volk wrote:
ManageSieve uses the wrong™ service name for the authdb lookup.
With dovecot-1.2-managesieve the service name was changed from
'managesieve' to 'sieve'. So I altered my table layout in order to make
the query "SELECT userid AS "user", password FROM dovecotpassword('%Ln',
'%Ld') WHERE %Ls" work again.
When I try to login on the sieve port 4190/tcp, I find this in my
dovecot.log:
auth: Error: pgsql: Query failed, retrying: ERROR: column "managesieve"
does not exist
auth: Error: LINE 1: ...", password FROM dovecotpassword('user',
'example.org') WHERE managesiev...
Hmm, you are right. It got changed implicitly by Dovecot v2.0 API
changes. I cannot fix this by myself however. In Dovecot,
client_auth_begin (src/login-common/client-common-auth.c) statically
uses login_binary.protocol as the protocol name for SASL authentication
(in v1.2 I would call the sasl API directly), so there is no way for me
to alter this to "sieve" because the protocol name for Dovecot is
"managesieve". Timo will have to create some means to fix this. As we
have seen earlier, fully changing the protocol name from "managesieve"
to "sieve" is a bad idea, for one because it causes much confusion.
Timo, can you take a look at this?
Regards,
Stephan.