Support PAM in PHP8

php.internals

Volker Theile

6 years ago
Hi all, i've opened the tracker issue https://bugs.php.net/bug.php?id=80004 which requests Linux PAM (pluggable authentication modules) support in PHP8. IMO PAM is an essential feature that is required by professional applications. Sadly the PECL extension https://pecl.php.net/package/PAM is not maintained anymore and can't be used in PHP7 without patching it. I fear with PHP8 this will not be possible anymore. Because of that i want to bring up this topic and start a discussion if it is possible to integrate PAM support in the origin Git source tree, so package maintainer (e.g. Debian, Ubuntu, ...) can activate it simply via build flag and ship this extension through their packages. By integrating it into the origin source tree there is no need for a PECL extension anymore, the benefit of this will be that the code is always up-to-date and can be build out of the origin source. Regards Volker

Matteo Beccati

6 years ago
Hi Volker, On 21/08/2020 16:19, Volker Theile wrote:
> Hi all, > > i've opened the tracker issue https://bugs.php.net/bug.php?id=80004 > which requests Linux PAM (pluggable authentication modules) support in > PHP8. IMO PAM is an essential feature that is required by professional > applications. Sadly the PECL extension https://pecl.php.net/package/PAM > is not maintained anymore and can't be used in PHP7 without patching it. > I fear with PHP8 this will not be possible anymore. > > Because of that i want to bring up this topic and start a discussion if > it is possible to integrate PAM support in the origin Git source tree, > so package maintainer (e.g. Debian, Ubuntu, ...) can activate it simply > via build flag and ship this extension through their packages. By > integrating it into the origin source tree there is no need for a PECL > extension anymore, the benefit of this will be that the code is always > up-to-date and can be build out of the origin source.
What you'd need would be someone to step up and start maintaining it. If it doesn't currently work that's one more reason not to bundle in core. Cheers
-- Matteo Beccati Development & Consulting - http://www.beccati.com/

Benjamin Eberlei

6 years ago
On Fri, Aug 21, 2020 at 4:19 PM Volker Theile < volker.theile@openmediavault.org> wrote:
> Hi all, > > i've opened the tracker issue https://bugs.php.net/bug.php?id=80004 > which requests Linux PAM (pluggable authentication modules) support in > PHP8. IMO PAM is an essential feature that is required by professional > applications. Sadly the PECL extension https://pecl.php.net/package/PAM > is not maintained anymore and can't be used in PHP7 without patching it. > I fear with PHP8 this will not be possible anymore. > > Because of that i want to bring up this topic and start a discussion if > it is possible to integrate PAM support in the origin Git source tree, > so package maintainer (e.g. Debian, Ubuntu, ...) can activate it simply > via build flag and ship this extension through their packages. By > integrating it into the origin source tree there is no need for a PECL > extension anymore, the benefit of this will be that the code is always > up-to-date and can be build out of the origin source. >
The code needs to be maintained by someone to be up to date, putting it into php-src will not magically solve that issue. I don't think PAM has a chance of ever getting into php-src, even if the PECL module is well maintained. It is just too specific, and the exact reason that PECL exists. Do you see yourself taking over the maintainership by any chance? apply the patches for PHP 7 compatibility and work on PHP 8?

Volker Theile

6 years ago
> Do you see yourself taking over the maintainership by any chance?
apply the patches for PHP 7 compatibility and work on PHP 8? Sorry, i don't think so because i have to maintain my own OSS project that requires enough of my attention and free time. I simply want to consume the PAM feature. Volker

Sara Golemon

6 years ago
On Fri, Aug 21, 2020 at 10:43 AM Benjamin Eberlei <kontakt@beberlei.de> wrote:
> The code needs to be maintained by someone to be up to date, putting it >
into php-src will not magically solve that issue.
> >
THIS x1000. The first test for getting something into core is that it is stable and used. If the original author has gone MIA and nobody has made a fork, then that's not a strong argument in favor of it being stable and used. If you want to champion getting this into core, then you've got some prerequisite steps: 1/ Get it building on 7 and 8. 2/ Flesh out the tests. (maybe?) It's got a grand total of FIVE right now. Maybe that's enough, but I somehow doubt it. 3/ Prove that it has broad demand. In principle, it sound like an obvious boon, but no activity in 11 years isn't a ringing endorsement. -Sara

Rowan Collins

6 years ago
On 21/08/2020 15:19, Volker Theile wrote:
> IMO PAM is an essential feature that is required by professional > applications. Sadly the PECL extensionhttps://pecl.php.net/package/PAM > is not maintained anymore and can't be used in PHP7 without patching it.
According to that PECL listing, the last release of that extension was in 2009, when PHP 5.3 was the exciting new version. I can think of a few explanations for there not being any releases in that time: * The functionality is as essential as you say, and PHP has been in terminal decline for the last 10 years. * The functionality is actually available, but you're looking in the wrong place. * There are not as many people as you think who need or want this functionality. The third option seems the most likely. That doesn't mean there's no hope of it being maintained, but it does mean you need to try harder to track down other people who are interested - as others have said, features don't become maintained because of where they are in version control, they become maintained because somebody puts in the effort to maintain them. That means either you putting in that effort, or you persuading someone else to; if nothing else works, you might be able to pay someone to do it. Regards,
-- Rowan Tommins (né Collins) [IMSoP]