[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