[horde] Horde_Db 2.1.0 trashed Installation
Jan Schneider
jan at horde.org
Tue Mar 4 13:48:06 UTC 2014
Zitat von lst_hoe02 at kwsoft.de:
> Zitat von Jan Schneider <jan at horde.org>:
>
>> Zitat von lst_hoe02 at kwsoft.de:
>>
>>> Zitat von Jan Schneider <jan at horde.org>:
>>>
>>>> Zitat von lst_hoe02 at kwsoft.de:
>>>>
>>>>> Hello,
>>>>>
>>>>> after installing the today updates Horde/IMP was not able to
>>>>> start und logged the following error over and over again:
>>>>>
>>>>> [Tue Mar 04 12:01:56 2014] [error] [client 213.164.67.65] PHP
>>>>> Fatal error: Call to a member function quote() on a non-object
>>>>> in /usr/share/php/Horde/Db/Adapter/Pdo/Base.php on line 304
>>>>>
>>>>> I have reverted to Horde_Db 2.0.4 which fixed the error. Any
>>>>> idea what went wrong??
>>>>>
>>>>> Regards
>>>>>
>>>>> Andreas
>>>>
>>>> Not without further information, at least a backtrace from debug
>>>> logs. I assume you've run all migrations.
>>>
>>> I tried, but horde-db-migrate refuses with the very same error
>>> message. With version 2.0.4 from Horde_Db some migrations are
>>> done. I could try to now reinstall Horde_Db 2.1.0 but this looks
>>> like a bad pitfall, no?
>>>
>>> Regards
>>>
>>> Andreas
>>
>> If it would run fine here and on every developer's systems too, it
>> would have been released, so no.
>
> The new Horde_Db version seem to barff on the following hook from
> horde/config/prefs.local.php which has worked some years until now:
>
> // user preferred email address for From: line
> // If you lock this preference, you must specify a value or a hook for it in
> // horde/config/hooks.php.
>
> $userId = $registry->getAuth();
> $db = $GLOBALS['injector']->getInstance('Horde_Db_Adapter');
> $db->connect();
> $result = $db->selectAssoc("SELECT alias,alias FROM
> postfix_virtual_aliases WHERE user_uid='$userId'");
> $db->disconnect();
>
> $_prefs['from_addr'] = array(
> 'value' => '',
> 'type' => 'enum',
> 'enum' => $result,
> 'desc' => _("The default e-mail address to use with this identity:")
> );
>
> It is needed to provide the users a list of available mail aliases
> and prevent from using random addresses as sender address.
>
> Any idea why this is not workign anymore or how to improve this?
>
> Thanks
>
> Andreas
Don't connect or disconnect. And don't add this to prefs.local.php
file. If you need logic for default values, add a preference hook.
Besides that, you are vulnerable to SQL injection. Use this instead:
$result = $GLOBALS['injector']->getInstance('Horde_Db_Adapter')
->selectValue(
'SELECT alias FROM postfix_virtual_aliases',
array($GLOBALS['registry']->getAuth())
);
--
Jan Schneider
The Horde Project
http://www.horde.org/
https://www.facebook.com/hordeproject
More information about the horde
mailing list