diff options
author | gpalmer <gpalmer@FreeBSD.org> | 1996-06-02 19:59:28 +0000 |
---|---|---|
committer | gpalmer <gpalmer@FreeBSD.org> | 1996-06-02 19:59:28 +0000 |
commit | be9bc5466cad0fa893906af17f300e25254afc93 (patch) | |
tree | 4c6d807bbc2cbc458b8df95cd7a115cf09f2bc4c /lang/perl5.12 | |
parent | 6b9c940a4a2eb570643d9a97dccef80a6457a0ff (diff) | |
download | FreeBSD-ports-be9bc5466cad0fa893906af17f300e25254afc93.zip FreeBSD-ports-be9bc5466cad0fa893906af17f300e25254afc93.tar.gz |
Use setreuid instead of seteuid for permissions management
Diffstat (limited to 'lang/perl5.12')
-rw-r--r-- | lang/perl5.12/files/patch-ab | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/lang/perl5.12/files/patch-ab b/lang/perl5.12/files/patch-ab new file mode 100644 index 0000000..8394b47 --- /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 |