summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2000-08-08 15:51:11 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2000-08-08 15:51:11 +0000
commit915b9e2064dee73178cb678e9bd533b7e8ddd188 (patch)
treed43d4aeb650f1230bd22a56c326f122108bb1dfa /gnu
parent15a5661e7eaf8c42b52e0fa8ae89c7b68d36bd5e (diff)
The official perl fix deletes the /bin/mail code entirely.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/usr.bin/perl/patchlevel.h3
-rw-r--r--gnu/usr.bin/perl/perl.c12
2 files changed, 2 insertions, 13 deletions
diff --git a/gnu/usr.bin/perl/patchlevel.h b/gnu/usr.bin/perl/patchlevel.h
index f95db63f63c..645620d799b 100644
--- a/gnu/usr.bin/perl/patchlevel.h
+++ b/gnu/usr.bin/perl/patchlevel.h
@@ -69,7 +69,8 @@
*/
#if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
static char *local_patches[] = {
- NULL
+ NULL
+ ,"SUIDMAIL - fixes for suidperl security"
,NULL
};
diff --git a/gnu/usr.bin/perl/perl.c b/gnu/usr.bin/perl/perl.c
index b7d68e8c4b7..0f82726bc9a 100644
--- a/gnu/usr.bin/perl/perl.c
+++ b/gnu/usr.bin/perl/perl.c
@@ -2758,18 +2758,6 @@ S_validate_suid(pTHX_ char *validarg, char *scriptname, int fdscript)
if (tmpstatbuf.st_dev != PL_statbuf.st_dev ||
tmpstatbuf.st_ino != PL_statbuf.st_ino) {
(void)PerlIO_close(PL_rsfp);
-#ifdef DISGUSTINGLY_INSECURE
- if (PL_rsfp = PerlProc_popen("/bin/mail root","w")) { /* heh, heh */
- PerlIO_printf(PL_rsfp,
-"User %"Uid_t_f" tried to run dev %ld ino %ld in place of dev %ld ino %ld!\n\
-(Filename of set-id script was %s, uid %"Uid_t_f" gid %"Gid_t_f".)\n\nSincerely,\nperl\n",
- PL_uid,(long)tmpstatbuf.st_dev, (long)tmpstatbuf.st_ino,
- (long)PL_statbuf.st_dev, (long)PL_statbuf.st_ino,
- CopFILE(PL_curcop),
- PL_statbuf.st_uid, PL_statbuf.st_gid);
- (void)PerlProc_pclose(PL_rsfp);
- }
-#endif
Perl_croak(aTHX_ "Permission denied\n");
}
if (