Red Hat Bugzilla – Bug 165078
Broken POSIX in perl-5.8.0
Last modified: 2007-11-30 17:07:08 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6
Description of problem:
POSIX is broken in perl-5.8.0. The same problem exists in RHEL 3 ES as well as in RHL 9.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Find any suitable UID from /etc/passwd (like 500)
2. perl -e 'use POSIX; print "($<)($>)\n"; POSIX::setuid(500); print "($<)($>)\n"'
Actual Results: perl-5.8.0 (RHEL3ES + RHL9) returns something like:
Expected Results: perl should return your original uid,gid information and setuided new uid,gid:
For example perl-5.8.6-15 of Fedora Core 4 makes it correctly.
Popular amavisd-new e-mail content filter uses Net::Server perl module. perl-5.8.0 users has got problems with amavisd-new-2.3.2 after updated latest Net::Server-0.88 from CPAN. Author has traced the problem and it looks now like perl-5.8.0 and it's broken POSIX module actually breaks it.
This bug is now fixed in RHEL-3 with perl-5.8.0-90.2 .
The PL_uid / PL_euid, and PL_gid / PL_egid variables were not being set
to the new uid/gid after successful POSIX::setuid/setgid calls;
perl restores the uid,euid/gid,egid to PL_uid,PL_euid/PL_gid,PL_egid after
XS calls, as it also supports setting the uid/euid gid/egid with:
The above statement worked to set the real uid,euid/gid,egid before this
change; only POSIX::set[ug]id failed because the PL_uid,PL_euid/PL_gid,PL_egid
variables were not being set also by these calls.
Where can I get one? I mean perl-5.8.0-90.2 for RHEL 3ES ?
(In reply to comment #2)
> Where can I get one? I mean perl-5.8.0-90.2 for RHEL 3ES ?
perl-5.8.0-90.2 is being considered for the next RHEL-3 update release.
Meanwhile, you can download it from:
Please try out this version and let me know of any issues - thanks.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.