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:
Olli Hauer 2016-07-05 15:35:38 +00:00
parent f2b79bf7de
commit ef3257c1ba
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=418091
7 changed files with 34 additions and 126 deletions

View File

@ -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>

View File

@ -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= \

View File

@ -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

View File

@ -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

View 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

View File

@ -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;

View File

@ -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