From: Nicholas Clark Date: Mon, 3 May 2004 11:19:10 +0000 (+0000) Subject: Integrate: X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=86207487601861597b08158d7469c885a14adc49;p=p5sagit%2Fp5-mst-13.2.git Integrate: [ 22694] For maint, I don't think that we can have sperl go sulky if invoked from a #! line. So keep .../sperl functional, and have the /dev/fd/... only set ID exectuable reside under a different name (suidperl) [ 22700] The set uid perl is now called setuidperl. Not suidperl. Which I discover is hardlinked from sperl by ./installperl elsewhere. Helpfully confusing installperl script. [ 22718] Revert 22700 (as part of changes suggested by Brendan O'Dea) [ 22719] Revert 22694 [ 22720] Simpler suggstion to resolve the #!/usr/bin/suidperl vs. the set uid binary must have fd script conundrum, as suggested by Brendan O'Dea Plus restore the more helpful error message from 22694 and the gist of the perl584delta changes from 22700 p4raw-link: @22720 on //depot/maint-5.8/perl: 18b810caba1ff3a8890bc392e4295393205e4c8e p4raw-link: @22719 on //depot/maint-5.8/perl: cc5f7b51347dc0d99d849e19d8755fc160395010 p4raw-link: @22718 on //depot/maint-5.8/perl: 707d38420c0aa304635c36abea7b0b136d63cfcd p4raw-link: @22700 on //depot/maint-5.8/perl: b08f99954ac05f6d7940d41d47dfcac67b906a1b p4raw-link: @22694 on //depot/maint-5.8/perl: fa25506f523a62926d5deae9ce3b6c9c45bbfdd3 p4raw-id: //depot/perl@22770 p4raw-integrated: from //depot/maint-5.8/perl@22718 'edit in' INSTALL (@22700..) p4raw-integrated: from //depot/maint-5.8/perl@22700 'edit in' pod/perldiag.pod (@22583..) installperl perl.c (@22694..) 'ignore' pod/perlsec.pod (@21947..) --- diff --git a/installperl b/installperl index 4a3c07d..a7c03da 100755 --- a/installperl +++ b/installperl @@ -446,7 +446,7 @@ if (! $versiononly && ! samepath($installbin, '.') && ($^O ne 'dos') && ! $Is_VM link("$installbin/$perl_verbase$ver$exe_ext", "$installbin/$perl$exe_ext"); } - link("$installbin/s$perl_verbase$ver$exe_ext", + link("$installbin/$perl_verbase$ver$exe_ext", "$installbin/suid$perl$exe_ext") if $d_dosuid; } diff --git a/perl.c b/perl.c index 63438e8..3375099 100644 --- a/perl.c +++ b/perl.c @@ -3000,7 +3000,10 @@ S_open_script(pTHX_ char *scriptname, bool dosearch, SV *sv) } #ifdef IAMSUID else { - Perl_croak(aTHX_ "suidperl needs fd script\n"); + Perl_croak(aTHX_ "sperl needs fd script\n" + "You should not call sperl directly; do you need to " + "change a #! line\nfrom sperl to perl?\n"); + /* PSz 11 Nov 03 * Do not open (or do other fancy stuff) while setuid. * Perl does the open, and hands script to suidperl on a fd;