Skip to content

Commit

Permalink
apache: update to 2.4.58.
Browse files Browse the repository at this point in the history
Changes with Apache 2.4.58

  *) mod_ssl: Silence info log message "SSL Library Error: error:0A000126:
     SSL routines::unexpected eof while reading" when using
     OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if
     available. [Rainer Jung]

  *) mod_http2: improved early cleanup of streams.
     [Stefan Eissing]

  *) mod_proxy_http2: improved error handling on connection errors while
     response is already underway.
     [Stefan Eissing]

  *) mod_http2: fixed a bug that could lead to a crash in main connection
     output handling. This occured only when the last request on a HTTP/2
     connection had been processed and the session decided to shut down.
     This could lead to an attempt to send a final GOAWAY while the previous
     write was still in progress. See PR 66646.
     [Stefan Eissing]

  *) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value.
     Fixes PR66752.
     [Stefan Eissing]

  *) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as
     described in RFC 8441. A new directive 'H2WebSockets on|off' has been
     added. The feature is by default not enabled.
     As also discussed in the manual, this feature should work for setups
     using "ProxyPass backend-url upgrade=websocket" without further changes.
     Special server modules for WebSockets will have to be adapted,
     most likely, as the handling if IO events is different with HTTP/2.
     HTTP/2 WebSockets are supported on platforms with native pipes. This
     excludes Windows.
     [Stefan Eissing]

  *) mod_rewrite: Fix a regression with both a trailing ? and [QSA].
     in OCSP stapling. PR 66672. [Frank Meier <frank.meier ergon.ch>, covener]

  *) mod_http2: fixed a bug in flushing pending data on an already closed
     connection that could lead to a busy loop, preventing the HTTP/2 session
     to close down successfully. Fixed PR 66624.
     [Stefan Eissing]

  *) mod_http2: v2.0.15 with the following fixes and improvements
     - New directive 'H2EarlyHint name value' to add headers to a response,
       picked up already when a "103 Early Hints" response is sent. 'name' and
       'value' must comply to the HTTP field restrictions.
       This directive can be repeated several times and header fields of the
       same names add. Sending a 'Link' header with 'preload' relation will
       also cause a HTTP/2 PUSH if enabled and supported by the client.
     - Fixed an issue where requests were not logged and accounted in a timely
       fashion when the connection returns to "keepalive" handling, e.g. when
       the request served was the last outstanding one.
       This led to late appearance in access logs with wrong duration times
       reported.
     - Accurately report the bytes sent for a request in the '%O' Log format.
       This addresses #203, a long outstanding issue where mod_h2 has reported
       numbers over-eagerly from internal buffering and not what has actually
       been placed on the connection.
       The numbers are now the same with and without H2CopyFiles enabled.
     [Stefan Eissing]

  *) mod_proxy_http2: fix retry handling to not leak temporary errors.
     On detecting that that an existing connection was shutdown by the other
     side, a 503 response leaked even though the request was retried on a
     fresh connection.
     [Stefan Eissing]

  *) mod_rewrite: Add server directory to include path as mod_rewrite requires
     test_char.h. PR 66571 [Valeria Petrov <[email protected]>]

  *) mod_http2: new directive `H2ProxyRequests on|off` to enable handling
     of HTTP/2 requests in a forward proxy configuration.
     General forward proxying is enabled via `ProxyRequests`. If the
     HTTP/2 protocol is also enabled for such a server/host, this new
     directive is needed in addition.
     [Stefan Eissing]

  *) core: Updated conf/mime.types:
     - .js moved from 'application/javascript' to 'text/javascript'
     - .mjs was added as 'text/javascript'
     - add .opus ('audio/ogg')
     - add 'application/vnd.geogebra.slides'
     - add WebAssembly MIME types and extension
     [Mathias Bynens <@mathiasbynens> via PR 318,
      Richard de Boer <richard tubul.net>, Dave Hodder <dmh dmh.org.uk>,
      Zbynek Konecny <zbynek1729 gmail.com>]

  *) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend
     connection when sending data on the frontend one. This caused crashes
     or infinite loops in rare situations.
  *) mod_proxy_http2: fixed a bug in retry/response handling that could lead
     to wrong status codes or HTTP messages send at the end of response bodies
     exceeding the announced content-length.
  *) mod_proxy_http2: fix retry handling to not leak temporary errors.
     On detecting that that an existing connection was shutdown by the other
     side, a 503 response leaked even though the request was retried on a
     fresh connection.
  *) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in
     the wrong order when a bucket_beam was destroyed.
     [Stefan Eissing]

  *) mod_http2: avoid double chunked-encoding on internal redirects.
     PR 66597 [Yann Ylavic, Stefan Eissing]

  *) mod_http2: Fix reporting of `Total Accesses` in server-status to not count
     HTTP/2 requests twice. Fixes PR 66801.
     [Stefan Eissing]

  *) mod_ssl: Fix handling of Certificate Revoked messages
     in OCSP stapling. PR 66626. [<gmoniker gmail.com>]

  *) mod_http2: fixed a bug in handling of stream timeouts.
     [Stefan Eissing]

  *) mod_tls: updating to rustls-ffi version 0.9.2 or higher.
     Checking in configure for proper version installed. Code
     fixes for changed clienthello member name.
     [Stefan Eissing]

  *) mod_md:
     - New directive `MDMatchNames all|servernames` to allow more control over how
       MDomains are matched to VirtualHosts.
     - New directive `MDChallengeDns01Version`. Setting this to `2` will provide
       the command also with the challenge value on `teardown` invocation. In version
       1, the default, only the `setup` invocation gets this parameter.
       Refs #312. Thanks to @domrim for the idea.
     - For Managed Domain in "manual" mode, the checks if all used ServerName and
       ServerAlias are part of the MDomain now reports a warning instead of an error
       (AH10040) when not all names are present.
     - MDChallengeDns01 can now be configured for individual domains.
       Using PR from Jérôme Billiras (@bilhackmac) and adding test case and fixing proper working
     - Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge
       teardown not being invoked as it should.

  *) mod_ldap: Avoid performance overhead of APR-util rebind cache for
     OpenLDAP 2.2+.  PR 64414.  [Joe Orton]

  *) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum
     amount of response body bytes put into a single HTTP/2 DATA frame.
     Setting this to 0 places no limit (but the max size allowed by the
     protocol is observed).
     The module, by default, tries to use the maximum size possible, which is
     somewhat around 16KB. This sets the maximum. When less response data is
     available, smaller frames will be sent.

  *) mod_md: fixed passing of the server environment variables to programs
     started via MDMessageCmd and MDChallengeDns01 on *nix system.
     See <icing/mod_md#319>.
     [Stefan Eissing]

  *) mod_dav: Add DavBasePath directive to configure the repository root
     path.  PR 35077.  [Joe Orton]

  *) mod_alias: Add AliasPreservePath directive to map the full
     path after the alias in a location. [Graham Leggett]

  *) mod_alias: Add RedirectRelative to allow relative redirect targets to be
     issued as-is. [Eric Covener, Graham Leggett]

  *) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make
     sure that if the format is configured early enough it applies to every log
     line.  PR 62161.  [Yann Ylavic]

  *) mod_deflate: Add DeflateAlterETag to control how the ETag
     is modified. The 'NoChange' parameter mimics 2.2.x behavior.
     PR 45023, PR 39727. [Eric Covener]

  *) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet]

  *) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers".
     Resolve inconsistency between the previous two occurrences by
     counting workers in state SERVER_GRACEFUL no longer as busy,
     but instead in a new counter "GracefulWorkers" (or on HTML
     view as "workers gracefully restarting"). Also add the graceful
     counter as a new column to the existing HTML per process table
     for async MPMs. PR 63300. [Rainer Jung]
  • Loading branch information
