pkgsrc/www/apache24/Makefile

205 lines
6.9 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.88 2020/01/18 21:48:29 jperkin Exp $
#
# When updating this package, make sure that no strings like
# "PR 12345" are in the commit message. Upstream likes
# to reference their own PRs this way, but this ends up
# in NetBSD GNATS.
apache24: updated to 2.4.41 Changes with Apache 2.4.41 *) SECURITY: CVE-2019-10081 (cve.mitre.org) mod_http2: HTTP/2 very early pushes, for example configured with "H2PushResource", could lead to an overwrite of memory in the pushing request's pool, leading to crashes. The memory copied is that of the configured push link header values, not data supplied by the client. *) SECURITY: CVE-2019-9517 (cve.mitre.org) mod_http2: a malicious client could perform a DoS attack by flooding a connection with requests and basically never reading responses on the TCP connection. Depending on h2 worker dimensioning, it was possible to block those with relatively few connections. *) SECURITY: CVE-2019-10098 (cve.mitre.org) rewrite, core: Set PCRE_DOTALL flag by default to avoid unpredictable matches and substitutions with encoded line break characters. *) SECURITY: CVE-2019-10092 (cve.mitre.org) Remove HTML-escaped URLs from canned error responses to prevent misleading text/links being displayed via crafted links. *) SECURITY: CVE-2019-10097 (cve.mitre.org) mod_remoteip: Fix stack buffer overflow and NULL pointer deference when reading the PROXY protocol header. *) SECURITY: CVE-2019-10082 (cve.mitre.org) mod_http2: Using fuzzed network input, the http/2 session handling could be made to read memory after being freed, during connection shutdown. *) mod_proxy_balancer: Improve balancer-manager protection against XSS/XSRF attacks from trusted users. *) mod_session: Introduce SessionExpiryUpdateInterval which allows to configure the session/cookie expiry's update interval. *) modules/filters: Fix broken compilation when using old GCC (<4.2.x). *) mod_ssl: Fix startup failure in 2.4.40 with SSLCertificateChainFile configured for a domain managed by mod_md.
2019-08-15 10:03:38 +02:00
DISTNAME= httpd-2.4.41
PKGNAME= ${DISTNAME:S/httpd/apache/}
PKGREVISION= 3
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_APACHE:=httpd/}
MASTER_SITES+= http://archive.apache.org/dist/httpd/
MASTER_SITES+= http://archive.eu.apache.org/dist/httpd/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= ryoon@NetBSD.org
HOMEPAGE= http://httpd.apache.org/
COMMENT= Apache HTTP (Web) server, version 2.4
LICENSE= apache-2.0
BUILD_DEFS+= IPV6_READY
BUILD_DEFS+= VARBASE
USE_LIBTOOL= yes
USE_TOOLS+= pax perl pkg-config
2012-04-14 14:46:46 +02:00
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --enable-layout=NetBSD
CONFIGURE_ARGS+= --enable-mods-shared=all
2012-04-14 14:46:46 +02:00
CONFIGURE_ARGS+= --enable-so
CONFIGURE_ARGS+= --with-apr=${BUILDLINK_PREFIX.apr}
CONFIGURE_ARGS+= --with-apr-util=${BUILDLINK_PREFIX.apr-util}
2012-04-14 14:46:46 +02:00
CONFIGURE_ARGS+= --with-port=80
CONFIGURE_ENV+= perlbin=${PERL5:Q}
CONFIGURE_ENV+= ac_cv_path_RSYNC=/nonexistent
.include "../../mk/compiler.mk"
CFLAGS.SunOS+= -D__EXTENSIONS__
.if !empty(CC_VERSION:Mgcc-[5-9]*) || !empty(PKGSRC_COMPILER:Mclang)
CFLAGS.SunOS+= -D_XOPEN_SOURCE=600
.else
CFLAGS.SunOS+= -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1
.endif
Update to 2.4.7 Changelog: Changes with Apache 2.4.7 *) APR 1.5.0 or later is now required for the event MPM. *) slotmem_shm: Error detection. [Jim Jagielski] *) event: Use skiplist data structure. [Jim Jagielski] *) mpm_unix: Add ap_mpm_podx_* implementation to avoid code duplication and align w/ trunk. [Jim Jagielski] *) Fix potential rejection of valid MaxMemFree and ThreadStackSize directives. [Mike Rumph <mike.rumph oracle.com>] *) mod_proxy_fcgi: Remove 64K limit on encoded length of all envvars. An individual envvar with an encoded length of more than 16K will be omitted. [Jeff Trawick] *) mod_proxy_fcgi: Handle reading protocol data that is split between packets. [Jeff Trawick] *) mod_ssl: Improve handling of ephemeral DH and ECDH keys by allowing custom parameters to be configured via SSLCertificateFile, and by adding standardized DH parameters for 1024/2048/3072/4096 bits. Unless custom parameters are configured, the standardized parameters are applied based on the certificate's RSA/DSA key size. [Kaspar Brand] *) mod_ssl, configure: Require OpenSSL 0.9.8a or later. [Kaspar Brand] *) mod_ssl: drop support for export-grade ciphers with ephemeral RSA keys, and unconditionally disable aNULL, eNULL and EXP ciphers (not overridable via SSLCipherSuite). [Kaspar Brand] *) Add experimental cmake-based build system for Windows. [Jeff Trawick, Tom Donovan] *) event MPM: Fix possible crashes (third party modules accessing c->sbh) or occasional missed mod_status updates for some keepalive requests under load. [Eric Covener] *) mod_authn_socache: Support optional initialization arguments for socache providers. [Chris Darroch] *) mod_session: Reset the max-age on session save. Bug 47476. [Alexey Varlamov <alexey.v.varlamov gmail com>] *) mod_session: After parsing the value of the header specified by the SessionHeader directive, remove the value from the response. Bug 55279. [Graham Leggett] *) mod_headers: Allow for format specifiers in the substitution string when using Header edit. [Daniel Ruggeri] *) mod_dav: dav_resource->uri is treated as unencoded. This was an unnecessary ABI changed introduced in 2.4.6. Bug 55397. *) mod_dav: Don't require lock tokens for COPY source. Bug 55306. *) core: Don't truncate output when sending is interrupted by a signal, such as from an exiting CGI process. Bug 55643. [Jeff Trawick] *) WinNT MPM: Exit the child if the parent process crashes or is terminated. [Oracle Corporation] *) Windows: Correct failure to discard stderr in some error log configurations. (Error message AH00093) [Jeff Trawick] *) mod_session_crypto: Allow using exec: calls to obtain session encryption key. [Daniel Ruggeri] *) core: Add missing Reason-Phrase in HTTP response headers. Bug 54946. [Rainer Jung] *) mod_rewrite: Make rewrite websocket-aware to allow proxying. Bug 55598. [Chris Harris <chris.harris kitware com>] *) mod_ldap: When looking up sub-groups, use an implicit objectClass=* instead of an explicit cn=* filter. [David Hawes <dhawes vt.edu>] *) ab: Add wait time, fix processing time, and output write errors only if they occured. [Christophe Jaillet] *) worker MPM: Don't forcibly kill worker threads if the child process is exiting gracefully. [Oracle Corporation] *) core: apachectl -S prints wildcard name-based virtual hosts twice. Bug 54948 [Eric Covener] *) mod_auth_basic: Add AuthBasicUseDigestAlgorithm directive to allow migration of passwords from digest to basic authentication. [Chris Darroch] *) ab: Add a new -l parameter in order not to check the length of the responses. This can be usefull with dynamic pages. Bug 9945, Bug 27888, Bug 42040 [<ccikrs1 cranbrook edu>] *) Suppress formatting of startup messages written to the console when ErrorLogFormat is used. [Jeff Trawick] *) mod_auth_digest: Be more specific when the realm mismatches because the realm has not been specified. [Graham Leggett] *) mod_proxy: Add a note in the balancer manager stating whether changes will or will not be persisted and whether settings are inherited. [Daniel Ruggeri, Jim Jagielski] *) mod_cache: Avoid a crash with strcmp() when the hostname is not provided. [Graham Leggett] *) core: Add util_fcgi.h and associated definitions and support routines for FastCGI, based largely on mod_proxy_fcgi. [Jeff Trawick] *) mod_headers: Add 'Header note header-name note-name' for copying a response headers value into a note. [Eric Covener] *) mod_headers: Add 'setifempty' command to Header and RequestHeader. [Eric Covener] *) mod_logio: new format-specifier %S (sum) which is the sum of received and sent byte counts. Bug 54015 [Christophe Jaillet] *) mod_deflate: Improve error detection when decompressing request bodies with trailing garbage: handle case where trailing bytes are in the same bucket. [Rainer Jung] *) mod_authz_groupfile, mod_authz_user: Reduce severity of AH01671 and AH01663 from ERROR to DEBUG, since these modules do not know what mod_authz_core is doing with their AUTHZ_DENIED return value. [Eric Covener] *) mod_ldap: add TRACE5 for LDAP retries. [Eric Covener] *) mod_ldap: retry on an LDAP timeout during authn. [Eric Covener] *) mod_ldap: Change "LDAPReferrals off" to actually set the underlying LDAP SDK option to OFF, and introduce "LDAPReferrals default" to take the SDK default, sans rebind authentication callback. [Jan Kaluza <kaluze AT redhat.com>] *) core: Log a message at TRACE1 when the client aborts a connection. [Eric Covener] *) WinNT MPM: Don't crash during child process initialization if the Listen protocol is unrecognized. [Jeff Trawick] *) modules: Fix some compiler warnings. [Guenter Knauf] *) Sync 2.4 and trunk - Avoid some memory allocation and work when TRACE1 is not activated - fix typo in include guard - indent - No need to lower the string before removing the path, it is just a waste of time... - Save a few cycles [Christophe Jaillet <christophe.jaillet wanadoo.fr>] *) mod_filter: Add "change=no" as a proto-flag to FilterProtocol to remove a providers initial flags set at registration time. [Eric Covener] *) core, mod_ssl: Enable the ability for a module to reverse the sense of a poll event from a read to a write or vice versa. This is a step on the way to allow mod_ssl taking full advantage of the event MPM. [Graham Leggett] *) Makefile.win: Install proper pcre DLL file during debug build install. Bug 55235. [Ben Reser <ben reser org>] *) mod_ldap: Fix a potential memory leak or corruption. Bug 54936. [Zhenbo Xu <zhenbo1987 gmail com>] *) ab: Fix potential buffer overflows when processing the T and X command-line options. Bug 55360. [Mike Rumph <mike.rumph oracle.com>] *) fcgistarter: Specify SO_REUSEADDR to allow starting a server with old connections in TIME_WAIT. [Jeff Trawick] *) core: Add open_htaccess hook which, in conjunction with dirwalk_stat and post_perdir_config (introduced in 2.4.5), allows mpm-itk to be used without patches to httpd core. [Stefan Fritsch] *) support/htdbm: fix processing of -t command line switch. Regression introduced in 2.4.4 Bug 55264 [Jo Rhett <jrhett netconsonance com>] [Apache 2.3.0-dev includes those bug fixes and changes with the Apache 2.2.xx tree as documented, and except as noted, below.] Changes with Apache 2.2.x and later: *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/CHANGES?view=markup Changes with Apache 2.0.x and later: *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/CHANGES?view=markup
2013-12-01 11:02:34 +01:00
BUILDLINK_API_DEPENDS.apr+= apr>=1.5.0
.include "../../devel/apr/buildlink3.mk"
Update to 2.4.7 Changelog: Changes with Apache 2.4.7 *) APR 1.5.0 or later is now required for the event MPM. *) slotmem_shm: Error detection. [Jim Jagielski] *) event: Use skiplist data structure. [Jim Jagielski] *) mpm_unix: Add ap_mpm_podx_* implementation to avoid code duplication and align w/ trunk. [Jim Jagielski] *) Fix potential rejection of valid MaxMemFree and ThreadStackSize directives. [Mike Rumph <mike.rumph oracle.com>] *) mod_proxy_fcgi: Remove 64K limit on encoded length of all envvars. An individual envvar with an encoded length of more than 16K will be omitted. [Jeff Trawick] *) mod_proxy_fcgi: Handle reading protocol data that is split between packets. [Jeff Trawick] *) mod_ssl: Improve handling of ephemeral DH and ECDH keys by allowing custom parameters to be configured via SSLCertificateFile, and by adding standardized DH parameters for 1024/2048/3072/4096 bits. Unless custom parameters are configured, the standardized parameters are applied based on the certificate's RSA/DSA key size. [Kaspar Brand] *) mod_ssl, configure: Require OpenSSL 0.9.8a or later. [Kaspar Brand] *) mod_ssl: drop support for export-grade ciphers with ephemeral RSA keys, and unconditionally disable aNULL, eNULL and EXP ciphers (not overridable via SSLCipherSuite). [Kaspar Brand] *) Add experimental cmake-based build system for Windows. [Jeff Trawick, Tom Donovan] *) event MPM: Fix possible crashes (third party modules accessing c->sbh) or occasional missed mod_status updates for some keepalive requests under load. [Eric Covener] *) mod_authn_socache: Support optional initialization arguments for socache providers. [Chris Darroch] *) mod_session: Reset the max-age on session save. Bug 47476. [Alexey Varlamov <alexey.v.varlamov gmail com>] *) mod_session: After parsing the value of the header specified by the SessionHeader directive, remove the value from the response. Bug 55279. [Graham Leggett] *) mod_headers: Allow for format specifiers in the substitution string when using Header edit. [Daniel Ruggeri] *) mod_dav: dav_resource->uri is treated as unencoded. This was an unnecessary ABI changed introduced in 2.4.6. Bug 55397. *) mod_dav: Don't require lock tokens for COPY source. Bug 55306. *) core: Don't truncate output when sending is interrupted by a signal, such as from an exiting CGI process. Bug 55643. [Jeff Trawick] *) WinNT MPM: Exit the child if the parent process crashes or is terminated. [Oracle Corporation] *) Windows: Correct failure to discard stderr in some error log configurations. (Error message AH00093) [Jeff Trawick] *) mod_session_crypto: Allow using exec: calls to obtain session encryption key. [Daniel Ruggeri] *) core: Add missing Reason-Phrase in HTTP response headers. Bug 54946. [Rainer Jung] *) mod_rewrite: Make rewrite websocket-aware to allow proxying. Bug 55598. [Chris Harris <chris.harris kitware com>] *) mod_ldap: When looking up sub-groups, use an implicit objectClass=* instead of an explicit cn=* filter. [David Hawes <dhawes vt.edu>] *) ab: Add wait time, fix processing time, and output write errors only if they occured. [Christophe Jaillet] *) worker MPM: Don't forcibly kill worker threads if the child process is exiting gracefully. [Oracle Corporation] *) core: apachectl -S prints wildcard name-based virtual hosts twice. Bug 54948 [Eric Covener] *) mod_auth_basic: Add AuthBasicUseDigestAlgorithm directive to allow migration of passwords from digest to basic authentication. [Chris Darroch] *) ab: Add a new -l parameter in order not to check the length of the responses. This can be usefull with dynamic pages. Bug 9945, Bug 27888, Bug 42040 [<ccikrs1 cranbrook edu>] *) Suppress formatting of startup messages written to the console when ErrorLogFormat is used. [Jeff Trawick] *) mod_auth_digest: Be more specific when the realm mismatches because the realm has not been specified. [Graham Leggett] *) mod_proxy: Add a note in the balancer manager stating whether changes will or will not be persisted and whether settings are inherited. [Daniel Ruggeri, Jim Jagielski] *) mod_cache: Avoid a crash with strcmp() when the hostname is not provided. [Graham Leggett] *) core: Add util_fcgi.h and associated definitions and support routines for FastCGI, based largely on mod_proxy_fcgi. [Jeff Trawick] *) mod_headers: Add 'Header note header-name note-name' for copying a response headers value into a note. [Eric Covener] *) mod_headers: Add 'setifempty' command to Header and RequestHeader. [Eric Covener] *) mod_logio: new format-specifier %S (sum) which is the sum of received and sent byte counts. Bug 54015 [Christophe Jaillet] *) mod_deflate: Improve error detection when decompressing request bodies with trailing garbage: handle case where trailing bytes are in the same bucket. [Rainer Jung] *) mod_authz_groupfile, mod_authz_user: Reduce severity of AH01671 and AH01663 from ERROR to DEBUG, since these modules do not know what mod_authz_core is doing with their AUTHZ_DENIED return value. [Eric Covener] *) mod_ldap: add TRACE5 for LDAP retries. [Eric Covener] *) mod_ldap: retry on an LDAP timeout during authn. [Eric Covener] *) mod_ldap: Change "LDAPReferrals off" to actually set the underlying LDAP SDK option to OFF, and introduce "LDAPReferrals default" to take the SDK default, sans rebind authentication callback. [Jan Kaluza <kaluze AT redhat.com>] *) core: Log a message at TRACE1 when the client aborts a connection. [Eric Covener] *) WinNT MPM: Don't crash during child process initialization if the Listen protocol is unrecognized. [Jeff Trawick] *) modules: Fix some compiler warnings. [Guenter Knauf] *) Sync 2.4 and trunk - Avoid some memory allocation and work when TRACE1 is not activated - fix typo in include guard - indent - No need to lower the string before removing the path, it is just a waste of time... - Save a few cycles [Christophe Jaillet <christophe.jaillet wanadoo.fr>] *) mod_filter: Add "change=no" as a proto-flag to FilterProtocol to remove a providers initial flags set at registration time. [Eric Covener] *) core, mod_ssl: Enable the ability for a module to reverse the sense of a poll event from a read to a write or vice versa. This is a step on the way to allow mod_ssl taking full advantage of the event MPM. [Graham Leggett] *) Makefile.win: Install proper pcre DLL file during debug build install. Bug 55235. [Ben Reser <ben reser org>] *) mod_ldap: Fix a potential memory leak or corruption. Bug 54936. [Zhenbo Xu <zhenbo1987 gmail com>] *) ab: Fix potential buffer overflows when processing the T and X command-line options. Bug 55360. [Mike Rumph <mike.rumph oracle.com>] *) fcgistarter: Specify SO_REUSEADDR to allow starting a server with old connections in TIME_WAIT. [Jeff Trawick] *) core: Add open_htaccess hook which, in conjunction with dirwalk_stat and post_perdir_config (introduced in 2.4.5), allows mpm-itk to be used without patches to httpd core. [Stefan Fritsch] *) support/htdbm: fix processing of -t command line switch. Regression introduced in 2.4.4 Bug 55264 [Jo Rhett <jrhett netconsonance com>] [Apache 2.3.0-dev includes those bug fixes and changes with the Apache 2.2.xx tree as documented, and except as noted, below.] Changes with Apache 2.2.x and later: *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/CHANGES?view=markup Changes with Apache 2.0.x and later: *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/CHANGES?view=markup
2013-12-01 11:02:34 +01:00
BUILDLINK_API_DEPENDS.apr-util+= apr-util>=1.5.3
.include "../../devel/apr-util/buildlink3.mk"
.include "../../devel/pcre/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../textproc/expat/buildlink3.mk"
.include "../../mk/dlopen.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
CONFIGURE_ARGS+= --enable-proxy-fdpass
DFLT_APACHE_MODULES+= all
APACHE_MODULES?= ${DFLT_APACHE_MODULES}
.include "options.mk"
# LDAP support
PLIST_VARS+= ldap
.if !empty(PKG_BUILD_OPTIONS.apr-util:Mldap)
DFLT_APACHE_MODULES+= ldap authnz_ldap
PLIST.ldap= yes
.endif
PLIST_VARS+= ssl
.if !empty(PKG_BUILD_OPTIONS.apr-util:Mssl)
PLIST.ssl= yes
.endif
APACHE_USER?= www
APACHE_GROUP?= www
PKG_GROUPS= ${APACHE_GROUP}
PKG_USERS= ${APACHE_USER}:${APACHE_GROUP}
PKG_GROUPS_VARS= APACHE_GROUP
PKG_USERS_VARS= APACHE_USER
PKG_SYSCONFVAR= apache
apache24: updated to 2.4.38 Changes with Apache 2.4.38 *) SECURITY: CVE-2018-17199 (cve.mitre.org) mod_session: mod_session_cookie does not respect expiry time allowing sessions to be reused. *) SECURITY: CVE-2018-17189 (cve.mitre.org) mod_http2: fixes a DoS attack vector. By sending slow request bodies to resources not consuming them, httpd cleanup code occupies a server thread unnecessarily. This was changed to an immediate stream reset which discards all stream state and incoming data. *) SECURITY: CVE-2019-0190 (cve.mitre.org) mod_ssl: Fix infinite loop triggered by a client-initiated renegotiation in TLSv1.2 (or earlier) with OpenSSL 1.1.1 and later. *) mod_ssl: Clear retry flag before aborting client-initiated renegotiation. *) mod_negotiation: Treat LanguagePriority as case-insensitive to match AddLanguage behavior and HTTP specification. *) mod_md: incorrect behaviour when synchronizing ongoing ACME challenges have been fixed. *) mod_setenvif: We can have expressions that become true if a regex pattern in the expression does NOT match. In this case val is NULL and we should just set the value for the environment variable like in the pattern case. *) mod_session: Always decode session attributes early. *) core: Incorrect values for environment variables are substituted when multiple environment variables are specified in a directive. *) mod_rewrite: Only create the global mutex used by "RewriteMap prg:" when this type of map is present in the configuration. *) mod_dav: Fix invalid Location header when a resource is created by passing an absolute URI on the request line *) mod_session_cookie: avoid duplicate Set-Cookie header in the response. *) mod_ssl: clear *SSL errors before loading certificates and checking afterwards. Otherwise errors are reported when other SSL using modules are in play. *) mod_ssl: Fix the error code returned in an error path of 'ssl_io_filter_handshake()'. This messes-up error handling performed in 'ssl_io_filter_error()' *) mod_ssl: Fix $HTTPS definition for "SSLEngine optional" case, and fix authz provider so "Require ssl" works correctly in HTTP/2. *) mod_proxy: If ProxyPassReverse is used for reverse mapping of relative redirects, subsequent ProxyPassReverse statements, whether they are relative or absolute, may fail. *) mod_lua: Now marked as a stable module
2019-01-23 13:04:18 +01:00
PKG_SYSCONFSUBDIR= httpd
EGDIR= ${PREFIX}/share/examples/httpd
SBINDIR= ${PREFIX}/sbin
CONF_FILES+= ${EGDIR}/httpd.conf ${PKG_SYSCONFDIR}/httpd.conf
.for f in autoindex dav default info languages manual mpm \
multilang-errordoc ssl userdir vhosts
CONF_FILES+= ${EGDIR}/extra/httpd-${f}.conf \
${PKG_SYSCONFDIR}/httpd-${f}.conf
.endfor
CONF_FILES+= ${EGDIR}/magic ${PKG_SYSCONFDIR}/magic
CONF_FILES+= ${EGDIR}/mime.types ${PKG_SYSCONFDIR}/mime.types
RCD_SCRIPTS= apache
REQD_DIRS= ${PREFIX}/share/httpd
REQD_DIRS+= ${PREFIX}/share/httpd/htdocs
OWN_DIRS= ${VARBASE}/log/httpd
OWN_DIRS+= ${VARBASE}/db/httpd
OWN_DIRS_PERMS+= ${VARBASE}/db/httpd/proxy ${APACHE_USER} ${APACHE_GROUP} 0755
FIX_PERMS_SBIN= apachectl envvars-std
FIX_PERMS_BIN= apxs dbmmanage mkcert
FIX_MAN_PERMS= man1/htdbm.1 man1/htpasswd.1 man1/htdigest.1
FIX_MAN_PERMS+= man1/dbmmanage.1 man8/httpd.8 man8/suexec.8
FIX_MAN_PERMS+= man8/rotatelogs.8 man1/logresolve.1 man1/apxs.1
FIX_MAN_PERMS+= man8/apachectl.8 man1/ab.1 man1/httxt2dbm.1
# Fix paths in the apache manpages.
SUBST_CLASSES+= man
SUBST_STAGE.man= pre-configure
SUBST_MESSAGE.man= Fixing paths in man pages.
SUBST_FILES.man= docs/man/*.1 docs/man/*.8
SUBST_SED.man= -e 's,/usr/local/etc/apache,${PKG_SYSCONFDIR},'
SUBST_SED.man+= -e 's,/path/to/apache/etc,${PKG_SYSCONFDIR},'
SUBST_SED.man+= -e 's,/usr/local/apache2,${PREFIX}/share/httpd/htdocs,'
SUBST_SED.man+= -e 's,/usr/web,${PREFIX}/share/httpd/htdocs,'
SUBST_CLASSES+= paths
SUBST_STAGE.paths= pre-configure
SUBST_MESSAGE.paths= Fixing paths.
SUBST_FILES.paths= config.layout Makefile.in support/apxs.in
SUBST_VARS.paths= PREFIX
SUBST_VARS.paths+= VARBASE
SUBST_SED.paths+= -e "s|@SYSCONFDIR@|${PKG_SYSCONFDIR}|g"
apache24: updated to 2.4.41 Changes with Apache 2.4.41 *) SECURITY: CVE-2019-10081 (cve.mitre.org) mod_http2: HTTP/2 very early pushes, for example configured with "H2PushResource", could lead to an overwrite of memory in the pushing request's pool, leading to crashes. The memory copied is that of the configured push link header values, not data supplied by the client. *) SECURITY: CVE-2019-9517 (cve.mitre.org) mod_http2: a malicious client could perform a DoS attack by flooding a connection with requests and basically never reading responses on the TCP connection. Depending on h2 worker dimensioning, it was possible to block those with relatively few connections. *) SECURITY: CVE-2019-10098 (cve.mitre.org) rewrite, core: Set PCRE_DOTALL flag by default to avoid unpredictable matches and substitutions with encoded line break characters. *) SECURITY: CVE-2019-10092 (cve.mitre.org) Remove HTML-escaped URLs from canned error responses to prevent misleading text/links being displayed via crafted links. *) SECURITY: CVE-2019-10097 (cve.mitre.org) mod_remoteip: Fix stack buffer overflow and NULL pointer deference when reading the PROXY protocol header. *) SECURITY: CVE-2019-10082 (cve.mitre.org) mod_http2: Using fuzzed network input, the http/2 session handling could be made to read memory after being freed, during connection shutdown. *) mod_proxy_balancer: Improve balancer-manager protection against XSS/XSRF attacks from trusted users. *) mod_session: Introduce SessionExpiryUpdateInterval which allows to configure the session/cookie expiry's update interval. *) modules/filters: Fix broken compilation when using old GCC (<4.2.x). *) mod_ssl: Fix startup failure in 2.4.40 with SSLCertificateChainFile configured for a domain managed by mod_md.
2019-08-15 10:03:38 +02:00
SUBST_VARS.paths+= PAX PREFIX
SUBST_CLASSES+= apr-lt
SUBST_STAGE.apr-lt= post-configure
SUBST_MESSAGE.apr-lt= Fixing libtool references.
SUBST_FILES.apr-lt= build/config_vars.mk
SUBST_SED.apr-lt= -e 's|^\(LIBTOOL =\) [^ ]*|\1 $$(SHELL) $$(top_builddir)/build/libtool|g'
SUBST_CLASSES+= confs
SUBST_STAGE.confs= post-configure
SUBST_MESSAGE.confs= Fixing configuration files.
SUBST_FILES.confs= docs/conf/httpd.conf
SUBST_FILES.confs+= docs/conf/extra/httpd-ssl.conf
SUBST_SED.confs= -e "s|${EGDIR}|${PKG_SYSCONFDIR}|g"
SUBST_SED.confs+= -e "s|${PREFIX}/htdocs|${PREFIX}/share/httpd/htdocs|g"
SUBST_SED.confs+= -e "s|${PREFIX}/conf|${PKG_SYSCONFDIR}|g"
SUBST_SED.confs+= -e 's|^\(User[ ]\).*|\1${APACHE_USER}|g'
SUBST_SED.confs+= -e 's|^\(Group[ ]\).*|\1${APACHE_GROUP}|g'
SUBST_SED.confs+= -e 's|^Listen \(.*\)|Listen 0.0.0.0:\1|g'
# abs_srcdir in config_vars.mk is used during install so needs to reference
# the work dir path, and by other packages such as ap2-fastcgi after install,
# so we fix after install to reference the installed path
SUBST_CLASSES+= abs_srcdir
SUBST_STAGE.abs_srcdir= post-install
SUBST_MESSAGE.abs_srcdir= Fixing abs_srcdir
SUBST_FILES.abs_srcdir= ${DESTDIR}${PREFIX}/share/httpd/build/config_vars.mk
SUBST_SED.abs_srcdir= -e 's|^\(abs_srcdir =\) .*|\1 ${PREFIX}/share/httpd|'
REPLACE_PERL= docs/cgi-examples/printenv
apache24: updated to 2.4.34 Apache 2.4.34 *) SECURITY: CVE-2018-8011 (cve.mitre.org) mod_md: DoS via Coredumps on specially crafted requests *) SECURITY: CVE-2018-1333 (cve.mitre.org) mod_http2: DoS for HTTP/2 connections by specially crafted requests *) Introduce zh-cn and zh-tw (simplified and traditional Chinese) error document translations. *) event: avoid possible race conditions with modules on the child pool. *) mod_proxy: Fix a corner case where the ProxyPassReverseCookieDomain or ProxyPassReverseCookiePath directive could fail to update correctly 'domain=' or 'path=' in the 'Set-Cookie' header. *) mod_ratelimit: fix behavior when proxing content. *) core: Re-allow '_' (underscore) in hostnames. *) mod_authz_core: If several parameters are used in a AuthzProviderAlias directive, if these parameters are not enclosed in quotation mark, only the first one is handled. The other ones are silently ignored. Add a message to warn about such a spurious configuration. *) mod_md: improvements and bugfixes - MDNotifyCmd now takes additional parameter that are passed on to the called command. - ACME challenges have better checks for interference with other modules - ACME challenges are only handled for domains managed by the module, allowing other ACME clients to operate for other domains in the server. - better libressl integration *) mod_proxy_wstunnel: Add default schema ports for 'ws' and 'wss'. *) logging: Some early logging-related startup messages could be lost when using syslog for the global ErrorLog. *) mod_cache: Handle case of an invalid Expires header value RFC compliant like the case of an Expires time in the past: allow to overwrite the non-caching decision using CacheStoreExpired and respect Cache-Control "max-age" and "s-maxage". *) mod_xml2enc: Fix forwarding of error metadata/responses. *) mod_proxy_http: Fix response header thrown away after the previous one was considered too large and truncated. *) core: Add and handle AP_GETLINE_NOSPC_EOL flag for ap_getline() family of functions to consume the end of line when the buffer is exhausted. *) mod_proxy_http: Add new worker parameter 'responsefieldsize' to allow maximum HTTP response header size to be increased past 8192 bytes. *) mod_ssl: Extend SSLOCSPEnable with mode 'leaf' that only checks the leaf of a certificate chain. *) http: Fix small memory leak per request when handling persistent connections. *) mod_proxy_html: Fix variable interpolation and memory allocation failure in ProxyHTMLURLMap. *) mod_remoteip: Fix RemoteIP{Trusted,Internal}ProxyList loading broken by 2.4.30. *) mod_remoteip: When overriding the useragent address from X-Forwarded-For, zero out what had been initialized as the connection-level port. *) core: In ONE_PROCESS/debug mode, cleanup everything when exiting. *) mod_proxy_balancer: Add hot spare member type and corresponding flag (R). Hot spare members are used as drop-in replacements for unusable workers in the same load balancer set. This differs from hot standbys which are only used when all workers in a set are unusable. *) suexec: Add --enable-suexec-capabilites support on Linux, to use setuid/setgid capability bits rather than a setuid root binary. *) suexec: Add support for logging to syslog as an alternative to logging to a file; use --without-suexec-logfile --with-suexec-syslog. *) mod_ssl: Restore 2.4.29 behaviour in SSL vhost merging/enabling which broke some rare but previously-working configs. *) core, log: improve sanity checks for the ErrorLog's syslog config, and explicitly allow only lowercase 'syslog' settings. *) mod_http2: accurate reporting of h2 data input/output per request via mod_logio. Fixes an issue where output sizes where counted n-times on reused slave connections. *) mod_http2: Fix unnecessary timeout waits in case streams are aborted. *) mod_http2: restoring the v1.10.16 keepalive timeout behaviour of mod_http2. *) mod_proxy: Do not restrict the maximum pool size for backend connections any longer by the maximum number of threads per process and use a better default if mod_http2 is loaded. *) mod_slotmem_shm: Add generation number to shm filename to fix races with graceful restarts. *) core: Preserve the original HTTP request method in the '%<m' LogFormat when an path-based ErrorDocument is used. *) mod_remoteip: make proxy-protocol work on slave connections, e.g. in HTTP/2 requests. *) mod_ssl: Fix merging of proxy SSL context outside <Proxy> sections, regression introduced in 2.4.30. *) mod_md: Fix compilation with OpenSSL before version 1.0.2. *) mod_dumpio: do nothing below log level TRACE7. *) mod_remoteip: Restore compatibility with APR 1.4 (apr_sockaddr_is_wildcard). *) core: On ECBDIC platforms, some errors related to oversized headers may be misreported or be logged as ASCII escapes. *) mod_ssl: Fix cmake-based build. *) core: Add <IfFile>, <IfDirective> and <IfSection> conditional section containers.
2018-07-19 10:53:58 +02:00
.include "../../devel/zlib/buildlink3.mk"
CONFIGURE_ARGS+= --with-ssl=${BUILDLINK_PREFIX.openssl}
CONFIGURE_ARGS+= --with-z=${BUILDLINK_PREFIX.zlib}
post-extract:
${TOUCH} ${WRKSRC}/build/libtool
${ECHO} "" >> ${WRKSRC}/docs/conf/extra/httpd-languages.conf.in
post-build:
${SED} "s#@PKG_SYSCONFDIR@#${PKG_SYSCONFDIR}#g" \
< ${FILESDIR}/mkcert.sh > ${WRKDIR}/mkcert
INSTALL_TARGET= install-conf install
INSTALL_MAKE_FLAGS+= sysconfdir="${EGDIR}"
post-install:
apache24: updated to 2.4.38 Changes with Apache 2.4.38 *) SECURITY: CVE-2018-17199 (cve.mitre.org) mod_session: mod_session_cookie does not respect expiry time allowing sessions to be reused. *) SECURITY: CVE-2018-17189 (cve.mitre.org) mod_http2: fixes a DoS attack vector. By sending slow request bodies to resources not consuming them, httpd cleanup code occupies a server thread unnecessarily. This was changed to an immediate stream reset which discards all stream state and incoming data. *) SECURITY: CVE-2019-0190 (cve.mitre.org) mod_ssl: Fix infinite loop triggered by a client-initiated renegotiation in TLSv1.2 (or earlier) with OpenSSL 1.1.1 and later. *) mod_ssl: Clear retry flag before aborting client-initiated renegotiation. *) mod_negotiation: Treat LanguagePriority as case-insensitive to match AddLanguage behavior and HTTP specification. *) mod_md: incorrect behaviour when synchronizing ongoing ACME challenges have been fixed. *) mod_setenvif: We can have expressions that become true if a regex pattern in the expression does NOT match. In this case val is NULL and we should just set the value for the environment variable like in the pattern case. *) mod_session: Always decode session attributes early. *) core: Incorrect values for environment variables are substituted when multiple environment variables are specified in a directive. *) mod_rewrite: Only create the global mutex used by "RewriteMap prg:" when this type of map is present in the configuration. *) mod_dav: Fix invalid Location header when a resource is created by passing an absolute URI on the request line *) mod_session_cookie: avoid duplicate Set-Cookie header in the response. *) mod_ssl: clear *SSL errors before loading certificates and checking afterwards. Otherwise errors are reported when other SSL using modules are in play. *) mod_ssl: Fix the error code returned in an error path of 'ssl_io_filter_handshake()'. This messes-up error handling performed in 'ssl_io_filter_error()' *) mod_ssl: Fix $HTTPS definition for "SSLEngine optional" case, and fix authz provider so "Require ssl" works correctly in HTTP/2. *) mod_proxy: If ProxyPassReverse is used for reverse mapping of relative redirects, subsequent ProxyPassReverse statements, whether they are relative or absolute, may fail. *) mod_lua: Now marked as a stable module
2019-01-23 13:04:18 +01:00
${LN} -sf ${PREFIX}/libexec/apr/libtool ${DESTDIR}${PREFIX}/share/httpd/build
${LN} -sf ${SBINDIR}/envvars-std ${DESTDIR}${SBINDIR}/envvars
${INSTALL_SCRIPT} ${WRKDIR}/mkcert ${DESTDIR}${PREFIX}/bin
.for file in ${FIX_PERMS_SBIN}
${CHOWN} ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/sbin/${file}
${CHMOD} ${BINMODE} ${DESTDIR}${PREFIX}/sbin/${file}
.endfor
.for file in ${FIX_PERMS_BIN}
${CHOWN} ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/bin/${file}
${CHMOD} ${BINMODE} ${DESTDIR}${PREFIX}/bin/${file}
.endfor
${CHOWN} -RP ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/share/httpd
${CHOWN} -RP ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/include/httpd
${CHOWN} -RP ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/lib/httpd
${CHOWN} ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/libexec/cgi-bin/test-cgi
${CHOWN} ${BINOWN}:${BINGRP} ${DESTDIR}${PREFIX}/libexec/cgi-bin/printenv
.for file in ${FIX_MAN_PERMS}
${CHOWN} ${MANOWN}:${MANGRP} ${DESTDIR}${PREFIX}/${PKGMANDIR}/${file}
.endfor
${CHMOD} -x ${DESTDIR}${PREFIX}/sbin/envvars-std
.if exists(${DESTDIR}${PREFIX}/sbin/suexec)
${CHMOD} -w ${DESTDIR}${PREFIX}/sbin/suexec
.endif
.include "../../mk/pthread.buildlink3.mk"
2014-05-03 15:01:24 +02:00
.include "../../devel/readline/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"