[dev] [commits] Horde branch master updated. e2bb4297227910132c9cdc90dfa7af73e5def8db
Michael M Slusarz
slusarz at horde.org
Thu Jan 10 19:31:49 UTC 2013
Quoting Jan Schneider <jan at horde.org>:
> Zitat von Michael M Slusarz <slusarz at horde.org>:
>
>> Quoting Michael J Rubinsky <mrubinsk at horde.org>:
>>
>>> Quoting Michael M Slusarz <slusarz at horde.org>:
>>>
>>>> commit 48f26df17fd8b36e37f732b223d17dd7bd10b68c
>>>> Author: Michael M Slusarz <slusarz at horde.org>
>>>> Date: Wed Jan 9 15:20:43 2013 -0700
>>>>
>>>> [mms] Remove call-time pass-by-reference, which was causing PAM
>>>> authentication driver to fail in PHP 5.4+.
>>>>
>>>> framework/Auth/lib/Horde/Auth/Pam.php | 2 +-
>>>> framework/Auth/package.xml | 4 ++--
>>>> 2 files changed, 3 insertions(+), 3 deletions(-)
>>>>
>>>> http://git.horde.org/horde-git/-/commit/48f26df17fd8b36e37f732b223d17dd7bd10b68c
>>>
>>> At one time this was required to avoid some weird fatal error,
>>> though I don't remember if it was from pam or (the now removed)
>>> pam_auth.
>>
>> If this is the case, this needs to be immediately removed from
>> framework. The pass-by-reference is a FATAL error in PHP 5.4, and
>> can't be worked around via conditionals. And it can't live in the
>> framework tree either, or else we have to remove our PHP
>> error-detection on a git commit (this file crashes PHP 5.4 and
>> won't allow a commit to succeed).
>
> Ah, PAM again, like every 6 months or so. So here's the history:
> - First there was the PAM extension from PECL which was abandoned quickly
> - A fork was created that made it into Debian
> - The PECL version was picked up again, maintained and kept up to date.
> - The two versions diverged and we had a switch in our PAM driver to
> support both.
> - At one point we decided to drop support for the Debian version
> because it was only available there and no longer actively
> developed, unlike the PECL version.
> - Through all this time, the PECL version required pass-by-reference to work.
> - Today, the PECL version seems abandoned again, the Debian version
> is still only available there (state unknown), has even been remove
> from Ubuntu.
> - Yet it's still the only way to authenticate with system users, and
> we use it for Horde internally too.
>
> We could simply skip the error parameter to work around this. We
> would lose detailed error messages, but at least we won't have to
> drop the driver completely.
It's either that or remove completely from code base. Or someone
could provide a patch to fix the pass-by-reference in PECL, and then
we require a minimum version of the module. Sigh... I guess I will
give my best 15 minute shot at fixing in the C source.
michael
___________________________________
Michael Slusarz [slusarz at horde.org]
More information about the dev
mailing list