0-wiz-0 committed Oct 19, 2023
1 parent 0571e54 commit 745adb6
Show file tree
Hide file tree
Showing 16 changed files with 30 additions and 1,123 deletions.
5 changes: 2 additions & 3 deletions www/apache24/Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
# $NetBSD: Makefile,v 1.119 2023/04/21 00:34:01 manu Exp $
# $NetBSD: Makefile,v 1.120 2023/10/19 14:22:02 wiz 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.

DISTNAME= httpd-2.4.57
DISTNAME= httpd-2.4.58
PKGNAME= ${DISTNAME:S/httpd/apache/}
PKGREVISION= 2
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_APACHE:=httpd/}
EXTRACT_SUFX= .tar.bz2
Expand Down
24 changes: 6 additions & 18 deletions www/apache24/distinfo
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
$NetBSD: distinfo,v 1.58 2023/04/21 13:52:33 manu Exp $
$NetBSD: distinfo,v 1.59 2023/10/19 14:22:02 wiz Exp $

BLAKE2s (httpd-2.4.57.tar.bz2) = 195ade9907cdaf79c799fbfef03f23c2344e924a1c07b93f0710c513161c5400
SHA512 (httpd-2.4.57.tar.bz2) = 4d1e0a274ee90bdfb5f38d4a7d73a7367ed1c6388e26280e640014e49abc0df03683705b88dcfe2ec2da313dda4c7b4a3b86daffa1911f58e224eba89d82d155
Size (httpd-2.4.57.tar.bz2) = 7457022 bytes
BLAKE2s (httpd-2.4.58.tar.bz2) = 4f2e5e35244b2fe55ddda508b3c2c8bde95de56c60a7c2e53a0972c3362f1b30
SHA512 (httpd-2.4.58.tar.bz2) = d6e73bf413a507ec16b621ff635e178206207a9e9810ce3944b3dc98d39cde8f225307110167fc9da5822175796c8cb66f98be5b9f0d8b76dcd83a401d39b2c1
Size (httpd-2.4.58.tar.bz2) = 7485817 bytes
SHA1 (patch-aa) = 9a66685f1d2e4710ab464beda98cbaad632aebf9
SHA1 (patch-ab) = a3edcc20b7654e0446c7d442cda1510b23e5d324
SHA1 (patch-ad) = 4ba4a9c812951f533fa316e5dbf17eaab5494157
Expand All @@ -12,18 +12,6 @@ SHA1 (patch-ai) = d3870e46e41adc97c3fce86f9ffd224502ad6b0c
SHA1 (patch-al) = 02d9ade5aac4270182063d5ad413970c832ee911
SHA1 (patch-am) = acdf7198ae8b4353cfc70c8015a0f09de036b777
SHA1 (patch-aw) = 43cd64df886853ef7b75b91ed20183f329fcc9df
SHA1 (patch-configure) = 050119b817b53d72909be1906181434bf18fe3d7
SHA1 (patch-configure) = 6a54f65b4ea0ca92ed707d53921ca1d3cd454031
SHA1 (patch-include_ap__config.h) = 1d056e2d4db80ec97aaf755b6dd6aff69ed2cd96
SHA1 (patch-modules_filters_mod_substitute.c) = 730af0342b78de04fe51b7dcc3ed057b2b0c3a54
SHA1 (patch-rfc4331quotas-CMakeLists.txt) = 5caaefd11c49daa4e7bd4fd25b79b8a4521dc9c1
SHA1 (patch-rfc4331quotas-configure) = 40fbeb8ec3392be72ea79e67a899d2921432a332
SHA1 (patch-rfc4331quotas-modules_dav_fs_NWGNUmakefile) = 7fbf0fbf6c4cf2df3e8d67ecddc5d0e7c09bfb11
SHA1 (patch-rfc4331quotas-modules_dav_fs_config6.m4) = b6e57ec9d2eac410a15e844b78c661495ff5a3da
SHA1 (patch-rfc4331quotas-modules_dav_fs_mod_dav_fs.c) = e7bea71ad10358bf739650c06227b0bbf5e4356f
SHA1 (patch-rfc4331quotas-modules_dav_fs_mod_dav_fs.dep) = 139c34fb161a2b27242ea7ae1253f0bec500ea1f
SHA1 (patch-rfc4331quotas-modules_dav_fs_mod_dav_fs.dsp) = 07935d3285003532057ac024294b5007934710b5
SHA1 (patch-rfc4331quotas-modules_dav_fs_mod_dav_fs.mak) = 66200a94bcb42a5533efc1f1536df039a453f17c
SHA1 (patch-rfc4331quotas-modules_dav_fs_quota.c) = fcd0934555e8a1b46da58b8d1e664c1f3994a249
SHA1 (patch-rfc4331quotas-modules_dav_fs_repos.c) = 4ff7cc10b8f636345ae54d88bdadfbd30ef09d99
SHA1 (patch-rfc4331quotas-modules_dav_fs_repos.h) = 0a6d9032116c5b82b2d192551f991b1b94b5d045
SHA1 (patch-rfc4331quotas-modules_dav_main_mod_dav.h) = 9cdc955fa150a4b05560d942611bae08d193e6e2
SHA1 (patch-modules_filters_mod_substitute.c) = d47ee06e70942ab522acf119eb2c4b313aed9bbd
8 changes: 4 additions & 4 deletions www/apache24/patches/patch-configure
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
$NetBSD: patch-configure,v 1.3 2023/01/20 14:03:16 adam Exp $
$NetBSD: patch-configure,v 1.4 2023/10/19 14:22:02 wiz Exp $

