On Sun, 2011-01-30 at 11:18 +0100, Hurricane wrote:
2011-01-30 11:06:12auth: Debug: sql(theuser@mysite.com,1.2.3.4): query:
SELECT username AS user, password, home AS userdb_home, uid AS userdb_uid,
id AS userdb_gid, home, uid, gid FROM user WHERE username = 'theuser' AND
domain = 'mysite.com' AND active = 'Y'
You have too much stuff in there. userdb_* fields are used if you enable userdb prefetch. It doesn't look like you've enabled it. The uid/home/gid are completely ignored in password_query.
2011-01-30 11:06:12auth: Debug: auth(theuser@mysite.com,1.2.3.4): username
changed theuser@mysite.com -> theuser
It's unlikely you want this either, so select also "domain" field.
You didn't show your dovecot -n output so I don't know what userdb you're using, but I guess it's userdb static. Switch to userdb sql and it'll use user_query. (And maybe for optimization userdb prefetch too.)