diff options
author | SADA Kenji <sada@FreeBSD.org> | 2002-11-11 00:45:10 +0000 |
---|---|---|
committer | SADA Kenji <sada@FreeBSD.org> | 2002-11-11 00:45:10 +0000 |
commit | 83bf12be6f8eb4069abe71dd77a8eabb333ebcf8 (patch) | |
tree | 66b797d2b493f2037151c428edc7cf91969f135b /russian | |
parent | 9313e86409e8caa6a108153ec71bcfe892da629e (diff) |
Add login classes support for suexec
'PORTCOMMENT' is discarded.
PR: ports/45139
Submitted by: maintainer
Notes
Notes:
svn path=/head/; revision=69866
Diffstat (limited to 'russian')
-rw-r--r-- | russian/apache13/Makefile | 19 | ||||
-rw-r--r-- | russian/apache13/files/patch-ba | 20 | ||||
-rw-r--r-- | russian/apache13/files/patch-bb | 75 |
3 files changed, 105 insertions, 9 deletions
diff --git a/russian/apache13/Makefile b/russian/apache13/Makefile index d68c74da514a..9942500ba701 100644 --- a/russian/apache13/Makefile +++ b/russian/apache13/Makefile @@ -7,6 +7,7 @@ PORTNAME= apache PORTVERSION= ${APACHE_VERSION}.${RA_VERSION} +PORTREVISION= 1 CATEGORIES= russian www MASTER_SITES= http://www.apache.org/dist/httpd/ \ ftp://ftp.ccs.neu.edu/net/mirrors/ftp.apache.org/apache/dist/httpd/ \ @@ -54,15 +55,16 @@ DEFAULT_PATH?=/bin:/usr/bin:${PREFIX}/bin .if defined(WITH_APACHE_SUEXEC) APACHE_SUEXEC_DOCROOT?=${DOCUMENT_ROOT} +APACHE_SUEXEC_LOG?=/var/log/httpd-suexec.log APACHE_SUEXEC_USERDIR?=public_html -SUEXEC_CONF= \ +SUEXEC_CONF=\ --enable-suexec \ --suexec-docroot=${APACHE_SUEXEC_DOCROOT} \ --suexec-caller=www \ --suexec-uidmin=1000 \ --suexec-gidmin=1000 \ - --suexec-logfile=/var/log/httpd-suexec.log \ + --suexec-logfile=${APACHE_SUEXEC_LOG} \ --suexec-userdir=${APACHE_SUEXEC_USERDIR} \ --suexec-safepath=${DEFAULT_PATH} @@ -81,14 +83,13 @@ SUEXEC_MAN= .endif # WITH_APACHE_SUEXEC - # # Configutre parameters # USE_PERL5= yes HAS_CONFIGURE= yes -CONFIGURE_ARGS= \ +CONFIGURE_ARGS=\ --prefix=${PREFIX} \ --server-uid=www \ --server-gid=www \ @@ -97,7 +98,7 @@ CONFIGURE_ARGS= \ --without-confadjust .if defined(WITH_DSO_MODULES) -CONFIGURE_ARGS+= \ +CONFIGURE_ARGS+=\ --enable-shared=max \ --disable-shared=so \ --disable-shared=charset \ @@ -109,7 +110,7 @@ CONFIGURE_ARGS+= \ PLIST_SUB+= DSO_MOD="" .else -CONFIGURE_ARGS+= \ +CONFIGURE_ARGS+=\ --enable-shared=remain \ --enable-module=most \ --enable-module=auth_db \ @@ -124,13 +125,12 @@ OPTIM= -DDOCUMENT_LOCATION=\\"${DOCUMENT_ROOT}\\" \ -DDEFAULT_PATH=\\"${DEFAULT_PATH}\\" \ -DACCEPT_FILTER_NAME=\\"httpready\\" -.if defined(APACHE_HARD_SERVER_LIMIT) +.if defined(APACHE_HARD_SERVER_LIMIT) OPTIM+= -DHARD_SERVER_LIMIT=${APACHE_HARD_SERVER_LIMIT} .else OPTIM+= -DHARD_SERVER_LIMIT=512 .endif - .if defined(APACHE_PERF_TUNING) OPTIM+= -DBUFFERED_LOGS CFLAGS+= -O6 -fomit-frame-pointer @@ -164,7 +164,8 @@ pre-fetch: @${ECHO_MSG} " suexec docroot: ${APACHE_SUEXEC_DOCROOT}" @${ECHO_MSG} " suexec userdir: ${APACHE_SUEXEC_USERDIR}" @${ECHO_MSG} " suexec safepath: ${DEFAULT_PATH}" - @${ECHO_MSG} " These values could be defined as APACHE_SUEXEC_DOCROOT, APACHE_SUEXEC_USERDIR and DEFAULT_PATH." + @${ECHO_MSG} " suexec log: ${APACHE_SUEXEC_LOG}" + @${ECHO_MSG} " These values could be defined as APACHE_SUEXEC_DOCROOT, APACHE_SUEXEC_USERDIR, DEFAULT_PATH and APACHE_SUEXEC_LOG." .else @${ECHO_MSG} "You could define WITH_APACHE_SUEXEC to build suexec support." .endif diff --git a/russian/apache13/files/patch-ba b/russian/apache13/files/patch-ba new file mode 100644 index 000000000000..1f92bd360250 --- /dev/null +++ b/russian/apache13/files/patch-ba @@ -0,0 +1,20 @@ +--- src/support/Makefile.tmpl.orig Sat Mar 2 20:46:23 2002 ++++ src/support/Makefile.tmpl Tue Oct 22 00:31:18 2002 +@@ -7,7 +7,7 @@ + # LIBS=-L$(SSLLOC)/lib -lssl -lcrypto -lm -lap -los $(EXTRA_LIBS) $(LIBS1) + # INCLUDES=-I$(SSLLOC)/include $(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES) + +-CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS) ++CFLAGS=-DLOGIN_CAP $(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS) + LIBS=-lm -lap -los $(EXTRA_LIBS) $(LIBS1) + INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES) + LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS) -L$(OSDIR) -L$(SRCDIR)/ap +@@ -50,7 +50,7 @@ + -e 's%@LIBS_SHLIB@%$(LIBS_SHLIB)%g' && chmod a+x apxs + + suexec: suexec.o +- $(CC) $(CFLAGS) -o suexec $(LDFLAGS) suexec.o $(LIBS) ++ $(CC) $(CFLAGS) -lutil -o suexec $(LDFLAGS) suexec.o $(LIBS) + + clean: + rm -f $(TARGETS) *.o diff --git a/russian/apache13/files/patch-bb b/russian/apache13/files/patch-bb new file mode 100644 index 000000000000..1f2731eb4aff --- /dev/null +++ b/russian/apache13/files/patch-bb @@ -0,0 +1,75 @@ +--- src/support/suexec.c.orig Thu Mar 14 00:05:37 2002 ++++ src/support/suexec.c Wed Sep 25 00:22:18 2002 +@@ -90,6 +90,9 @@ + #include <sys/types.h> + + #include <stdarg.h> ++#ifdef LOGIN_CAP ++#include <login_cap.h> ++#endif + + #include "suexec.h" + +@@ -296,11 +299,14 @@ + fprintf(stderr, " -D DOC_ROOT=\"%s\"\n", DOC_ROOT); + #endif + #ifdef GID_MIN +- fprintf(stderr, " -D GID_MID=%d\n", GID_MIN); ++ fprintf(stderr, " -D GID_MIN=%d\n", GID_MIN); + #endif + #ifdef HTTPD_USER + fprintf(stderr, " -D HTTPD_USER=\"%s\"\n", HTTPD_USER); + #endif ++#ifdef LOGIN_CAP ++ fprintf(stderr, " -D LOGIN_CAP\n"); ++#endif + #ifdef LOG_EXEC + fprintf(stderr, " -D LOG_EXEC=\"%s\"\n", LOG_EXEC); + #endif +@@ -311,7 +317,7 @@ + fprintf(stderr, " -D SUEXEC_UMASK=%03o\n", SUEXEC_UMASK); + #endif + #ifdef UID_MIN +- fprintf(stderr, " -D UID_MID=%d\n", UID_MIN); ++ fprintf(stderr, " -D UID_MIN=%d\n", UID_MIN); + #endif + #ifdef USERDIR_SUFFIX + fprintf(stderr, " -D USERDIR_SUFFIX=\"%s\"\n", USERDIR_SUFFIX); +@@ -461,7 +467,28 @@ + + /* + * Change UID/GID here so that the following tests work over NFS. +- * ++ */ ++ ++#ifdef LOGIN_CAP ++ /* ++ * Set user context (resources, priority and grouplist). ++ * If unsuccessful, error out. ++ */ ++ if (setusercontext(NULL, pw, uid, LOGIN_SETRESOURCES | LOGIN_SETPRIORITY | ++ LOGIN_SETGROUP | LOGIN_SETLOGIN) == -1) { ++ log_err("emerg: failed to set user context (%ld: %s)\n", uid, cmd); ++ exit(108); ++ } ++ ++ /* ++ * Set gid to the target group. If unsuccessful, error out. ++ */ ++ if ((setgid(gid)) != 0) { ++ log_err("emerg: failed to setgid (%ld: %s)\n", gid, cmd); ++ exit(109); ++ } ++#else /* !LOGIN_CAP */ ++ /* + * Initialize the group access list for the target user, + * and setgid() to the target group. If unsuccessful, error out. + */ +@@ -469,6 +496,7 @@ + log_err("emerg: failed to setgid (%ld: %s)\n", gid, cmd); + exit(109); + } ++#endif /* LOGIN_CAP */ + + /* + * setuid() to the target user. Error out on fail. |