freebsd-ports/www/suphp/files/patch-suphp.c
Daichi GOTO 527c7deb74 update www/suphp: 0.2.2 --> 0.2.3
* update suphp to 0.2.3
    * fix bento build (apxs related problem)
    * Separate build/install stages for mod_suphp

PR:		53873
Submitted by:	Clement Laforet <sheepkiller@cultdeadsheep.org>
Pointed out by:	bento via kris
2003-06-30 04:56:55 +00:00

34 lines
1.3 KiB
C

--- suphp.c.orig Wed Dec 25 14:21:27 2002
+++ suphp.c Sat Jun 28 12:02:12 2003
@@ -68,6 +68,7 @@
{
// Check, if program has been started by Apache
struct passwd *apacheuser;
+ struct group *apachegroup;
struct passwd *calluser;
struct passwd *targetuser;
struct group *targetgroup;
@@ -76,6 +77,7 @@
path_translated = getenv("SCRIPT_FILENAME");
apacheuser = getpwnam(OPT_APACHE_USER);
+ apachegroup = getgrnam(OPT_APACHE_GROUP);
calluser = getpwuid(getuid());
if (calluser->pw_uid!=apacheuser->pw_uid)
@@ -105,13 +107,13 @@
// Get gid and uid of the file and check it
targetuser = getpwuid(file_get_uid(path_translated));
- if (targetuser->pw_uid < OPT_MIN_UID)
+ if (targetuser->pw_uid < OPT_MIN_UID && targetuser->pw_uid != apacheuser->pw_uid )
{
log_error ("UID of %s or its target (%d / %s) < %d", path_translated, targetuser->pw_uid, targetuser->pw_name, OPT_MIN_UID);
error_exit(ERRCODE_LOW_UID);
}
targetgroup = getgrgid(file_get_gid(path_translated));
- if (targetgroup->gr_gid < OPT_MIN_GID)
+ if (targetgroup->gr_gid < OPT_MIN_GID && targetgroup->gr_gid != apachegroup->gr_gid )
{
log_error ("GID of %s or its target (%d / %s) < %d", path_translated, targetgroup->gr_gid, targetgroup->gr_name, OPT_MIN_GID);
error_exit(ERRCODE_LOW_GID);