[dev] [commits] Horde branch master updated. e2bb4297227910132c9cdc90dfa7af73e5def8db

Jan Schneider jan at horde.org
Thu Jan 10 13:36:51 UTC 2013


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.
-- 
Jan Schneider
The Horde Project
http://www.horde.org/



More information about the dev mailing list