Axel Luttgens
2013-Jun-06 18:51 UTC
[Dovecot] Dovecot 2.2.2: doveadm user doesn't honor -x option
Hello, 1. Considering a user_query similar to this one: SELECT ... FROM ... WHERE CASE '%s' WHEN 'lmtp' THEN ... and issuing following command: doveadm user -x service=lmtp someuser at example.com the log shows: SELECT ... FROM ... WHERE CASE 'doveadm' WHEN 'lmtp' THEN ... and the query of course fails. The same config with Dovecot 2.1.16 yields expected results. 2. This is more a question. Issuing above command first writes this to the log: prefetch(someuser at example.com): passdb didn't return userdb entries, trying the next userdb Is there really an attempt to make use of the prefetch database? If yes, under which circumstances could it succeed? TIA, Axel
Timo Sirainen
2013-Jun-16 17:19 UTC
[Dovecot] Dovecot 2.2.2: doveadm user doesn't honor -x option
On 6.6.2013, at 21.51, Axel Luttgens <AxelLuttgens at swing.be> wrote:> Hello, > > 1. Considering a user_query similar to this one: > > SELECT ... FROM ... WHERE CASE '%s' WHEN 'lmtp' THEN ... > > and issuing following command: > > doveadm user -x service=lmtp someuser at example.com > > the log shows: > > SELECT ... FROM ... WHERE CASE 'doveadm' WHEN 'lmtp' THEN ... > > and the query of course fails.Fixed: http://hg.dovecot.org/dovecot-2.2/rev/c290383e60da> The same config with Dovecot 2.1.16 yields expected results.v2.1 worked a bit differently by returning only the userdb info and skipping the dovecot.conf settings. Giving -u parameter to doveadm user uses the old way, and the service works also there.> 2. This is more a question. > > Issuing above command first writes this to the log: > > prefetch(someuser at example.com): passdb didn't return userdb entries, trying the next userdb > > Is there really an attempt to make use of the prefetch database?Yes.> If yes, under which circumstances could it succeed?Never with only a userdb lookup. But it's generic code. I guess the debug log entry could be hidden if it disturbs people too much..