o update to 2.4.23
o disable build time stamp in favor of reproducible build o remove obsolate scoreboard/status patch o s/USE_OPENSSL=yes/USES=ssl/ o add OPTION for two new modules: mod_proxy_hcheck (default=on) mod_http2_proxy (experimental => default=off) Changelog: http://www.apache.org/dist/httpd/CHANGES_2.4.23 MFH: 2016Q3
This commit is contained in:
parent
f2b79bf7de
commit
ef3257c1ba
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=418091
@ -1,8 +1,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= apache24
|
||||
PORTVERSION= 2.4.20
|
||||
PORTREVISION= 1
|
||||
PORTVERSION= 2.4.23
|
||||
CATEGORIES= www ipv6
|
||||
MASTER_SITES= APACHE_HTTPD
|
||||
DISTNAME= httpd-${PORTVERSION}
|
||||
@ -50,6 +49,10 @@ APACHEDIR= ${MASTERDIR}
|
||||
WITH_HTTP_PORT?= 80
|
||||
WITH_SSL_PORT?= 443
|
||||
|
||||
.if !defined(WITH_DEBUG)
|
||||
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-server_buildmark.c
|
||||
.endif
|
||||
|
||||
.include "${APACHEDIR}/Makefile.options"
|
||||
.include "${APACHEDIR}/Makefile.options.desc"
|
||||
|
||||
@ -58,6 +61,7 @@ AUTHN_DBD_IMPLIES= DBD
|
||||
HEARTBEAT_IMPLIES= WATCHDOG STATUS
|
||||
HEARTMONITOR_IMPLIES= WATCHDOG STATUS
|
||||
LBMETHOD_HEARTBEAT_IMPLIES= WATCHDOG STATUS HEARTMONITOR
|
||||
PROXY_HCHECK_IMPLIES= WATCHDOG
|
||||
|
||||
# MPM
|
||||
MPM_PREFORK_CONFIGURE_ON= --with-mpm=prefork
|
||||
@ -76,6 +80,8 @@ HTTP2_LIB_DEPENDS= libnghttp2.so:www/nghttp2
|
||||
LUAJIT_LIB_DEPENDS= libluajit-5.1.so:lang/luajit
|
||||
LUA_CONFIGURE_WITH= lua
|
||||
LUA_USES= lua
|
||||
PROXY_HTTP2_CONFIGURE_ON= --with-nghttp2=${LOCALBASE}
|
||||
PROXY_HTTP2_LIB_DEPENDS= libnghttp2.so:www/nghttp2
|
||||
|
||||
SOCACHE_DC_CONFIGURE_ON= --with-distcache=${LOCALBASE}
|
||||
SOCACHE_DC_LIB_DEPENDS= libdistcache.so:security/distcache
|
||||
@ -86,7 +92,7 @@ SOCACHE_DC_LIB_DEPENDS= libdistcache.so:security/distcache
|
||||
SSL_CFLAGS= -I${OPENSSLINC}
|
||||
SSL_CONFIGURE_ON= --with-ssl=${OPENSSLBASE}
|
||||
SSL_LDFLAGS= -L${OPENSSLLIB}
|
||||
SSL_USE= OPENSSL=yes
|
||||
SSL_USES= ssl
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
|
@ -12,9 +12,10 @@
|
||||
# mod_proxy_html and xml2enc depending on libxml2
|
||||
PROXY_ENABLED_MODULES= \
|
||||
PROXY_AJP PROXY_BALANCER PROXY_CONNECT PROXY_EXPRESS PROXY_FCGI \
|
||||
PROXY_FDPASS PROXY_FTP PROXY_HTTP PROXY_HTML PROXY_SCGI PROXY_WSTUNNEL
|
||||
PROXY_FDPASS PROXY_FTP PROXY_HCHECK PROXY_HTML PROXY_HTTP PROXY_SCGI PROXY_WSTUNNEL
|
||||
|
||||
PROXY_DISABLED_MODULES=
|
||||
PROXY_DISABLED_MODULES= \
|
||||
PROXY_HTTP2
|
||||
|
||||
# SESSION_CRYPTO need APR build with crypto (EVP support in APR)
|
||||
SESSION_ENABLED_MODULES= \
|
||||
|
@ -136,8 +136,10 @@ PROXY_EXPRESS_DESC= Dynamic mass reverse proxy extension for mod_proxy
|
||||
PROXY_FCGI_DESC= FastCGI support module for mod_proxy
|
||||
PROXY_FDPASS_DESC= fdpass external process support module for mod_proxy
|
||||
PROXY_FTP_DESC= FTP support module for mod_proxy
|
||||
PROXY_HCHECK_DESC= Dynamic health check of Balancer members (workers) for mod_proxy
|
||||
PROXY_HTML_DESC= Fix HTML Links in a Reverse Proxy
|
||||
PROXY_HTTP_DESC= HTTP support module for mod_proxy
|
||||
PROXY_HTTP2_DESC= Experimental http2 proxy module for h2 and h2c
|
||||
PROXY_SCGI_DESC= SCGI gateway module for mod_proxy
|
||||
PROXY_WSTUNNEL_DESC= Websockets Tunnel module for mod_proxy
|
||||
|
||||
|
@ -1,2 +1,3 @@
|
||||
SHA256 (apache24/httpd-2.4.20.tar.bz2) = 0e76a375ed3dbac636f50ac39de966ece443751fe4d62392f9a360a19d94d0da
|
||||
SIZE (apache24/httpd-2.4.20.tar.bz2) = 6331344
|
||||
TIMESTAMP = 1467307196
|
||||
SHA256 (apache24/httpd-2.4.23.tar.bz2) = 0c1694b2aad7765896faf92843452ee2555b9591ae10d4f19b245f2adfe85e58
|
||||
SIZE (apache24/httpd-2.4.23.tar.bz2) = 6351875
|
||||
|
15
www/apache24/files/extra-patch-server_buildmark.c
Normal file
15
www/apache24/files/extra-patch-server_buildmark.c
Normal file
@ -0,0 +1,15 @@
|
||||
# disable build time stamp in favor of reproducible build
|
||||
# except building with DEBUG
|
||||
==============================================================
|
||||
--- server/buildmark.c.orig 2016-07-03 16:09:18 UTC
|
||||
+++ server/buildmark.c
|
||||
@@ -17,6 +17,9 @@
|
||||
#include "ap_config.h"
|
||||
#include "httpd.h"
|
||||
|
||||
+/* Allow Reproducible build, do not include build time information */
|
||||
+#undef __DATE__
|
||||
+
|
||||
#if defined(__DATE__) && defined(__TIME__)
|
||||
static const char server_built[] = __DATE__ " " __TIME__;
|
||||
#else
|
@ -1,119 +0,0 @@
|
||||
Fix apache24-2.4.20 scoreboard, see discussion
|
||||
http://mail-archives.apache.org/mod_mbox/httpd-dev/201604.mbox/browser
|
||||
|
||||
Patch based on http://home.apache.org/~ylavic/patches/scoreboard-2.4.18.diff
|
||||
|
||||
Index: server/scoreboard.c
|
||||
===================================================================
|
||||
--- server/scoreboard.c.orig 2016-03-02 13:22:07 UTC
|
||||
+++ server/scoreboard.c
|
||||
@@ -464,22 +464,18 @@ static int update_child_status_internal(
|
||||
{
|
||||
int old_status;
|
||||
worker_score *ws;
|
||||
- process_score *ps;
|
||||
int mpm_generation;
|
||||
|
||||
ws = &ap_scoreboard_image->servers[child_num][thread_num];
|
||||
old_status = ws->status;
|
||||
- if (status >= 0) {
|
||||
- ws->status = status;
|
||||
-
|
||||
- ps = &ap_scoreboard_image->parent[child_num];
|
||||
-
|
||||
- if (status == SERVER_READY
|
||||
- && old_status == SERVER_STARTING) {
|
||||
- ws->thread_num = child_num * thread_limit + thread_num;
|
||||
- ap_mpm_query(AP_MPMQ_GENERATION, &mpm_generation);
|
||||
- ps->generation = mpm_generation;
|
||||
- }
|
||||
+ ws->status = status;
|
||||
+
|
||||
+ if (status == SERVER_READY
|
||||
+ && old_status == SERVER_STARTING) {
|
||||
+ process_score *ps = &ap_scoreboard_image->parent[child_num];
|
||||
+ ws->thread_num = child_num * thread_limit + thread_num;
|
||||
+ ap_mpm_query(AP_MPMQ_GENERATION, &mpm_generation);
|
||||
+ ps->generation = mpm_generation;
|
||||
}
|
||||
|
||||
if (ap_extended_status) {
|
||||
@@ -497,46 +493,42 @@ static int update_child_status_internal(
|
||||
ws->conn_bytes = 0;
|
||||
ws->last_used = apr_time_now();
|
||||
}
|
||||
- if (status == SERVER_READY) {
|
||||
- ws->client[0]='\0';
|
||||
- ws->vhost[0]='\0';
|
||||
- ws->request[0]='\0';
|
||||
- ws->protocol[0]='\0';
|
||||
+
|
||||
+ if (descr) {
|
||||
+ apr_cpystrn(ws->request, descr, sizeof(ws->request));
|
||||
}
|
||||
- else {
|
||||
- if (descr) {
|
||||
- apr_cpystrn(ws->request, descr, sizeof(ws->request));
|
||||
- }
|
||||
- else if (r) {
|
||||
- copy_request(ws->request, sizeof(ws->request), r);
|
||||
- }
|
||||
- if (r) {
|
||||
- if (!(val = ap_get_useragent_host(r, REMOTE_NOLOOKUP, NULL)))
|
||||
- apr_cpystrn(ws->client, r->useragent_ip, sizeof(ws->client));
|
||||
- else
|
||||
- apr_cpystrn(ws->client, val, sizeof(ws->client));
|
||||
- }
|
||||
- else if (c) {
|
||||
- if (!(val = ap_get_remote_host(c, c->base_server->lookup_defaults,
|
||||
- REMOTE_NOLOOKUP, NULL)))
|
||||
- apr_cpystrn(ws->client, c->client_ip, sizeof(ws->client));
|
||||
- else
|
||||
- apr_cpystrn(ws->client, val, sizeof(ws->client));
|
||||
- }
|
||||
- if (s) {
|
||||
- if (c) {
|
||||
- apr_snprintf(ws->vhost, sizeof(ws->vhost), "%s:%d",
|
||||
- s->server_hostname, c->local_addr->port);
|
||||
- }
|
||||
- else {
|
||||
- apr_cpystrn(ws->vhost, s->server_hostname, sizeof(ws->vhost));
|
||||
- }
|
||||
- }
|
||||
+ else if (r) {
|
||||
+ copy_request(ws->request, sizeof(ws->request), r);
|
||||
+ }
|
||||
+
|
||||
+ if (r) {
|
||||
+ if (!(val = ap_get_useragent_host(r, REMOTE_NOLOOKUP, NULL)))
|
||||
+ apr_cpystrn(ws->client, r->useragent_ip, sizeof(ws->client));
|
||||
+ else
|
||||
+ apr_cpystrn(ws->client, val, sizeof(ws->client));
|
||||
+ }
|
||||
+ else if (c) {
|
||||
+ if (!(val = ap_get_remote_host(c, c->base_server->lookup_defaults,
|
||||
+ REMOTE_NOLOOKUP, NULL)))
|
||||
+ apr_cpystrn(ws->client, c->client_ip, sizeof(ws->client));
|
||||
+ else
|
||||
+ apr_cpystrn(ws->client, val, sizeof(ws->client));
|
||||
+ }
|
||||
+
|
||||
+ if (s) {
|
||||
if (c) {
|
||||
- val = ap_get_protocol(c);
|
||||
- apr_cpystrn(ws->protocol, val, sizeof(ws->protocol));
|
||||
+ apr_snprintf(ws->vhost, sizeof(ws->vhost), "%s:%d",
|
||||
+ s->server_hostname, c->local_addr->port);
|
||||
+ }
|
||||
+ else {
|
||||
+ apr_cpystrn(ws->vhost, s->server_hostname, sizeof(ws->vhost));
|
||||
}
|
||||
}
|
||||
+
|
||||
+ if (c) {
|
||||
+ val = ap_get_protocol(c);
|
||||
+ apr_cpystrn(ws->protocol, val, sizeof(ws->protocol));
|
||||
+ }
|
||||
}
|
||||
|
||||
return old_status;
|
@ -175,7 +175,9 @@ libexec/apache24/mod_log_config.so
|
||||
%%MOD_PROXY_FDPASS%%libexec/apache24/mod_proxy_fdpass.so
|
||||
%%MOD_PROXY_FTP%%libexec/apache24/mod_proxy_ftp.so
|
||||
%%MOD_PROXY_HTML%%libexec/apache24/mod_proxy_html.so
|
||||
%%MOD_PROXY_HCHECK%%libexec/apache24/mod_proxy_hcheck.so
|
||||
%%MOD_PROXY_HTTP%%libexec/apache24/mod_proxy_http.so
|
||||
%%MOD_PROXY_HTTP2%%libexec/apache24/mod_proxy_http2.so
|
||||
%%MOD_PROXY_SCGI%%libexec/apache24/mod_proxy_scgi.so
|
||||
%%MOD_PROXY_WSTUNNEL%%libexec/apache24/mod_proxy_wstunnel.so
|
||||
%%MOD_RATELIMIT%%libexec/apache24/mod_ratelimit.so
|
||||
|
Loading…
Reference in New Issue
Block a user