+
+ /*
+- * Error out if the target name/group is different from
+- * the name/group of the cwd or the program.
+- */
+- if ((uid != dir_info.st_uid) ||
+- (gid != dir_info.st_gid) ||
+- (uid != prg_info.st_uid) ||
+- (gid != prg_info.st_gid)) {
+- log_err("target uid/gid (%ld/%ld) mismatch "
+- "with directory (%ld/%ld) or program (%ld/%ld)\n",
+- uid, gid,
+- dir_info.st_uid, dir_info.st_gid,
+- prg_info.st_uid, prg_info.st_gid);
+- exit(120);
++ * If not called as suexec.fcgi error out if the target
++ * name/group is different from the name/group of the cwd
++ * or the program.
++ */
++ if(strcmp(base_pathname(prog),"suexec.fcgi")) {
++ if ((uid != dir_info.st_uid) ||
++ (gid != dir_info.st_gid) ||
++ (uid != prg_info.st_uid) ||
++ (gid != prg_info.st_gid)) {
++ log_err("target uid/gid (%ld/%ld) mismatch "
++ "with directory (%ld/%ld) or program (%ld/%ld)\n",
++ uid, gid,
++ dir_info.st_uid, dir_info.st_gid,
++ prg_info.st_uid, prg_info.st_gid);
++ exit(120);
++ }
+ }
++