aboutsummaryrefslogtreecommitdiffstats
path: root/www/apache24
diff options
context:
space:
mode:
authorohauer <ohauer@FreeBSD.org>2015-01-31 23:22:51 +0800
committerohauer <ohauer@FreeBSD.org>2015-01-31 23:22:51 +0800
commit85ee94e8267951e7ad32ebf7931e8772fa45641c (patch)
treedcd30bc82233b25763d1750b23d08afd11943175 /www/apache24
parente88d385e37845b5b65a9f928e6ca0eed4f0bb3eb (diff)
downloadfreebsd-ports-gnome-85ee94e8267951e7ad32ebf7931e8772fa45641c.tar.gz
freebsd-ports-gnome-85ee94e8267951e7ad32ebf7931e8772fa45641c.tar.zst
freebsd-ports-gnome-85ee94e8267951e7ad32ebf7931e8772fa45641c.zip
- update to 2.4.12
- change MPM backend from static to dynamic, but keep mpm_prefork for compatiblity with e.g. php modules - install dedicated MPM load file in case httpd was build with modular MPM (modules.d/000_mpm_prefork_fallback.conf) - disable SSLv3 and SSLv2 fallback in sample httpd-ssl-conf - use @sample macro instead EXAMPLESDIR - add some SSLCipherSuite examples for OpenSSL >= 1.0.x - add libressl support [1] - add pkg-install script (to handle new modular MPM build) - build now most all modules, so users using packages don't have to run a custom build for missing modules - fix suexec mode PR: 196139 [1] MFH: 2015Q1
Diffstat (limited to 'www/apache24')
-rw-r--r--www/apache24/Makefile39
-rw-r--r--www/apache24/Makefile.modules2
-rw-r--r--www/apache24/Makefile.options61
-rw-r--r--www/apache24/Makefile.options.desc3
-rw-r--r--www/apache24/distinfo4
-rw-r--r--www/apache24/files/patch-Makefile.in61
-rw-r--r--www/apache24/files/patch-acinclude.m424
-rw-r--r--www/apache24/files/patch-config.layout4
-rw-r--r--www/apache24/files/patch-configure.in10
-rw-r--r--www/apache24/files/patch-docs__conf__extra__httpd-autoindex.conf.in6
-rw-r--r--www/apache24/files/patch-docs__conf__extra__httpd-ssl.conf.in39
-rw-r--r--www/apache24/files/patch-docs__conf__extra__httpd-userdir.conf.in4
-rw-r--r--www/apache24/files/patch-docs__conf__httpd.conf.in14
-rw-r--r--www/apache24/files/patch-include__ap_config_auto.h.in26
-rw-r--r--www/apache24/files/patch-modules__ssl__ssl_engine_init.c31
-rw-r--r--www/apache24/files/patch-modules__ssl__ssl_engine_rand.c22
-rw-r--r--www/apache24/files/patch-modules__ssl__ssl_util_ssl.c18
-rw-r--r--www/apache24/files/patch-modules__ssl__ssl_util_ssl.h18
-rw-r--r--www/apache24/files/patch-r1611744-modules__lua__lua_request.c22
-rw-r--r--www/apache24/files/patch-support__Makefile.in8
-rw-r--r--www/apache24/files/patch-support__apachectl.in10
-rw-r--r--www/apache24/files/patch-support__apxs.in8
-rw-r--r--www/apache24/files/patch-support__envvars-std.in6
-rw-r--r--www/apache24/files/patch-support__log_server_status.in8
-rw-r--r--www/apache24/files/pkg-deinstall.in19
-rw-r--r--www/apache24/files/pkg-install.in65
-rw-r--r--www/apache24/pkg-help26
-rw-r--r--www/apache24/pkg-message17
-rw-r--r--www/apache24/pkg-plist78
29 files changed, 451 insertions, 202 deletions
diff --git a/www/apache24/Makefile b/www/apache24/Makefile
index ea1e977b3cbd..766baa11fe7e 100644
--- a/www/apache24/Makefile
+++ b/www/apache24/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= apache24
-PORTVERSION= 2.4.10
-PORTREVISION= 2
+PORTVERSION= 2.4.12
CATEGORIES= www ipv6
MASTER_SITES= ${MASTER_SITE_APACHE_HTTPD}
DISTNAME= httpd-${PORTVERSION}
@@ -28,6 +27,10 @@ CPE_VENDOR= apache
CPE_PRODUCT= http_server
PORTDOCS= *
+SUB_FILES= pkg-install pkg-deinstall
+
+# Fallback MPM after switching from static to modular MPM
+SUB_LIST+= MPMF="000_mpm_prefork_fallback.conf"
USERS= www
GROUPS= www
@@ -102,7 +105,7 @@ CONFIGURE_ENV= CONFIG_SHELL="${SH}" \
MAKE_ENV+= EXPR_COMPAT=yes \
INSTALL_MAN="${INSTALL_MAN}" \
- EXAMPLESDIR=${EXAMPLESDIR}
+ DATADIR=${DATADIR}
#=====================================================
# CONFIGURE_ARGS will be handled in Makefile.modules,
@@ -129,36 +132,38 @@ post-extract:
# remove possible leftover .svn directories in the sources
@${FIND} ${WRKSRC} -type d -name .svn -print | ${XARGS} ${RM} -rf
# limit grep results ...
- @${FIND} ${WRKSRC} -type f \( -name 'NWGNU*' -o -name '*.ds?' -o -name '*.dep' -o -name '*.mak' -o -name '*.win' \) -delete
+ @${FIND} ${WRKSRC} -type f \( -name 'NWGNU*' -o -name '*.ds?' -o -name '*.dep' -o -name '*.mak' -o -name '*.win' -o -name '*.vbs' -o -name '*.wsf' \) -delete
+# make sure the configure script contains our patches, preserve the original script for comparsion
+ -${MV} -v ${WRKSRC}/configure ${WRKSRC}/configure.upstream
-# make qa script happy, it complains on empty dirs even 'PORTDOCS=*' is set
-# use RMDIR in case upstream ever place some files into this dirs
+# make stage-qa script happy, it complains on empty dirs even 'PORTDOCS=*' is set
+# use RMDIR in case upstream ever place some files into this directories
.for d in xsl/util xsl lang
-${RMDIR} ${WRKSRC}/docs/manual/style/${d}
.endfor
post-patch:
- @${REINPLACE_CMD} -e 's," PLATFORM ",FreeBSD,' ${WRKSRC}/server/core.c
-# IPv4_mapping fix: https://issues.apache.org/bugzilla/show_bug.cgi?id=53824
- @${REINPLACE_CMD} -e 's|freebsd5|freebsd|' \
- -e 's|^perlbin=.*|perlbin=${PERL}|' \
- ${WRKSRC}/configure.in ${WRKSRC}/configure
- @${RM} -f ${WRKSRC}/docs/docroot/*.bak
+ ${REINPLACE_CMD} -e 's," PLATFORM ",FreeBSD,' ${WRKSRC}/server/core.c
+ ${REINPLACE_CMD} -e 's|logs/error_log|/var/log/httpd-error.log|' \
+ ${WRKSRC}/include/httpd.h
+ ${REINPLACE_CMD} -e 's|perlbin=.*|perlbin=${PERL}|' \
+ ${WRKSRC}/configure.in
+ ${RM} -f ${WRKSRC}/docs/docroot/*.bak
${INSTALL_DATA} ${WRKSRC}/NOTICE ${WRKSRC}/docs/manual
post-configure:
@FTPUSERS=`${EGREP} -v '^#' /etc/ftpusers| ${TR} -s "\n" " "` ;\
- ${REINPLACE_CMD} -e "s,%%FTPUSERS%%,$${FTPUSERS}," ${WRKSRC}/docs/conf/extra/httpd-userdir.conf
- @${REINPLACE_CMD} -e "s,%%WWWOWN%%,${WWWOWN}," -e "s,%%WWWGRP%%,${WWWGRP}," ${WRKSRC}/docs/conf/httpd.conf
- @${REINPLACE_CMD} -e "s,%%PREFIX%%,${PREFIX}," ${WRKSRC}/support/envvars-std
+ ${REINPLACE_CMD} -e "s,%%FTPUSERS%%,$${FTPUSERS}," \
+ ${WRKSRC}/docs/conf/extra/httpd-userdir.conf
+ ${REINPLACE_CMD} -e "s,%%WWWOWN%%,${WWWOWN}," -e "s,%%WWWGRP%%,${WWWGRP}," \
+ ${WRKSRC}/docs/conf/httpd.conf
+ ${REINPLACE_CMD} -e "s,%%PREFIX%%,${PREFIX}," ${WRKSRC}/support/envvars-std
post-install:
@${MKDIR} ${ETC_SUBDIRS:S|^|${STAGEDIR}${ETCDIR}/|}
${INSTALL_DATA} ${FILESDIR}/no-accf.conf ${STAGEDIR}${ETCDIR}/Includes/
# place for 3rd party module configuration
${INSTALL_DATA} ${FILESDIR}/README_modules.d ${STAGEDIR}${ETCDIR}/modules.d/
- @${MKDIR} ${STAGEDIR}/${EXAMPLESDIR}/modules.d
- ${INSTALL_DATA} ${FILESDIR}/README_modules.d ${STAGEDIR}${EXAMPLESDIR}/modules.d
# strip returns an error for non binary files, but we have a big mix
-${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/* 2>/dev/null
-${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/*
diff --git a/www/apache24/Makefile.modules b/www/apache24/Makefile.modules
index 4383e000795a..d6a7484618a9 100644
--- a/www/apache24/Makefile.modules
+++ b/www/apache24/Makefile.modules
@@ -43,9 +43,11 @@ IGNORE= SESSION_CRYPTO requires APR-util to have crypto openssl support build in
# XXX in case we use OPTIONS for MPM
# we do not have a WITH_MPM variable
.if ${PORT_OPTIONS:MMPM_SHARED}
+SUB_LIST+= MPM_FALLBACK_CHECK=""
PLIST_SUB+= MPM_SHARED=""
CONFIGURE_ARGS+= --enable-mpms-shared=all
.else
+SUB_LIST+= MPM_FALLBACK_CHECK="\#"
PLIST_SUB+= MPM_SHARED="@comment "
.endif
diff --git a/www/apache24/Makefile.options b/www/apache24/Makefile.options
index 95e9b5f029e6..e3dea742058d 100644
--- a/www/apache24/Makefile.options
+++ b/www/apache24/Makefile.options
@@ -1,9 +1,9 @@
# $FreeBSD$
# ===========================================================
-# The list of modules are no longer classified in CATEGORIES.
-# We use for enabled/disabled now the resulting modules from
-# configure --enable-modules=most
+# Only the most important modules are enabled per default in
+# httpd.conf, therfore build all modules not depending on other
+# ports, marked as example or developer module.
#
# Required modules without OPTION:
# UNIXD LOG_CONFIG
@@ -11,10 +11,11 @@
PROXY_ENABLED_MODULES= \
PROXY_AJP PROXY_BALANCER PROXY_CONNECT PROXY_EXPRESS PROXY_FCGI \
- PROXY_FTP PROXY_HTTP PROXY_SCGI PROXY_WSTUNNEL
+ PROXY_FDPASS PROXY_FTP PROXY_HTTP PROXY_SCGI PROXY_WSTUNNEL
+# mod_proxy_html depends on libxml2
PROXY_DISABLED_MODULES= \
- PROXY_FDPASS PROXY_HTML
+ PROXY_HTML
# SESSION_CRYPTO need APR build with crypto (EVP support in APR)
SESSION_ENABLED_MODULES= \
@@ -22,45 +23,39 @@ SESSION_ENABLED_MODULES= \
SESSION_DISABLED_MODULES=
-HEARTBEAT_MODULES= \
- HEARTBEAT HEARTMONITOR LBMETHOD_HEARTBEAT
-
EXAMPLE_MODULES= \
- CASE_FILTER CASE_FILTER_IN ECHO EXAMPLE_HOOKS EXAMPLE_IPC \
+ BUCKETEER CASE_FILTER CASE_FILTER_IN ECHO EXAMPLE_HOOKS EXAMPLE_IPC \
OPTIONAL_FN_EXPORT OPTIONAL_FN_IMPORT OPTIONAL_HOOK_EXPORT \
OPTIONAL_HOOK_IMPORT
-DEV_MODULES= BUCKETEER
-
MOST_ENABLED_MODULES= \
ACCESS_COMPAT ACTIONS ALIAS ALLOWMETHODS ASIS \
AUTHN_ANON AUTHN_CORE AUTHN_DBD AUTHN_DBM AUTHN_FILE AUTHN_SOCACHE \
- AUTHZ_CORE AUTHZ_DBD AUTHZ_DBM AUTHZ_GROUPFILE AUTHZ_HOST \
+ AUTHZ_CORE AUTHZ_DBD AUTHZ_DBM AUTHNZ_FCGI AUTHZ_GROUPFILE AUTHZ_HOST \
AUTHZ_OWNER AUTHZ_USER \
AUTH_BASIC AUTH_DIGEST AUTH_FORM AUTOINDEX \
BUFFER \
- CACHE CACHE_DISK CACHE_SOCACHE CGI CGID \
- DAV DAV_FS DBD DEFLATE DIR DUMPIO \
+ CACHE CACHE_DISK CACHE_SOCACHE CERN_META CGI CGID \
+ CHARSET_LITE \
+ DATA DAV DAV_FS DAV_LOCK DBD DEFLATE DIALUP DIR DUMPIO \
ENV EXPIRES EXT_FILTER \
FILE_CACHE FILTER \
- HEADERS \
+ HEADERS HEARTBEAT HEARTMONITOR \
IMAGEMAP INCLUDE INFO \
LBMETHOD_BYBUSYNESS LBMETHOD_BYREQUESTS LBMETHOD_BYTRAFFIC \
- LOGIO LOG_DEBUG \
+ LBMETHOD_HEARTBEAT LOGIO LOG_DEBUG LOG_FORENSIC \
MACRO MIME MIME_MAGIC \
NEGOTIATION \
- RATELIMIT REMOTEIP REQTIMEOUT REQUEST REWRITE \
- SED SETENVIF SLOTMEM_SHM SOCACHE_DBM SOCACHE_MEMCACHE SOCACHE_SHMCB SPELING \
- SSL STATUS SUBSTITUTE \
- UNIQUE_ID USERDIR \
- VERSION VHOST_ALIAS
+ RATELIMIT REFLECTOR REMOTEIP REQTIMEOUT REQUEST REWRITE \
+ SED SETENVIF \
+ SLOTMEM_PLAIN SLOTMEM_SHM SOCACHE_DBM SOCACHE_MEMCACHE SOCACHE_SHMCB \
+ SPELING SSL STATUS SUBSTITUTE \
+ UNIQUE_ID USERDIR USERTRACK \
+ VERSION VHOST_ALIAS \
+ WATCHDOG
MOST_DISABLED_MODULES:= \
- AUTHNZ_LDAP AUTHNZ_FCGI LDAP CERN_META CHARSET_LITE DATA DAV_LOCK DIALUP IDENT \
- LOG_FORENSIC LUA REFLECTOR SLOTMEM_PLAIN SOCACHE_DC SUEXEC USERTRACK \
- XML2ENC WATCHDOG ${HEARTBEAT_MODULES} ${EXAMPLE_MODULES} ${DEV_MODULES}
-
-#MULTI_MODULES:= ${OPTIONS_MULTI}
+ AUTHNZ_LDAP IDENT LDAP LUA SOCACHE_DC SUEXEC XML2ENC
# XXX PROXY and SESSION are modules but also used to
# enable/disable additional PROXY/SESSION modules
@@ -70,21 +65,20 @@ ALL_MODULES_CATEGORIES= \
MOST_ENABLED MOST_DISABLED MULTI \
PROXY_ENABLED PROXY_DISABLED \
SESSION_ENABLED SESSION_DISABLED \
- META
-
-#STATIC= STATIC_AB STATIC_CHECKGID STATIC_FCGISTARTER STATIC_HTCACHECLEAN \
-# STATIC_HTDBM STATIC_HTDIGEST STATIC_HTPASSWD STATIC_HTTXT2DBM \
-# STATIC_LOGRESOLVE STATIC_ROTATELOGS STATIC_SUPPORT
+ META EXAMPLE
ADDITIONAL_OPT= LUAJIT IPV4_MAPPED
# ===================================================================================
-NO_OPTIONS_SORT= yes
+#NO_OPTIONS_SORT= yes
-OPTIONS_MULTI= ${META_MODULES}
+OPTIONS_MULTI:= ${META_MODULES}
OPTIONS_MULTI_PROXY:= ${PROXY_ENABLED_MODULES} ${PROXY_DISABLED_MODULES}
OPTIONS_MULTI_SESSION:= ${SESSION_ENABLED_MODULES} ${SESSION_DISABLED_MODULES}
+OPTIONS_GROUP= EXAMPLE
+OPTIONS_GROUP_EXAMPLE:= ${EXAMPLE_MODULES}
+
OPTIONS_RADIO= SHARED_MPM
OPTIONS_RADIO_SHARED_MPM= MPM_SHARED
@@ -104,5 +98,6 @@ OPTIONS_DEFAULT:= \
${OPTIONS_MULTI} \
${SESSION_ENABLED_MODULES} \
${PROXY_ENABLED_MODULES} \
+ MPM_SHARED \
MPM_PREFORK
diff --git a/www/apache24/Makefile.options.desc b/www/apache24/Makefile.options.desc
index 63e603be9ea1..77b98c4a532e 100644
--- a/www/apache24/Makefile.options.desc
+++ b/www/apache24/Makefile.options.desc
@@ -7,6 +7,7 @@ PROXY_DESC= Build enabled PROXY modules
SESSION_DESC= Build enabled SESSION modules
DEFAULT_MPM_DESC= The default MPM module
SHARED_MPM_DESC= Build all MPMs as shared Module
+EXAMPLE_DESC= Example and devel modules (do not use in prod)
# =====================================
# MPMs
@@ -88,7 +89,7 @@ DUMPIO_DESC= I/O dump filter
ECHO_DESC= (dev) example echo server
ENV_DESC= Clearing/setting of ENV vars
EXAMPLE_HOOKS_DESC= (dev) example hook callback handler module
-EXAMPLE_IPC_DESC= (dev) Example of shared memory and mutex usage
+EXAMPLE_IPC_DESC= (dev) example of shared memory and mutex usage
EXPIRES_DESC= Expires header control
EXT_FILTER_DESC= External filter module
diff --git a/www/apache24/distinfo b/www/apache24/distinfo
index c671eb1c9ace..d34c15e93309 100644
--- a/www/apache24/distinfo
+++ b/www/apache24/distinfo
@@ -1,2 +1,2 @@
-SHA256 (apache24/httpd-2.4.10.tar.bz2) = 176c4dac1a745f07b7b91e7f4fd48f9c48049fa6f088efe758d61d9738669c6a
-SIZE (apache24/httpd-2.4.10.tar.bz2) = 5031834
+SHA256 (apache24/httpd-2.4.12.tar.bz2) = ad6d39edfe4621d8cc9a2791f6f8d6876943a9da41ac8533d77407a2e630eae4
+SIZE (apache24/httpd-2.4.12.tar.bz2) = 5054838
diff --git a/www/apache24/files/patch-Makefile.in b/www/apache24/files/patch-Makefile.in
index 532ee840ef9f..3f275064fb9b 100644
--- a/www/apache24/files/patch-Makefile.in
+++ b/www/apache24/files/patch-Makefile.in
@@ -1,28 +1,65 @@
---- ./Makefile.in.orig 2012-12-17 12:50:41.000000000 +0100
-+++ ./Makefile.in 2014-07-08 06:27:38.000000000 +0200
-@@ -32,12 +32,10 @@
+--- Makefile.in.orig 2012-12-17 11:50:41 UTC
++++ Makefile.in
+@@ -32,12 +32,9 @@ include $(top_srcdir)/build/program.mk
install-conf:
@echo Installing configuration files
@$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(sysconfdir)/extra
- @$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/original/extra
-+ @$(MKINSTALLDIRS) $(DESTDIR)$(EXAMPLESDIR) $(DESTDIR)$(EXAMPLESDIR)/extra
@cd $(top_srcdir)/docs/conf; \
for i in mime.types magic; do \
- if test ! -f $(DESTDIR)$(sysconfdir)/$$i; then \
- $(INSTALL_DATA) $$i $(DESTDIR)$(sysconfdir); \
- fi; \
-+ $(INSTALL_DATA) $$i $(DESTDIR)$(EXAMPLESDIR); \
++ $(INSTALL_DATA) $$i $(DESTDIR)$(sysconfdir)/$${i}.sample; \
done; \
for j in $(top_srcdir)/docs/conf $(top_builddir)/docs/conf ; do \
cd $$j ; \
-@@ -78,15 +76,12 @@
+@@ -58,6 +55,16 @@ install-conf:
+ -e 's#@@SSLPort@@#$(SSLPORT)#g' \
+ -e 'p' \
+ < $$i; \
++ if echo " $(DSO_MODULES) "|$(EGREP) " cgi " > /dev/null ; then \
++ have_cgi="1"; \
++ else \
++ have_cgi="0"; \
++ fi; \
++ if echo " $(DSO_MODULES) "|$(EGREP) " cgid " > /dev/null ; then \
++ have_cgid="1"; \
++ else \
++ have_cgid="0"; \
++ fi; \
+ for j in $(DSO_MODULES) "^EOL^"; do \
+ if test $$j != "^EOL^"; then \
+ if echo ",$(ENABLED_DSO_MODULES),"|$(EGREP) ",$$j," > /dev/null ; then \
+@@ -68,8 +75,18 @@ install-conf:
+ if test "$(LOAD_ALL_MODULES)" = "yes"; then \
+ loading_disabled=""; \
+ fi; \
+- echo "$${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
+- fi; \
++ if test $$j = "cgid" -a "$$have_cgi" = "1"; then \
++ echo "<IfModule !mpm_prefork_module>"; \
++ echo " $${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
++ echo "</IfModule>"; \
++ elif test $$j = "cgi" -a "$$have_cgid" = "1"; then \
++ echo "<IfModule mpm_prefork_module>"; \
++ echo " $${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
++ echo "</IfModule>"; \
++ else \
++ echo "$${loading_disabled}LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \
++ fi; \
++ fi; \
+ done; \
+ sed -e '1,/@@LoadModule@@/d' \
+ -e '/@@LoadModule@@/d' \
+@@ -78,15 +95,12 @@ install-conf:
-e 's#@@SSLPort@@#$(SSLPORT)#g' \
< $$i; \
fi \
- ) > $(DESTDIR)$(sysconfdir)/original/$$i; \
- chmod 0644 $(DESTDIR)$(sysconfdir)/original/$$i; \
-+ ) > $(DESTDIR)$(EXAMPLESDIR)/$$i; \
-+ chmod 0644 $(DESTDIR)$(EXAMPLESDIR)/$$i; \
++ ) > $(DESTDIR)$(sysconfdir)/$${i}.sample; \
++ chmod 0644 $(DESTDIR)$(sysconfdir)/$${i}.sample; \
file=$$i; \
if [ "$$i" = "httpd.conf" ]; then \
file=`echo $$i|sed s/.*.conf/$(PROGRAM_NAME).conf/`; \
@@ -33,7 +70,7 @@
fi; \
done ; \
done ; \
-@@ -137,48 +132,25 @@
+@@ -137,48 +151,25 @@ dox:
doxygen $(top_srcdir)/docs/doxygen.conf
install-htdocs:
@@ -50,8 +87,8 @@
- cd $(DESTDIR)$(htdocsdir) && find . -name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \
- fi; \
- fi
-+ $(MKINSTALLDIRS) $(DESTDIR)$(EXAMPLESDIR) ; \
-+ test -d $(htdocs-srcdir) && (cd $(htdocs-srcdir) && cp -rp index.html $(DESTDIR)$(EXAMPLESDIR)) || true
++ $(MKINSTALLDIRS) $(DESTDIR)$(DATADIR)/misc ; \
++ test -d $(htdocs-srcdir) && (cd $(htdocs-srcdir) && cp -rp index.html $(DESTDIR)$(DATADIR)/misc) || true
install-error:
- -@if [ -d $(DESTDIR)$(errordir) ]; then \
@@ -91,7 +128,7 @@
install-other:
@test -d $(DESTDIR)$(logfiledir) || $(MKINSTALLDIRS) $(DESTDIR)$(logfiledir)
-@@ -231,12 +203,7 @@
+@@ -231,12 +222,7 @@ install-man:
@test -d $(DESTDIR)$(manualdir) || $(MKINSTALLDIRS) $(DESTDIR)$(manualdir)
@cp -p $(top_srcdir)/docs/man/*.1 $(DESTDIR)$(mandir)/man1
@cp -p $(top_srcdir)/docs/man/*.8 $(DESTDIR)$(mandir)/man8
diff --git a/www/apache24/files/patch-acinclude.m4 b/www/apache24/files/patch-acinclude.m4
new file mode 100644
index 000000000000..676c8fefeb8e
--- /dev/null
+++ b/www/apache24/files/patch-acinclude.m4
@@ -0,0 +1,24 @@
+--- acinclude.m4.orig 2014-01-05 08:37:21 UTC
++++ acinclude.m4
+@@ -267,9 +267,10 @@ DISTCLEAN_TARGETS = modules.mk
+ static =
+ shared = $libname
+ EOF
++ dnl https://issues.apache.org/bugzilla/show_bug.cgi?id=53882
++ DSO_MODULES="$DSO_MODULES mpm_$1"
+ # add default MPM to LoadModule list
+ if test $1 = $default_mpm; then
+- DSO_MODULES="$DSO_MODULES mpm_$1"
+ ENABLED_DSO_MODULES="${ENABLED_DSO_MODULES},mpm_$1"
+ fi
+ fi
+@@ -576,7 +577,8 @@ AC_DEFUN(APACHE_CHECK_OPENSSL,[
+ liberrors=""
+ AC_CHECK_HEADERS([openssl/engine.h])
+ AC_CHECK_FUNCS([SSLeay_version SSL_CTX_new], [], [liberrors="yes"])
+- AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines])
++ dnl PR 196139, https://issues.apache.org/bugzilla/show_bug.cgi?id=57375
++ AC_CHECK_FUNCS([ENGINE_init ENGINE_load_builtin_engines SSL_CTX_use_certificate_chain RAND_egd])
+ if test "x$liberrors" != "x"; then
+ AC_MSG_WARN([OpenSSL libraries are unusable])
+ fi
diff --git a/www/apache24/files/patch-config.layout b/www/apache24/files/patch-config.layout
index 98b93ecfd161..919134c4d59f 100644
--- a/www/apache24/files/patch-config.layout
+++ b/www/apache24/files/patch-config.layout
@@ -1,5 +1,5 @@
---- ./config.layout.orig 2012-04-17 16:01:41.000000000 +0200
-+++ ./config.layout 2013-03-22 18:55:53.000000000 +0100
+--- config.layout.orig 2012-04-17 14:01:41 UTC
++++ config.layout
@@ -257,17 +257,17 @@
bindir: ${exec_prefix}/bin
sbindir: ${exec_prefix}/sbin
diff --git a/www/apache24/files/patch-configure.in b/www/apache24/files/patch-configure.in
index 3c495005e6b3..ee496f0b8eb7 100644
--- a/www/apache24/files/patch-configure.in
+++ b/www/apache24/files/patch-configure.in
@@ -1,6 +1,6 @@
---- ./configure.in.orig 2013-01-09 17:39:05.000000000 +0100
-+++ ./configure.in 2013-03-22 18:55:53.000000000 +0100
-@@ -111,7 +111,7 @@
+--- configure.in.orig 2015-01-22 17:33:07 UTC
++++ configure.in
+@@ -111,7 +111,7 @@ fi
if test "$apr_found" = "reconfig"; then
APR_SUBDIR_CONFIG(srclib/apr,
@@ -9,7 +9,7 @@
[--enable-layout=*|\'--enable-layout=*])
dnl We must be the first to build and the last to be cleaned
AP_BUILD_SRCLIB_DIRS="apr $AP_BUILD_SRCLIB_DIRS"
-@@ -177,7 +177,7 @@
+@@ -177,7 +177,7 @@ esac
if test "$apu_found" = "reconfig"; then
APR_SUBDIR_CONFIG(srclib/apr-util,
@@ -18,7 +18,7 @@
[--enable-layout=*|\'--enable-layout=*])
dnl We must be the last to build and the first to be cleaned
AP_BUILD_SRCLIB_DIRS="$AP_BUILD_SRCLIB_DIRS apr-util"
-@@ -822,8 +822,14 @@
+@@ -830,8 +830,14 @@ AC_DEFINE_UNQUOTED(HTTPD_ROOT, "${ap_pre
[Root directory of the Apache install area])
AC_DEFINE_UNQUOTED(SERVER_CONFIG_FILE, "${rel_sysconfdir}/${progname}.conf",
[Location of the config file, relative to the Apache root directory])
diff --git a/www/apache24/files/patch-docs__conf__extra__httpd-autoindex.conf.in b/www/apache24/files/patch-docs__conf__extra__httpd-autoindex.conf.in
index 79d4f20790e9..120c05f0c9ef 100644
--- a/www/apache24/files/patch-docs__conf__extra__httpd-autoindex.conf.in
+++ b/www/apache24/files/patch-docs__conf__extra__httpd-autoindex.conf.in
@@ -1,6 +1,6 @@
---- ./docs/conf/extra/httpd-autoindex.conf.in.orig 2010-06-15 13:05:13.000000000 +0200
-+++ ./docs/conf/extra/httpd-autoindex.conf.in 2013-03-22 18:55:53.000000000 +0100
-@@ -89,5 +89,5 @@
+--- docs/conf/extra/httpd-autoindex.conf.in.orig 2010-06-15 11:05:13 UTC
++++ docs/conf/extra/httpd-autoindex.conf.in
+@@ -89,5 +89,5 @@ HeaderName HEADER.html
# IndexIgnore is a set of filenames which directory indexing should ignore
# and not include in the listing. Shell-style wildcarding is permitted.
#
diff --git a/www/apache24/files/patch-docs__conf__extra__httpd-ssl.conf.in b/www/apache24/files/patch-docs__conf__extra__httpd-ssl.conf.in
index 8382aa1a1b81..f8804d61eada 100644
--- a/www/apache24/files/patch-docs__conf__extra__httpd-ssl.conf.in
+++ b/www/apache24/files/patch-docs__conf__extra__httpd-ssl.conf.in
@@ -1,6 +1,37 @@
---- ./docs/conf/extra/httpd-ssl.conf.in.orig 2012-12-11 10:55:03.000000000 +0100
-+++ ./docs/conf/extra/httpd-ssl.conf.in 2013-03-22 18:55:53.000000000 +0100
-@@ -86,8 +86,8 @@
+--- docs/conf/extra/httpd-ssl.conf.in.orig 2015-01-31 12:20:34 UTC
++++ docs/conf/extra/httpd-ssl.conf.in
+@@ -42,11 +42,30 @@ Listen @@SSLPort@@
+ ## the main server and all SSL-enabled virtual hosts.
+ ##
+
++## disable unsecure SSL protocols
++SSLProtocol ALL -SSLv2 -SSLv3
++
+ # SSL Cipher Suite:
+ # List the ciphers that the client is permitted to negotiate.
+ # See the mod_ssl documentation for a complete list.
+ SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
+
++## The following entries can be used as suggestions,
++## for more information see:
++## - http://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslciphersuite
++## - http://blog.ivanristic.com/2013/08/configuring-apache-nginx-and-openssl-for-forward-secrecy.html
++##
++## To test your SSL implementation use for example security/sslscan or for public reachable systems https://www.ssllabs.com/
++
++## sample for OpenSSL >= 1.0.x (with RC4)
++# SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"
++
++## sample for OpenSSL >= 1.0.x (keep support for IE8 on XP)
++# SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS +RC4 RC4"
++
++## sample for OpenSSL >= 1.0.x (no RC4 support)
++# SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"
++
+ # Speed-optimized SSL Cipher configuration:
+ # If speed is your main concern (on busy HTTPS servers e.g.),
+ # you might want to force clients to specific, performance
+@@ -105,8 +124,8 @@ SSLSessionCacheTimeout 300
DocumentRoot "@exp_htdocsdir@"
ServerName www.example.com:@@SSLPort@@
ServerAdmin you@example.com
@@ -11,7 +42,7 @@
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
-@@ -246,7 +246,7 @@
+@@ -265,7 +284,7 @@ BrowserMatch "MSIE [2-5]" \
# Per-Server Logging:
# The home of a custom SSL log file. Use this when you want a
# compact non-error SSL logfile on a virtual host basis.
diff --git a/www/apache24/files/patch-docs__conf__extra__httpd-userdir.conf.in b/www/apache24/files/patch-docs__conf__extra__httpd-userdir.conf.in
index d071f5388568..67eef7beffe2 100644
--- a/www/apache24/files/patch-docs__conf__extra__httpd-userdir.conf.in
+++ b/www/apache24/files/patch-docs__conf__extra__httpd-userdir.conf.in
@@ -1,5 +1,5 @@
---- ./docs/conf/extra/httpd-userdir.conf.in.orig 2011-06-06 23:40:41.000000000 +0200
-+++ ./docs/conf/extra/httpd-userdir.conf.in 2013-03-22 18:55:53.000000000 +0100
+--- docs/conf/extra/httpd-userdir.conf.in.orig 2011-06-06 21:40:41 UTC
++++ docs/conf/extra/httpd-userdir.conf.in
@@ -9,6 +9,8 @@
#
UserDir public_html
diff --git a/www/apache24/files/patch-docs__conf__httpd.conf.in b/www/apache24/files/patch-docs__conf__httpd.conf.in
index a9da848ba486..35f81ccb0c65 100644
--- a/www/apache24/files/patch-docs__conf__httpd.conf.in
+++ b/www/apache24/files/patch-docs__conf__httpd.conf.in
@@ -1,6 +1,6 @@
---- ./docs/conf/httpd.conf.in.orig 2012-11-08 04:05:38.000000000 +0100
-+++ ./docs/conf/httpd.conf.in 2013-10-26 19:29:20.000000000 +0200
-@@ -65,6 +65,9 @@
+--- docs/conf/httpd.conf.in.orig 2012-11-08 03:05:38 UTC
++++ docs/conf/httpd.conf.in
+@@ -65,6 +65,9 @@ Listen @@Port@@
#
@@LoadModule@@
@@ -10,7 +10,7 @@
<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
-@@ -74,8 +77,8 @@
+@@ -74,8 +77,8 @@ Listen @@Port@@
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
@@ -21,7 +21,7 @@
</IfModule>
-@@ -181,7 +184,7 @@
+@@ -181,7 +184,7 @@ DocumentRoot "@exp_htdocsdir@"
# logged here. If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
@@ -30,7 +30,7 @@
#
# LogLevel: Control the number of messages logged to the error_log.
-@@ -210,13 +213,13 @@
+@@ -210,13 +213,13 @@ LogLevel warn
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
#
@@ -46,7 +46,7 @@
</IfModule>
<IfModule alias_module>
-@@ -418,3 +421,5 @@
+@@ -418,3 +421,5 @@ SSLRandomSeed connect builtin
#RequestHeader unset DNT env=bad_DNT
#</IfModule>
diff --git a/www/apache24/files/patch-include__ap_config_auto.h.in b/www/apache24/files/patch-include__ap_config_auto.h.in
new file mode 100644
index 000000000000..3d4b123f510c
--- /dev/null
+++ b/www/apache24/files/patch-include__ap_config_auto.h.in
@@ -0,0 +1,26 @@
+# libressl support
+# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196139
+# https://issues.apache.org/bugzilla/show_bug.cgi?id=57375
+
+--- include/ap_config_auto.h.in.orig 2015-01-15 19:59:13 UTC
++++ include/ap_config_auto.h.in
+@@ -130,6 +130,9 @@
+ /* Define to 1 if you have the <pwd.h> header file. */
+ #undef HAVE_PWD_H
+
++/* Define to 1 if you have the `RAND_egd' function. */
++#undef HAVE_RAND_EGD
++
+ /* Define to 1 if you have the `setsid' function. */
+ #undef HAVE_SETSID
+
+@@ -139,6 +142,9 @@
+ /* Define to 1 if you have the `SSL_CTX_new' function. */
+ #undef HAVE_SSL_CTX_NEW
+
++/* Define to 1 if you have the `SSL_CTX_use_certificate_chain' function. */
++#undef HAVE_SSL_CTX_USE_CERTIFICATE_CHAIN
++
+ /* Define to 1 if you have the <stdint.h> header file. */
+ #undef HAVE_STDINT_H
+
diff --git a/www/apache24/files/patch-modules__ssl__ssl_engine_init.c b/www/apache24/files/patch-modules__ssl__ssl_engine_init.c
new file mode 100644
index 000000000000..a82cbdc6df5a
--- /dev/null
+++ b/www/apache24/files/patch-modules__ssl__ssl_engine_init.c
@@ -0,0 +1,31 @@
+# libressl support
+# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196139
+# https://issues.apache.org/bugzilla/show_bug.cgi?id=57375
+
+--- modules/ssl/ssl_engine_init.c.orig 2015-01-15 12:20:33 UTC
++++ modules/ssl/ssl_engine_init.c
+@@ -353,9 +353,11 @@ apr_status_t ssl_init_Engine(server_rec
+ return ssl_die(s);
+ }
+
++#ifdef ENGINE_CTRL_CHIL_SET_FORKCHECK
+ if (strEQ(mc->szCryptoDevice, "chil")) {
+ ENGINE_ctrl(e, ENGINE_CTRL_CHIL_SET_FORKCHECK, 1, 0, 0);
+ }
++#endif
+
+ if (!ENGINE_set_default(e, ENGINE_METHOD_ALL)) {
+ ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(01889)
+@@ -838,7 +840,11 @@ static apr_status_t ssl_init_ctx_cert_ch
+ }
+ }
+
+- n = SSL_CTX_use_certificate_chain(mctx->ssl_ctx,
++#ifndef HAVE_SSL_CTX_USE_CERTIFICATE_CHAIN
++ n = SSL_CTX_use_certificate_chain(mctx->ssl_ctx,
++#else
++ n = _SSL_CTX_use_certificate_chain(mctx->ssl_ctx,
++#endif
+ (char *)chain,
+ skip_first, NULL);
+ if (n < 0) {
diff --git a/www/apache24/files/patch-modules__ssl__ssl_engine_rand.c b/www/apache24/files/patch-modules__ssl__ssl_engine_rand.c
new file mode 100644
index 000000000000..e6b98e42b6a9
--- /dev/null
+++ b/www/apache24/files/patch-modules__ssl__ssl_engine_rand.c
@@ -0,0 +1,22 @@
+# libressl support
+# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196139
+# https://issues.apache.org/bugzilla/show_bug.cgi?id=57375
+
+--- modules/ssl/ssl_engine_rand.c.orig 2011-12-05 00:08:01 UTC
++++ modules/ssl/ssl_engine_rand.c
+@@ -81,6 +81,7 @@ int ssl_rand_seed(server_rec *s, apr_poo
+ nDone += ssl_rand_feedfp(p, fp, pRandSeed->nBytes);
+ ssl_util_ppclose(s, p, fp);
+ }
++#ifdef HAVE_RAND_EGD
+ else if (pRandSeed->nSrc == SSL_RSSRC_EGD) {
+ /*
+ * seed in contents provided by the external
+@@ -90,6 +91,7 @@ int ssl_rand_seed(server_rec *s, apr_poo
+ continue;
+ nDone += n;
+ }
++#endif
+ else if (pRandSeed->nSrc == SSL_RSSRC_BUILTIN) {
+ struct {
+ time_t t;
diff --git a/www/apache24/files/patch-modules__ssl__ssl_util_ssl.c b/www/apache24/files/patch-modules__ssl__ssl_util_ssl.c
new file mode 100644
index 000000000000..5fdf78c7a3b5
--- /dev/null
+++ b/www/apache24/files/patch-modules__ssl__ssl_util_ssl.c
@@ -0,0 +1,18 @@
+# libressl support
+# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196139
+# https://issues.apache.org/bugzilla/show_bug.cgi?id=57375
+
+--- modules/ssl/ssl_util_ssl.c.orig 2015-01-12 13:31:16 UTC
++++ modules/ssl/ssl_util_ssl.c
+@@ -473,7 +473,11 @@ EC_GROUP *ssl_ec_GetParamFromFile(const
+ * format, possibly followed by a sequence of CA certificates that
+ * should be sent to the peer in the SSL Certificate message.
+ */
++#ifndef HAVE_SSL_CTX_USE_CERTIFICATE_CHAIN
+ int SSL_CTX_use_certificate_chain(
++#else
++int _SSL_CTX_use_certificate_chain(
++#endif
+ SSL_CTX *ctx, char *file, int skipfirst, pem_password_cb *cb)
+ {
+ BIO *bio;
diff --git a/www/apache24/files/patch-modules__ssl__ssl_util_ssl.h b/www/apache24/files/patch-modules__ssl__ssl_util_ssl.h
new file mode 100644
index 000000000000..6ff277270e71
--- /dev/null
+++ b/www/apache24/files/patch-modules__ssl__ssl_util_ssl.h
@@ -0,0 +1,18 @@
+# libressl support
+# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196139
+# https://issues.apache.org/bugzilla/show_bug.cgi?id=57375
+
+--- modules/ssl/ssl_util_ssl.h.orig 2014-03-02 20:20:14 UTC
++++ modules/ssl/ssl_util_ssl.h
+@@ -69,7 +69,11 @@ BOOL SSL_X509_getIDs(apr_pool_t *
+ BOOL SSL_X509_match_name(apr_pool_t *, X509 *, const char *, BOOL, server_rec *);
+ BOOL SSL_X509_INFO_load_file(apr_pool_t *, STACK_OF(X509_INFO) *, const char *);
+ BOOL SSL_X509_INFO_load_path(apr_pool_t *, STACK_OF(X509_INFO) *, const char *);
++#ifndef HAVE_SSL_CTX_USE_CERTIFICATE_CHAIN
+ int SSL_CTX_use_certificate_chain(SSL_CTX *, char *, int, pem_password_cb *);
++#else
++int _SSL_CTX_use_certificate_chain(SSL_CTX *, char *, int, pem_password_cb *);
++#endif
+ char *SSL_SESSION_id2sz(unsigned char *, int, char *, int);
+
+ #endif /* __SSL_UTIL_SSL_H__ */
diff --git a/www/apache24/files/patch-r1611744-modules__lua__lua_request.c b/www/apache24/files/patch-r1611744-modules__lua__lua_request.c
deleted file mode 100644
index 15b0e05cb33f..000000000000
--- a/www/apache24/files/patch-r1611744-modules__lua__lua_request.c
+++ /dev/null
@@ -1,22 +0,0 @@
-backport for mod_lua: Don't quote values in cookies; Make IE happy again [#56734]
-http://svn.apache.org/viewvc?view=revision&revision=1611744
-
-
---- ./modules/lua/lua_request.c.orig 2014-07-20 10:48:19.000000000 +0200
-+++ ./modules/lua/lua_request.c 2014-07-20 10:48:46.000000000 +0200
-@@ -2086,13 +2086,13 @@
- if (expires > 0) {
- rv = apr_rfc822_date(cdate, apr_time_from_sec(expires));
- if (rv == APR_SUCCESS) {
-- strexpires = apr_psprintf(r->pool, "Expires=\"%s\";", cdate);
-+ strexpires = apr_psprintf(r->pool, "Expires=%s;", cdate);
- }
- }
-
- /* Create path segment */
- if (path != NULL && strlen(path) > 0) {
-- strpath = apr_psprintf(r->pool, "Path=\"%s\";", path);
-+ strpath = apr_psprintf(r->pool, "Path=%s;", path);
- }
-
- /* Create domain segment */
diff --git a/www/apache24/files/patch-support__Makefile.in b/www/apache24/files/patch-support__Makefile.in
index f92ad75abff9..8dca75c35700 100644
--- a/www/apache24/files/patch-support__Makefile.in
+++ b/www/apache24/files/patch-support__Makefile.in
@@ -1,6 +1,6 @@
---- ./support/Makefile.in.orig 2012-12-11 11:37:25.000000000 +0100
-+++ ./support/Makefile.in 2013-10-26 19:29:20.000000000 +0200
-@@ -17,10 +17,10 @@
+--- support/Makefile.in.orig 2012-12-11 10:37:25 UTC
++++ support/Makefile.in
+@@ -17,10 +17,10 @@ install:
@test -d $(DESTDIR)$(sbindir) || $(MKINSTALLDIRS) $(DESTDIR)$(sbindir)
@test -d $(DESTDIR)$(libexecdir) || $(MKINSTALLDIRS) $(DESTDIR)$(libexecdir)
@cp -p $(top_builddir)/server/httpd.exp $(DESTDIR)$(libexecdir)
@@ -14,7 +14,7 @@
fi ; \
done
@for i in apachectl; do \
-@@ -30,10 +30,7 @@
+@@ -30,10 +30,7 @@ install:
fi ; \
done
@if test -f "$(builddir)/envvars-std"; then \
diff --git a/www/apache24/files/patch-support__apachectl.in b/www/apache24/files/patch-support__apachectl.in
index bd23406991e5..b093f49ae438 100644
--- a/www/apache24/files/patch-support__apachectl.in
+++ b/www/apache24/files/patch-support__apachectl.in
@@ -1,6 +1,6 @@
---- ./support/apachectl.in.orig 2012-02-01 04:47:28.000000000 +0100
-+++ ./support/apachectl.in 2013-03-22 18:55:53.000000000 +0100
-@@ -43,6 +43,7 @@
+--- support/apachectl.in.orig 2012-02-01 03:47:28 UTC
++++ support/apachectl.in
+@@ -43,6 +43,7 @@ ARGV="$@"
#
# the path to your httpd binary, including options if necessary
HTTPD='@exp_sbindir@/@progname@'
@@ -8,7 +8,7 @@
#
# pick up any necessary environment variables
if test -f @exp_sbindir@/envvars; then
-@@ -66,19 +67,21 @@
+@@ -66,19 +67,21 @@ ULIMIT_MAX_FILES="@APACHECTL_ULIMIT@"
# -------------------- --------------------
# |||||||||||||||||||| END CONFIGURATION SECTION ||||||||||||||||||||
@@ -34,7 +34,7 @@
ERROR=$?
;;
startssl|sslstart|start-SSL)
-@@ -88,11 +91,13 @@
+@@ -88,11 +91,13 @@ startssl|sslstart|start-SSL)
ERROR=2
;;
configtest)
diff --git a/www/apache24/files/patch-support__apxs.in b/www/apache24/files/patch-support__apxs.in
index ab8f38f159eb..65f2f5b4be71 100644
--- a/www/apache24/files/patch-support__apxs.in
+++ b/www/apache24/files/patch-support__apxs.in
@@ -1,6 +1,6 @@
---- ./support/apxs.in.orig 2012-07-25 13:42:40.000000000 +0200
-+++ ./support/apxs.in 2013-03-22 18:55:53.000000000 +0100
-@@ -636,7 +636,13 @@
+--- support/apxs.in.orig 2013-12-26 18:01:53 UTC
++++ support/apxs.in
+@@ -636,7 +636,13 @@ if ($opt_i or $opt_e) {
}
} else {
# replace already existing LoadModule line
@@ -15,7 +15,7 @@
}
$lmd =~ m|LoadModule\s+(.+?)_module.*|;
notice("[$what module `$1' in $CFG_SYSCONFDIR/$CFG_TARGET.conf]");
-@@ -645,8 +651,7 @@
+@@ -645,8 +651,7 @@ if ($opt_i or $opt_e) {
if (open(FP, ">$CFG_SYSCONFDIR/$CFG_TARGET.conf.new")) {
print FP $content;
close(FP);
diff --git a/www/apache24/files/patch-support__envvars-std.in b/www/apache24/files/patch-support__envvars-std.in
index 9f428b238547..305650cc661c 100644
--- a/www/apache24/files/patch-support__envvars-std.in
+++ b/www/apache24/files/patch-support__envvars-std.in
@@ -1,6 +1,6 @@
---- ./support/envvars-std.in.orig 2012-03-08 17:10:51.000000000 +0100
-+++ ./support/envvars-std.in 2013-03-22 18:55:53.000000000 +0100
-@@ -26,3 +26,10 @@
+--- support/envvars-std.in.orig 2012-03-08 16:10:51 UTC
++++ support/envvars-std.in
+@@ -26,3 +26,10 @@ fi
export @SHLIBPATH_VAR@
#
@OS_SPECIFIC_VARS@
diff --git a/www/apache24/files/patch-support__log_server_status.in b/www/apache24/files/patch-support__log_server_status.in
index 3d3ba66f7128..9853c52a3fd4 100644
--- a/www/apache24/files/patch-support__log_server_status.in
+++ b/www/apache24/files/patch-support__log_server_status.in
@@ -1,6 +1,6 @@
---- ./support/log_server_status.in.orig 2012-04-29 01:08:09.000000000 +0200
-+++ ./support/log_server_status.in 2013-03-22 18:55:53.000000000 +0100
-@@ -29,7 +29,7 @@
+--- support/log_server_status.in.orig 2012-04-28 23:08:09 UTC
++++ support/log_server_status.in
+@@ -29,7 +29,7 @@ use IO::Socket;
use strict;
use warnings;
@@ -9,7 +9,7 @@
my $server = "localhost"; # Name of server, could be "www.foo.com"
my $port = "@PORT@"; # Port on server
my $request = "/server-status/?auto"; # Request to send
-@@ -46,7 +46,7 @@
+@@ -46,7 +46,7 @@ my $time =
. sprintf( "%02d", $ltime[1] )
. sprintf( "%02d", $ltime[0] );
diff --git a/www/apache24/files/pkg-deinstall.in b/www/apache24/files/pkg-deinstall.in
new file mode 100644
index 000000000000..587643fc2eb0
--- /dev/null
+++ b/www/apache24/files/pkg-deinstall.in
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+MPM_FALLBACK="%%ETCDIR%%/modules.d/%%MPMF%%"
+
+_cleanup(){
+ if [ -f ${MPM_FALLBACK} ]; then
+ echo -n "remove fallback MPM : "
+ /bin/rm -vf ${MPM_FALLBACK}
+ fi
+}
+
+# run only if build with modular MPM
+if [ "x$2" = "xDEINSTALL" ]; then
+ %%MPM_FALLBACK_CHECK%%_cleanup
+fi
+
diff --git a/www/apache24/files/pkg-install.in b/www/apache24/files/pkg-install.in
new file mode 100644
index 000000000000..4bd2b15dfaad
--- /dev/null
+++ b/www/apache24/files/pkg-install.in
@@ -0,0 +1,65 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# Note:
+# We have to use grep or wc after awk, else
+# there is no usable ret value that can be
+# used for further processing
+
+HTTPD_CONF="%%ETCDIR%%/httpd.conf"
+MPM_FALLBACK="%%ETCDIR%%/modules.d/%%MPMF%%"
+
+_log_msg(){
+ /usr/bin/logger -p local0.notice -s -t apache24 "$1"
+}
+
+_check_deprecated(){
+if [ -r ${HTTPD_CONF} ]; then
+ /usr/bin/awk '/^LoadModule[[:blank:]]+mpm_(event|prefork|worker)_module/ {print $2}' ${HTTPD_CONF} | /usr/bin/grep -q '^mpm_'
+ if [ $? -ne 0 ]; then
+ _log_msg "==================================================="
+ _log_msg "WARNING!"
+ _log_msg " No apache MPM module is activated in httpd.conf,"
+ _log_msg " mpm_prefork will be activated as fall back"
+ _log_msg ""
+ _log_msg " Please follow the instructions in"
+ _log_msg " ${MPM_FALLBACK}"
+ _log_msg "==================================================="
+
+cat > ${MPM_FALLBACK} << _EOF
+# ==================================================================
+# Note:
+# www/apache24 build changed from static MPM to modular MPM loading!
+#
+# This file was installed as fall back, since no activated MPM
+# was detected in the existing httpd.conf.
+#
+# Please merge additions from httpd.conf.sample into your httpd.conf!
+#
+# After activating one of the mpm_modules in httpd.conf it is save
+# to deactivate the "LoadModule" line in this file.
+#
+# In case mod_(php|perl|python|...) modules from the official FreeBSD
+# package repo are installed please use the mpm_prefork module, else
+# feel free to test mpm_event (preferred) or mpm_worker.
+#
+# For more information see:
+# http://httpd.apache.org/docs/2.4/mod/
+# ==================================================================
+
+LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so
+_EOF
+
+ fi # $? -ne 0
+else
+ echo ${HTTPD_CONF} not readable
+fi
+}
+
+# run only if build with modular MPM
+if [ "$2" = "POST-INSTALL" ]; then
+ %%MPM_FALLBACK_CHECK%%_check_deprecated
+fi
+
diff --git a/www/apache24/pkg-help b/www/apache24/pkg-help
index 54a3adbb4789..5991afe835c3 100644
--- a/www/apache24/pkg-help
+++ b/www/apache24/pkg-help
@@ -1,25 +1,21 @@
Hints:
-- only a subset from the selected modules are enabled by default in
- httpd.conf.
+ - only a subset from the selected modules are activated by default in
+ httpd.conf.
-- by default apache24 builds with static prefork MPM
+ - by default apache24 builds mpm_prefork, mpm_event and mpm_worker
+ as dynamically loadable module. Even mpm_event is the preferred
+ MPM, mpm_prefork will be activated to keep compatibility with
+ pre-build php/perl/python/... modules (used by apache22/apache24).
-- if MPM_SHARED is selected then all MPM modules will be build, but
- only the selected DEFAULT MPM module will be registered and enabled
- in httpd.conf. For more information see:
- https://issues.apache.org/bugzilla/show_bug.cgi?id=53882
Note:
- Shared MPM loading is at the moment not supported by most additional
- modules (php/perl/python) because they need to know the apache
- threading model during build time
To build the develop/example modules specify additional the parameter
- -DIAMADEVELOPER (I am a developer)
+ -DIAMADEVELOPER (I am a developer)
-For detailed module description visit
- http://httpd.apache.org/docs/2.4/mod/
+ For detailed module description visit
+ http://httpd.apache.org/docs/2.4/mod/
-and for the develop/example modules
- http://httpd.apache.org/docs/2.2/programs/configure.html
+ and for the develop/example modules
+ http://httpd.apache.org/docs/2.2/programs/configure.html#developermodules
diff --git a/www/apache24/pkg-message b/www/apache24/pkg-message
index d0a71923108c..854857ae82e0 100644
--- a/www/apache24/pkg-message
+++ b/www/apache24/pkg-message
@@ -4,3 +4,20 @@ in your /etc/rc.conf. Extra options can be found in startup script.
Your hostname must be resolvable using at least 1 mechanism in
/etc/nsswitch.conf typically DNS or /etc/hosts or apache might
have issues starting depending on the modules you are using.
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+- apache24 default build changed from static MPM to modular MPM
+- more modules are now enabled per default in the port
+- icons and error pages moved from WWWDIR to DATADIR
+
+ If build with modular MPM and no MPM is activated in
+ httpd.conf, then mpm_prefork will be activated as default
+ MPM in etc/apache24/modules.d to keep compatibility with
+ existing php/perl/python modules!
+
+Please compare the existing httpd.conf with httpd.conf.sample
+and merge missing modules/instructions into httpd.conf!
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
diff --git a/www/apache24/pkg-plist b/www/apache24/pkg-plist
index a4fe1a22e5df..f0c21cc42556 100644
--- a/www/apache24/pkg-plist
+++ b/www/apache24/pkg-plist
@@ -5,6 +5,21 @@ bin/htpasswd
bin/httxt2dbm
bin/logresolve
%%ETCDIR%%/Includes/no-accf.conf
+@sample %%ETCDIR%%/extra/httpd-autoindex.conf.sample
+@sample %%ETCDIR%%/extra/httpd-dav.conf.sample
+@sample %%ETCDIR%%/extra/httpd-default.conf.sample
+@sample %%ETCDIR%%/extra/httpd-info.conf.sample
+@sample %%ETCDIR%%/extra/httpd-languages.conf.sample
+@sample %%ETCDIR%%/extra/httpd-manual.conf.sample
+@sample %%ETCDIR%%/extra/httpd-mpm.conf.sample
+@sample %%ETCDIR%%/extra/httpd-multilang-errordoc.conf.sample
+@sample %%ETCDIR%%/extra/httpd-ssl.conf.sample
+@sample %%ETCDIR%%/extra/httpd-userdir.conf.sample
+@sample %%ETCDIR%%/extra/httpd-vhosts.conf.sample
+@sample %%ETCDIR%%/extra/proxy-html.conf.sample
+@sample %%ETCDIR%%/httpd.conf.sample
+@sample %%ETCDIR%%/magic.sample
+@sample %%ETCDIR%%/mime.types.sample
%%ETCDIR%%/modules.d/README_modules.d
include/apache24/ap_compat.h
include/apache24/ap_config.h
@@ -217,7 +232,7 @@ sbin/htcacheclean
sbin/httpd
sbin/rotatelogs
sbin/split-logfile
-%%SUEXEC%%sbin/suexec
+%%SUEXEC%%@(,,4755) sbin/suexec
%%DATADIR%%/build/config.nice
%%DATADIR%%/build/config_vars.mk
%%DATADIR%%/build/instdso.sh
@@ -227,60 +242,11 @@ sbin/split-logfile
%%DATADIR%%/build/program.mk
%%DATADIR%%/build/rules.mk
%%DATADIR%%/build/special.mk
-@unexec if cmp -s %D/%%ETCDIR%%/extra/httpd-autoindex.conf %D/%%EXAMPLESDIR%%/extra/httpd-autoindex.conf; then rm -f %D/%%ETCDIR%%/extra/httpd-autoindex.conf; fi
-%%EXAMPLESDIR%%/extra/httpd-autoindex.conf
-@exec [ -f %D/%%ETCDIR%%/extra/httpd-autoindex.conf ] || cp %D/%%EXAMPLESDIR%%/extra/httpd-autoindex.conf %D/%%ETCDIR%%/extra/httpd-autoindex.conf
-@unexec if cmp -s %D/%%ETCDIR%%/extra/httpd-dav.conf %D/%%EXAMPLESDIR%%/extra/httpd-dav.conf; then rm -f %D/%%ETCDIR%%/extra/httpd-dav.conf; fi
-%%EXAMPLESDIR%%/extra/httpd-dav.conf
-@exec [ -f %D/%%ETCDIR%%/extra/httpd-dav.conf ] || cp %D/%%EXAMPLESDIR%%/extra/httpd-dav.conf %D/%%ETCDIR%%/extra/httpd-dav.conf
-@unexec if cmp -s %D/%%ETCDIR%%/extra/httpd-default.conf %D/%%EXAMPLESDIR%%/extra/httpd-default.conf; then rm -f %D/%%ETCDIR%%/extra/httpd-default.conf; fi
-%%EXAMPLESDIR%%/extra/httpd-default.conf
-@exec [ -f %D/%%ETCDIR%%/extra/httpd-default.conf ] || cp %D/%%EXAMPLESDIR%%/extra/httpd-default.conf %D/%%ETCDIR%%/extra/httpd-default.conf
-@unexec if cmp -s %D/%%ETCDIR%%/extra/httpd-info.conf %D/%%EXAMPLESDIR%%/extra/httpd-info.conf; then rm -f %D/%%ETCDIR%%/extra/httpd-info.conf; fi
-%%EXAMPLESDIR%%/extra/httpd-info.conf
-@exec [ -f %D/%%ETCDIR%%/extra/httpd-info.conf ] || cp %D/%%EXAMPLESDIR%%/extra/httpd-info.conf %D/%%ETCDIR%%/extra/httpd-info.conf
-@unexec if cmp -s %D/%%ETCDIR%%/extra/httpd-languages.conf %D/%%EXAMPLESDIR%%/extra/httpd-languages.conf; then rm -f %D/%%ETCDIR%%/extra/httpd-languages.conf; fi
-%%EXAMPLESDIR%%/extra/httpd-languages.conf
-@exec [ -f %D/%%ETCDIR%%/extra/httpd-languages.conf ] || cp %D/%%EXAMPLESDIR%%/extra/httpd-languages.conf %D/%%ETCDIR%%/extra/httpd-languages.conf
-@unexec if cmp -s %D/%%ETCDIR%%/extra/httpd-manual.conf %D/%%EXAMPLESDIR%%/extra/httpd-manual.conf; then rm -f %D/%%ETCDIR%%/extra/httpd-manual.conf; fi
-%%EXAMPLESDIR%%/extra/httpd-manual.conf
-@exec [ -f %D/%%ETCDIR%%/extra/httpd-manual.conf ] || cp %D/%%EXAMPLESDIR%%/extra/httpd-manual.conf %D/%%ETCDIR%%/extra/httpd-manual.conf
-@unexec if cmp -s %D/%%ETCDIR%%/extra/httpd-mpm.conf %D/%%EXAMPLESDIR%%/extra/httpd-mpm.conf; then rm -f %D/%%ETCDIR%%/extra/httpd-mpm.conf; fi
-%%EXAMPLESDIR%%/extra/httpd-mpm.conf
-@exec [ -f %D/%%ETCDIR%%/extra/httpd-mpm.conf ] || cp %D/%%EXAMPLESDIR%%/extra/httpd-mpm.conf %D/%%ETCDIR%%/extra/httpd-mpm.conf
-@unexec if cmp -s %D/%%ETCDIR%%/extra/httpd-multilang-errordoc.conf %D/%%EXAMPLESDIR%%/extra/httpd-multilang-errordoc.conf; then rm -f %D/%%ETCDIR%%/extra/httpd-multilang-errordoc.conf; fi
-%%EXAMPLESDIR%%/extra/httpd-multilang-errordoc.conf
-@exec [ -f %D/%%ETCDIR%%/extra/httpd-multilang-errordoc.conf ] || cp %D/%%EXAMPLESDIR%%/extra/httpd-multilang-errordoc.conf %D/%%ETCDIR%%/extra/httpd-multilang-errordoc.conf
-@unexec if cmp -s %D/%%ETCDIR%%/extra/httpd-ssl.conf %D/%%EXAMPLESDIR%%/extra/httpd-ssl.conf; then rm -f %D/%%ETCDIR%%/extra/httpd-ssl.conf; fi
-%%EXAMPLESDIR%%/extra/httpd-ssl.conf
-@exec [ -f %D/%%ETCDIR%%/extra/httpd-ssl.conf ] || cp %D/%%EXAMPLESDIR%%/extra/httpd-ssl.conf %D/%%ETCDIR%%/extra/httpd-ssl.conf
-@unexec if cmp -s %D/%%ETCDIR%%/extra/httpd-userdir.conf %D/%%EXAMPLESDIR%%/extra/httpd-userdir.conf; then rm -f %D/%%ETCDIR%%/extra/httpd-userdir.conf; fi
-%%EXAMPLESDIR%%/extra/httpd-userdir.conf
-@exec [ -f %D/%%ETCDIR%%/extra/httpd-userdir.conf ] || cp %D/%%EXAMPLESDIR%%/extra/httpd-userdir.conf %D/%%ETCDIR%%/extra/httpd-userdir.conf
-@unexec if cmp -s %D/%%ETCDIR%%/extra/httpd-vhosts.conf %D/%%EXAMPLESDIR%%/extra/httpd-vhosts.conf; then rm -f %D/%%ETCDIR%%/extra/httpd-vhosts.conf; fi
-%%EXAMPLESDIR%%/extra/httpd-vhosts.conf
-@exec [ -f %D/%%ETCDIR%%/extra/httpd-vhosts.conf ] || cp %D/%%EXAMPLESDIR%%/extra/httpd-vhosts.conf %D/%%ETCDIR%%/extra/httpd-vhosts.conf
-@unexec if cmp -s %D/%%ETCDIR%%/extra/proxy-html.conf %D/%%EXAMPLESDIR%%/extra/proxy-html.conf; then rm -f %D/%%ETCDIR%%/extra/proxy-html.conf; fi
-%%EXAMPLESDIR%%/extra/proxy-html.conf
-@exec [ -f %D/%%ETCDIR%%/extra/proxy-html.conf ] || cp %D/%%EXAMPLESDIR%%/extra/proxy-html.conf %D/%%ETCDIR%%/extra/proxy-html.conf
-@unexec if cmp %D/%%ETCDIR%%/httpd.conf %D/%%EXAMPLESDIR%%/httpd.conf; then rm -vf %D/%%ETCDIR%%/httpd.conf; fi
-%%EXAMPLESDIR%%/httpd.conf
-@exec [ -f %D/%%ETCDIR%%/httpd.conf ] || cp -v %D/%%EXAMPLESDIR%%/httpd.conf %D/%%ETCDIR%%/httpd.conf
-@unexec if cmp -s %D/%%WWWDIR%%/data/index.html %D/%%EXAMPLESDIR%%/index.html; then rm -f %D/%%WWWDIR%%/data/index.html; fi
-%%EXAMPLESDIR%%/index.html
-@exec [ -d %D/%%WWWDIR%%/data ] || mkdir -p %D/%%WWWDIR%%/data
-@exec [ -f %D/%%WWWDIR%%/data/index.html ] || cp %D/%%EXAMPLESDIR%%/index.html %D/%%WWWDIR%%/data/index.html
-@unexec if cmp -s %D/%%ETCDIR%%/magic %D/%%EXAMPLESDIR%%/magic; then rm -f %D/%%ETCDIR%%/magic; fi
-%%EXAMPLESDIR%%/magic
-@exec [ -f %D/%%ETCDIR%%/magic ] || cp %D/%%EXAMPLESDIR%%/magic %D/%%ETCDIR%%/magic
-@unexec if cmp -s %D/%%ETCDIR%%/mime.types %D/%%EXAMPLESDIR%%/mime.types; then rm -f %D/%%ETCDIR%%/mime.types; fi
-%%EXAMPLESDIR%%/mime.types
-@exec [ -f %D/%%ETCDIR%%/mime.types ] || cp %D/%%EXAMPLESDIR%%/mime.types %D/%%ETCDIR%%/mime.types
-%%EXAMPLESDIR%%/modules.d/README_modules.d
-%%WWWDIR%%/cgi-bin/printenv
-%%WWWDIR%%/cgi-bin/printenv.vbs
-%%WWWDIR%%/cgi-bin/printenv.wsf
-%%WWWDIR%%/cgi-bin/test-cgi
+@unexec if cmp -s %D/%%WWWDIR%%/data/index.html %D/%%DATADIR%%/misc/index.html; then rm -f %D/%%WWWDIR%%/data/index.html; fi
+%%DATADIR%%/misc/index.html
+@exec [ -f %D/%%WWWDIR%%/data/index.html ] || cp %D/%%DATADIR%%/misc/index.html %D/%%WWWDIR%%/data/index.html
+@(,,0400) %%WWWDIR%%/cgi-bin/printenv
+@(,,0400) %%WWWDIR%%/cgi-bin/test-cgi
%%WWWDIR%%/error/HTTP_BAD_GATEWAY.html.var
%%WWWDIR%%/error/HTTP_BAD_REQUEST.html.var
%%WWWDIR%%/error/HTTP_FORBIDDEN.html.var
@@ -544,7 +510,5 @@ sbin/split-logfile
%%WWWDIR%%/icons/world2.png
%%WWWDIR%%/icons/xml.png
@unexec rm -f %D/%%ETCDIR%%/httpd.conf.bak 2> /dev/null || true
-@dir %%ETCDIR%%/Includes
@dir %%ETCDIR%%/envvars.d
-@dir %%ETCDIR%%/extra
@dir %%WWWDIR%%/data