summaryrefslogtreecommitdiff
path: root/www/apache13-fp/files/patch-fe
diff options
context:
space:
mode:
authorClement Laforet <clement@FreeBSD.org>2004-08-20 07:50:11 +0000
committerClement Laforet <clement@FreeBSD.org>2004-08-20 07:50:11 +0000
commit2c81e95b5c0b3f7451b5130a4bc8839aba7d4985 (patch)
tree2747b7ab202a5c9dc635c266493ea29ccb5a1730 /www/apache13-fp/files/patch-fe
parent- Move notif2 from x11-toolkits to x11-themes. (diff)
- Remove www/apache13-fp
Notes
Notes: svn path=/head/; revision=116740
Diffstat (limited to 'www/apache13-fp/files/patch-fe')
-rw-r--r--www/apache13-fp/files/patch-fe169
1 files changed, 0 insertions, 169 deletions
diff --git a/www/apache13-fp/files/patch-fe b/www/apache13-fp/files/patch-fe
deleted file mode 100644
index 2e4fd965c3b6..000000000000
--- a/www/apache13-fp/files/patch-fe
+++ /dev/null
@@ -1,169 +0,0 @@
---- src/support/suexec.c.orig Tue Jan 11 13:47:59 2000
-+++ src/support/suexec.c Sun Feb 20 17:38:47 2000
-@@ -82,11 +82,35 @@
- * info: Normal activity message
- * debug: Self-explanatory
- */
-+/*
-+ * "System" CGI modification 97.05.10 by Rick Franchuk (rickf@netnation.com)
-+ *
-+ * I found that while it's great to make scripts run under the UID and GID
-+ * specified in httpd.conf or what /etc/passwd says is 'cool', suEXEC can
-+ * really put a damper on 'System' cgi's, forcing copies of the scripts
-+ * to be installed into users' home directories. That didn't seem very
-+ * fitting... so I changed it so that the target UID check is disabled in
-+ * a system directory #defined in suexec+.h. I hope you all find it useful.
-+ *
-+ * The docroot check had to be bypassed to allow functionality for VirtualHost
-+ * entries. I'm somewhat suprised noone encountered that behavior before.
-+ */
-+ /*
-+ * "FPEXE modification made on 98.05.19 by Scot Hetzel (hetzels@westbend.net)
-+ * based on previous FPEXE modifications supplied by Mark Wormgoor
-+ * (riddles@ipe.nl)
-+ *
-+ * Changes were made in order to use Suexec and Frontpage 98 at the same time.
-+ * After we change to the target_uid and target_gid. We check if cmd = FPEXE,
-+ * if it does then we execute the cmd without performing any further tests.
-+ *
-+ */
-
- #include "ap_config.h"
- #include <sys/param.h>
- #include <sys/stat.h>
- #include <sys/types.h>
-+#include <login_cap.h>
-
- #include <stdarg.h>
-
-@@ -262,6 +286,7 @@
- char *cmd; /* command to be executed */
- char cwd[AP_MAXPATH]; /* current working directory */
- char dwd[AP_MAXPATH]; /* docroot working directory */
-+ login_cap_t *lc; /* user resource limits */
- struct passwd *pw; /* password entry holder */
- struct group *gr; /* group entry holder */
- struct stat dir_info; /* directory info holder */
-@@ -420,6 +445,19 @@
- }
-
- /*
-+ * Apply user resource limits based on login class.
-+ */
-+ if ((lc = login_getclassbyname(pw->pw_class, pw)) == NULL) {
-+ log_err("login_getclassbyname() failed\n");
-+ exit(248);
-+ }
-+
-+ if ((setusercontext(lc, pw, uid, LOGIN_SETRESOURCES)) != 0) {
-+ log_err("setusercontext() failed\n");
-+ exit(249);
-+ }
-+
-+ /*
- * Change UID/GID here so that the following tests work over NFS.
- *
- * Initialize the group access list for the target user,
-@@ -439,6 +477,14 @@
- }
-
- /*
-+ * We logged everything, changed to the target uid/gid, and know the
-+ * user is ok. We run fpexe now and bail out before anything goes wrong.
-+ */
-+#ifdef FPEXE
-+ if ((strcmp(cmd, FPEXE)) != NULL) {
-+#endif
-+
-+ /*
- * Get the current working directory, as well as the proper
- * document root (dependant upon whether or not it is a
- * ~userdir request). Error out if we cannot get either one,
-@@ -470,10 +516,16 @@
- }
- }
-
-+ /*
-+ * This section must be commented out to work properly with
-+ * VirtualHosts running CGI in thier own directories.
-+ *
-+
- if ((strncmp(cwd, dwd, strlen(dwd))) != 0) {
- log_err("error: command not in docroot (%s/%s)\n", cwd, cmd);
- exit(114);
- }
-+ */
-
- /*
- * Stat the cwd and verify it is a directory, or error out.
-@@ -519,6 +571,9 @@
- * Error out if the target name/group is different from
- * the name/group of the cwd or the program.
- */
-+#ifdef SYSTEM_CGI
-+ if (strncmp(cwd, SYSTEM_CGI, strlen(SYSTEM_CGI))) {
-+#endif
- if ((uid != dir_info.st_uid) ||
- (gid != dir_info.st_gid) ||
- (uid != prg_info.st_uid) ||
-@@ -530,6 +585,10 @@
- prg_info.st_uid, prg_info.st_gid);
- exit(120);
- }
-+#ifdef SYSTEM_CGI
-+ }
-+#endif
-+
- /*
- * Error out if the program is not executable for the user.
- * Otherwise, she won't find any error in the logs except for
-@@ -551,6 +610,49 @@
- umask(SUEXEC_UMASK);
- #endif /* SUEXEC_UMASK */
- clean_env();
-+
-+#ifdef FPEXE
-+ }
-+ else {
-+
-+ /* The following taken from mod_frontpage.c to check permissions */
-+
-+ /*
-+ * We can't stat the stub dir. Make sure the stub directory is not
-+ * owned by root and not group/world writable
-+ */
-+ if ((lstat(FPSTUBDIR, &dir_info) == -1 ||
-+ dir_info.st_uid ||
-+ (dir_info.st_mode & (S_IWGRP | S_IWOTH)) ||
-+ (!S_ISDIR(dir_info.st_mode)))) {
-+ /*
-+ * User recovery: set directory to be owned by by root with
-+ * permissions r*x*-x*-x.
-+ */
-+ log_err("Incorrect permissions on stub directory \"%-.1024s\"",
-+ FPSTUBDIR);
-+ exit (250);
-+ }
-+
-+ /*
-+ * We can't stat the stub. Make sure the stub is not owned by root,
-+ * set-uid, set-gid, and is not group/world writable or executable.
-+ */
-+ if ((stat(cmd, &prg_info) == -1 ||
-+ prg_info.st_uid ||
-+ !(prg_info.st_mode & S_ISUID) ||
-+ (prg_info.st_mode & S_ISGID) ||
-+ (prg_info.st_mode & (S_IWGRP | S_IWOTH)) ||
-+ !(prg_info.st_mode & (S_IXGRP | S_IXOTH)))) {
-+ /*
-+ * User recovery: set stub to be owned by by root with permissions
-+ * r*s*-x*-x.
-+ */
-+ log_err("Incorrect permissions on stub \"%-.1024s\"", cmd);
-+ exit (251);
-+ }
-+ }
-+#endif
-
- /*
- * Be sure to close the log file so the CGI can't