This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate:
authorNicholas Clark <nick@ccl4.org>
Mon, 3 May 2004 11:19:10 +0000 (11:19 +0000)
committerNicholas Clark <nick@ccl4.org>
Mon, 3 May 2004 11:19:10 +0000 (11:19 +0000)
[ 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..)

installperl
perl.c

index 4a3c07d..a7c03da 100755 (executable)
@@ -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 (file)
--- 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;