From 5c9ca9b7307ea402896362f56f00b73a32d9f19c Mon Sep 17 00:00:00 2001 From: Gary Palmer Date: Sun, 2 Jun 1996 19:59:28 +0000 Subject: Use setreuid instead of seteuid for permissions management --- lang/perl5.12/files/patch-ab | 72 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 lang/perl5.12/files/patch-ab (limited to 'lang/perl5.12') diff --git a/lang/perl5.12/files/patch-ab b/lang/perl5.12/files/patch-ab new file mode 100644 index 000000000000..8394b47cc834 --- /dev/null +++ b/lang/perl5.12/files/patch-ab @@ -0,0 +1,72 @@ +*** hints/freebsd.sh Mon Feb 12 11:52:51 1996 +--- hints/freebsd.sh Sat Jun 1 19:08:28 1996 +*************** +*** 47,54 **** + # It does not covert all 2.1-current versions as the output of uname + # changed a few times. + # +! 2.0.5*|2.0-built*|2.1*) + usevfork='true' + ;; + # + # Guesses at what will be needed after 2.1 +--- 47,64 ---- + # It does not covert all 2.1-current versions as the output of uname + # changed a few times. + # +! # Even though seteuid/setegid are available, they've been turned off +! # because perl isn't coded with saved set[ug]id variables in mind. +! # In addition, a small patch is requried to suidperl to avoid a security +! # problem with FreeBSD. +! # +! 2.0.5*|2.0-built*|2.1*|2.2*) + usevfork='true' ++ d_dosuid='define' ++ d_setregid='define' ++ d_setreuid='define' ++ d_setegid='undef' ++ d_seteuid='undef' + ;; + # + # Guesses at what will be needed after 2.1 +--- perl.c.orig Tue Feb 27 13:30:44 1996 ++++ perl.c Sun Jun 2 09:22:34 1996 +@@ -1606,10 +1606,10 @@ + (void)setegid(statbuf.st_gid); + #else + #ifdef HAS_SETREGID +- (void)setregid((Gid_t)-1,statbuf.st_gid); ++ (void)setregid((Gid_t)gid,statbuf.st_gid); + #else + #ifdef HAS_SETRESGID +- (void)setresgid((Gid_t)-1,statbuf.st_gid,(Gid_t)-1); ++ (void)setresgid((Gid_t)gid,statbuf.st_gid,(Gid_t)gid); + #else + setgid(statbuf.st_gid); + #endif +@@ -1624,10 +1624,10 @@ + (void)seteuid(statbuf.st_uid); /* all that for this */ + #else + #ifdef HAS_SETREUID +- (void)setreuid((Uid_t)-1,statbuf.st_uid); ++ (void)setreuid((Uid_t)uid,statbuf.st_uid); + #else + #ifdef HAS_SETRESUID +- (void)setresuid((Uid_t)-1,statbuf.st_uid,(Uid_t)-1); ++ (void)setresuid((Uid_t)uid,statbuf.st_uid,(Uid_t)uid); + #else + setuid(statbuf.st_uid); + #endif +@@ -1641,10 +1641,10 @@ + (void)seteuid((Uid_t)uid); + #else + #ifdef HAS_SETREUID +- (void)setreuid((Uid_t)-1,(Uid_t)uid); ++ (void)setreuid((Uid_t)uid,(Uid_t)uid); + #else + #ifdef HAS_SETRESUID +- (void)setresuid((Uid_t)-1,(Uid_t)uid,(Uid_t)-1); ++ (void)setresuid((Uid_t)uid,(Uid_t)uid,(Uid_t)uid); + #else + setuid((Uid_t)uid); + #endif -- cgit v1.2.3