Shell.pm removed from Perl; breaks Dstore daemon.pl on fresh installs.
Bugzilla Link | 448932 |
Status | NEW |
Importance | P3 critical |
Reported | Oct 27, 2014 05:28 EDT |
Modified | Oct 27, 2014 05:28 EDT |
Version | 3.6 |
Reporter | James Arlow |
Description
auth.pl
line 16: use Shell
Shell.pm was a showcase module that shipped with perl until recently:
http://perldoc.perl.org/Shell.html
It was explicitly flagged in the documentation as "not for use in production".
More recently, as of Perl5 v20.1, at least, it is no longer part part of the core modules:
http://perldoc.perl.org/index-modules-S.html
This causes auth.pl to fail before it begins, which RSE interprets as failed credentials when trying to connect to daemon.pl
Deleting use Shell
solves the problem. Apparently, it was an unused relic, because the script runs fine without it.
How I found out:
I could not get DStore to connect through RSE when targeting an ubuntu host (14.10). I assumed it was an issue with pam.d, because I was being told it was invalid credentials. Upon investigation in the forum, I saw people mentioning their problems with auth.pl
. I ended up just running it from the command line, and got an error saying that the Shell.pm could not be found. Once I found my way to the perldoc, I suspected it had been removed. I found this opensuse bugzilla post which dates its removal circa 2012.
http://lists.opensuse.org/opensuse-bugs/2012-10/msg00772.html
I decided to be adventurous and delete the line. Everything works fine now, and I can connect from multiple hosts, with the expected credentials.