That one is there to close the left one after IF
Sent from my Samsung device
-------- Original message -------- From: Christian Kivalo ml+dovecot@valo.at Date: 2016-05-02 11:58 (GMT+02:00) To: dovecot@dovecot.org Subject: Re: Changing Password Schemes On 2016-05-02 11:32, Carl Jeptha wrote: > password_query =
> SELECT username AS USER,
> IF(cryptpwd IS NULL OR cryptpwd='', CONCAT('{PLAIN}',clearpwd), > cryptpwd) AS PASSWORD,
> '/var/vmail/%d/%n' as userdb_home,
> 'maildir:/var/vmail/%d/%n' as userdb_mail, 150 as userdb_uid, 8 > as > userdb_gid
> FROM mailbox
> WHERE username = '%u' AND active = '1' You have a right parenthesis after clearpwd in your sql statement CONCAT('{PLAIN}',clearpwd),cryptpwd) > user_query =
> SELECT '/var/vmail/%d/%n' as home, 'maildir:/var/vmail/%d/%n' as > mail,
> 150 AS uid, 8 AS gid, concat('dirsize:storage=', quota) AS quota
> FROM mailbox WHERE username = '%u' AND active = '1' > > Above is what I have done, but still getting an error: > > May 2 05:26:03 |****** dovecot: auth-worker(3442): Error: > sql(user@domain.tld,xxx.xxx.xxx.xxx): Password query must return a > field named 'password' > > For testing purposes I put the query in PHPMyAdmin and it complains > this > (notice it drops "PASSWORD", but shows it in the query: > #1064 - You have an error in your SQL syntax; check the manual that > corresponds to your MySQL server version for the right syntax to use > near '
> IF(cryptpwd IS NULL OR cryptpwd='', CONCAT('{PLAIN}',clearpwd), > cryptpwd) as ' at line 1 The PHPMyAdmin error message shows the relevant part to inspect. -- Christian Kivalo