--- configure.orig 2023-01-10 13:38:25.000000000 +0000
--- configure.orig 2023-10-16 15:06:18.000000000 +0000
+++ configure
@@ -42087,7 +42087,6 @@ printf "%s\n" "#define SERVER_CONFIG_FIL
printf "%s\n" "#define AP_TYPES_CONFIG_FILE \"${rel_sysconfdir}/mime.types\"" >>confdefs.h
@@ -41305,7 +41305,6 @@ cat >>confdefs.h <<_ACEOF
_ACEOF


-perlbin=`$ac_aux_dir/PrintPath perl`
Expand Down
65 changes: 18 additions & 47 deletions www/apache24/patches/patch-modules_filters_mod_substitute.c
Original file line number Diff line number Diff line change
@@ -1,31 +1,26 @@
$NetBSD: patch-modules_filters_mod_substitute.c,v 1.1 2020/05/04 12:26:37 manu Exp $
$NetBSD: patch-modules_filters_mod_substitute.c,v 1.2 2023/10/19 14:22:02 wiz Exp $

expr= support in RHS, from upstream trunk

--- ./modules/filters/mod_substitute.c.orig
+++ ./modules/filters/mod_substitute.c
@@ -29,8 +29,9 @@
#include "util_filter.h"
--- modules/filters/mod_substitute.c.orig 2021-04-18 19:11:48.000000000 +0000
+++ modules/filters/mod_substitute.c
@@ -30,6 +30,7 @@
#include "util_varbuf.h"
#include "apr_buckets.h"
#include "http_request.h"
+#include "ap_expr.h"
#define APR_WANT_STRFUNC
#include "apr_want.h"

