[sork] passwd mysql problem
Jan Schneider
jan at horde.org
Sat May 23 10:14:12 UTC 2009
Zitat von mrwolf at nunux.ca:
> Thanks Jan for your fast answer,
>
> if this line is good in my postfix:
> query = SELECT 1 FROM virtual_users AS U LEFT JOIN virtual_domains
> AS D ON U.domain_id=D.id WHERE CONCAT(U.user, '@',D.name)='%s'
>
> and those one aren't in passwd:
> 'query_lookup' => 'SELECT password FROM virtual_users AS U LEFT JOIN
> virtual_domains AS D ON U.domain_id=D.id WHERE U.user = %U AND
> D.name = %d'
This one is fine.
> 'query_modify' => 'UPDATE virtual_users SET password = %e
> virtual_users AS U LEFT JOIN virtual_domains AS D ON
> U.domain_id=D.id WHERE U.user = %U AND D.name = %d'
>
> which part of those lines aren't good? is it the left join part or
> any others parts?
This is simply not a valid UPDATE syntax.
> can you write me an example of what would be good for my db?
Try something like (works only with sufficiently recent mysql versions):
UPDATE virtual_users SET password = %e WHERE virtual_users.user = %U
AND virtual_users.domain_id = (SELECT id FROM virtual_domains WHERE
name = %d)
> Quoting Jan Schneider <jan at horde.org>:
>
>> Zitat von mrwolf at nunux.ca:
>>
>>> Hi everyone,
>>>
>>> I have a particular mysql config that give me some problem with passwd:
>>>
>>> mysql> Select * from virtual_domains;
>>> +----+--------------+
>>> | id | name |
>>> +----+--------------+
>>> | 2 | domain1.ca |
>>> | 3 | domain2.com |
>>> | 1 | domain3.ca |
>>> +----+--------------+
>>> 3 rows in set (0.00 sec)
>>>
>>>
>>> mysql> Select * from virtual_users;
>>> +----+-----------+--------+------------+
>>> | id | domain_id | user | password |
>>> +----+-----------+--------+------------+
>>> | 1 | 2 | user1 | <Password> |
>>> | 2 | 1 | user2 | <Password> |
>>> | 3 | 3 | user3 | <Password> |
>>> +----+-----------+--------+------------+
>>> 3 rows in set (0.00 sec)
>>>
>>> From postfix:
>>> query = SELECT 1 FROM virtual_users AS U LEFT JOIN virtual_domains
>>> AS D ON U.domain_id=D.id WHERE CONCAT(U.user, '@',D.name)='%s'
>>>
>>> so I got: user1 at domain1.ca, user2 at domain3.ca, user3 at domain2.com
>>>
>>> I changed the backends.php from passwd to this:
>>> $backends['sql'] = array (
>>> 'name' => 'Exampe SQL Server',
>>> 'preferred' => '',
>>> 'password policy' => array(
>>> 'minLength' => 7,
>>> 'maxLength' => 15,
>>> 'maxSpace' => 0,
>>> 'minUpper' => 1,
>>> 'minLower' => 1,
>>> 'minNumeric' => 1,
>>> 'minSymbols' => 0
>>> ),
>>> 'driver' => 'sql',
>>> 'params' => array(
>>> 'phptype' => 'mysql',
>>> 'hostspec' => 'localhost',
>>> 'username' => '<MySQL_User>',
>>> 'password' => '<password>',
>>> 'encryption' => 'md5-hex',
>>> 'database' => 'virtual_email',
>>> 'table' => 'virtual_users',
>>> //'user_col' => 'user',
>>> //'pass_col' => 'password',
>>> 'show_encryption' => false,
>>> // 'query_lookup' => 'SELECT password FROM virtual_users,
>>> virtual_domains WHERE virtual_users.user = %u',
>>> 'query_lookup' => 'SELECT password FROM virtual_users AS U LEFT
>>> JOIN virtual_domains AS D ON U.domain_id=D.id WHERE U.user = %U
>>> AND D.name = %d',
>>> //'query_modify' => 'UPDATE virtual_users SET password = %e WHERE
>>> user = %u',
>>> 'query_modify' => 'UPDATE virtual_users SET password = %e
>>> virtual_users AS U LEFT JOIN virtual_domains AS D ON
>>> U.domain_id=D.id WHERE U.user = %U AND D.name = %d'
>>
>> This is not a valid SQL query.
>>
>>> )
>>> );
>>>
>>> when I try to change my password passwd tell me that he didn't
>>> found any matching user
>>>
>>> can anyone help me fix my passwd backends?
>>>
>>> thank you
>>> --
>>> Sork mailing list - Join the hunt: http://horde.org/bounties/#sork
>>> Frequently Asked Questions: http://horde.org/faq/
>>> To unsubscribe, mail: sork-unsubscribe at lists.horde.org
>>>
>>
>>
>>
>> Jan.
>>
>> --
>> Do you need professional PHP or Horde consulting?
>> http://horde.org/consulting/
>>
>
>
> --
> Sork mailing list - Join the hunt: http://horde.org/bounties/#sork
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: sork-unsubscribe at lists.horde.org
>
Jan.
--
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digitale PGP-Unterschrift
URL: <http://lists.horde.org/archives/sork/attachments/20090523/e89a7b22/attachment.bin>
More information about the sork
mailing list