/*
@@ -51,8 +52,9 @@
apr_size_t replen;
@@ -52,6 +53,7 @@ typedef struct subst_pattern_t {
apr_size_t patlen;
int flatten;
const char *from;
+ ap_expr_info_t* expr_replacement;
} subst_pattern_t;

typedef struct {
apr_array_header_t *patterns;
@@ -68,8 +70,13 @@
apr_bucket_brigade *pattbb;
@@ -69,6 +71,11 @@ typedef struct {
apr_pool_t *tpool;
} substitute_module_ctx;

Expand All @@ -37,9 +32,7 @@ expr= support in RHS, from upstream trunk
static void *create_substitute_dcfg(apr_pool_t *p, char *d)
{
subst_dir_conf *dcfg =
(subst_dir_conf *) apr_palloc(p, sizeof(subst_dir_conf));
@@ -96,9 +103,9 @@
* was to apply inherited subst patterns after locally scoped patterns.
@@ -97,7 +104,7 @@ static void *merge_substitute_dcfg(apr_p
* In later 2.2 and 2.4 versions, SubstituteInheritBefore may be toggled
* 'on' to follow the corrected/expected behavior, without violating POLS.
*/
Expand All @@ -48,9 +41,7 @@ expr= support in RHS, from upstream trunk
a->patterns = apr_array_append(p, base->patterns,
over->patterns);
}
else {
@@ -136,13 +143,16 @@
const char *buff;
@@ -137,11 +144,14 @@ static apr_status_t do_pattmatch(ap_filt
struct ap_varbuf vb;
apr_bucket *b;
apr_bucket *tmp_b;
Expand All @@ -66,9 +57,7 @@ expr= support in RHS, from upstream trunk

APR_BRIGADE_INSERT_TAIL(mybb, inb);
ap_varbuf_init(pool, &vb, 0);

@@ -154,8 +164,18 @@
if (cfg->patterns->nelts == 1) {
@@ -155,6 +165,16 @@ static apr_status_t do_pattmatch(ap_filt
force_quick = 1;
}
for (i = 0; i < cfg->patterns->nelts; i++) {
Expand All @@ -85,9 +74,7 @@ expr= support in RHS, from upstream trunk
for (b = APR_BRIGADE_FIRST(mybb);
b != APR_BRIGADE_SENTINEL(mybb);
b = APR_BUCKET_NEXT(b)) {
if (APR_BUCKET_IS_METADATA(b)) {
@@ -186,14 +206,28 @@
* space_left counts how many bytes we have left until the
@@ -187,12 +207,26 @@ static apr_status_t do_pattmatch(ap_filt
* line length reaches max_line_length.
*/
apr_size_t space_left = cfg->max_line_length;
Expand Down Expand Up @@ -116,9 +103,7 @@ expr= support in RHS, from upstream trunk
have_match = 1;
/* get offset into buff for pattern */
len = (apr_size_t) (repl - buff);
if (script->flatten && !force_quick) {
@@ -204,23 +238,23 @@
* contain and use them. This is slow, since we
@@ -205,10 +239,10 @@ static apr_status_t do_pattmatch(ap_filt
* are constanting allocing space and copying
* strings.
*/
Expand All @@ -131,8 +116,7 @@ expr= support in RHS, from upstream trunk
}
else {
/*
* The string before the match but after the
* previous match (if any) has length 'len'.
@@ -217,9 +251,9 @@ static apr_status_t do_pattmatch(ap_filt
* Check if we still have space for this string and
* the replacement string.
*/
Expand All @@ -144,9 +128,7 @@ expr= support in RHS, from upstream trunk
/*
* We now split off the string before the match
* as its own bucket, then isolate the matched
* string and delete it.
@@ -229,10 +263,10 @@
/*
@@ -230,8 +264,8 @@ static apr_status_t do_pattmatch(ap_filt
* Finally, we create a bucket that contains the
* replacement...
*/
Expand All @@ -157,9 +139,7 @@ expr= support in RHS, from upstream trunk
f->r->connection->bucket_alloc);
/* ... and insert it */
APR_BUCKET_INSERT_BEFORE(b, tmp_b);
}
@@ -281,8 +315,22 @@
apr_size_t space_left = cfg->max_line_length;
@@ -282,6 +316,20 @@ static apr_status_t do_pattmatch(ap_filt
while (!ap_regexec_len(script->regexp, pos, left,
AP_MAX_REG_MATCH, regm, 0)) {
apr_status_t rv;
Expand All @@ -180,9 +160,7 @@ expr= support in RHS, from upstream trunk
ap_log_rerror(APLOG_MARK, APLOG_TRACE8, 0, f->r,
"Matching found");
have_match = 1;
if (script->flatten && !force_quick) {
@@ -295,9 +343,9 @@
/* copy bytes before the match */
@@ -296,7 +344,7 @@ static apr_status_t do_pattmatch(ap_filt
if (regm[0].rm_so > 0)
ap_varbuf_strmemcat(&vb, pos, regm[0].rm_so);
/* add replacement string, last argument is unsigned! */
Expand All @@ -191,9 +169,7 @@ expr= support in RHS, from upstream trunk
AP_MAX_REG_MATCH, regm,
cfg->max_line_length - vb.strlen);
if (rv != APR_SUCCESS)
return rv;
@@ -310,9 +358,9 @@
if (space_left <= regm[0].rm_so)
@@ -311,7 +359,7 @@ static apr_status_t do_pattmatch(ap_filt
return APR_ENOMEM;
space_left -= regm[0].rm_so;
rv = ap_pregsub_ex(pool, &repl,
Expand All @@ -202,19 +178,15 @@ expr= support in RHS, from upstream trunk
AP_MAX_REG_MATCH, regm,
space_left);
if (rv != APR_SUCCESS)
return rv;
@@ -462,8 +510,9 @@
apr_brigade_cleanup(ctx->linebb);
@@ -464,6 +512,7 @@ static apr_status_t substitute_filter(ap
}
APR_BUCKET_REMOVE(b);
APR_BRIGADE_INSERT_TAIL(ctx->passbb, b);
+ ap_remove_output_filter(f);
}
/*
* No need to handle FLUSH buckets separately as we call
* ap_pass_brigade anyway at the end of the loop.
@@ -690,8 +739,20 @@
}
@@ -694,6 +743,18 @@ static const char *set_pattern(cmd_parms

nscript->replacement = to;
nscript->replen = strlen(to);
Expand All @@ -233,4 +205,3 @@ expr= support in RHS, from upstream trunk
nscript->flatten = flatten;

return NULL;
}
22 changes: 0 additions & 22 deletions www/apache24/patches/patch-rfc4331quotas-CMakeLists.txt

This file was deleted.

22 changes: 0 additions & 22 deletions www/apache24/patches/patch-rfc4331quotas-configure

This file was deleted.

This file was deleted.

22 changes: 0 additions & 22 deletions www/apache24/patches/patch-rfc4331quotas-modules_dav_fs_config6.m4

This file was deleted.

Loading

0 comments on commit 745adb6

Please sign in to comment.