Skip to content

httpd 2.4.x compatibility - #5

Open
xl32 wants to merge 1 commit into
machine-moon:trunkfrom
xl32:httpd-2.4.x-compat
Open

httpd 2.4.x compatibility#5
xl32 wants to merge 1 commit into
machine-moon:trunkfrom
xl32:httpd-2.4.x-compat

Conversation

@xl32

@xl32 xl32 commented Aug 6, 2026

Copy link
Copy Markdown

Build against httpd 2.4.68 as well as trunk.

  • h3_compat.h keys H3_HAS_RESPONSE_BUCKETS on the same MMN boundary mod_http2 uses (20211221.6).
  • Without response buckets, remove the core HTTP_HEADER filter from synthesized requests and snapshot response status and headers via h3_response_finalize(), a port of ap_http_header_filter by way of mod_http2's h2_c2_filter.c, minus the HTTP/1.x transport concerns.
  • Capture status and headers into h3_conn_ctx_t on both paths instead of holding an ap_bucket_response.
  • Treat the MPM connection-count notifications as optional: stock 2.4.x MPMs lack them, so warn and run in a degraded mode where a graceful child stop does not wait for active QUIC connections to drain, instead of refusing to start. .patches/httpd-2.4.66-pr699.patch adds the notifications to 2.4.x.
  • Lower the build floor to httpd 2.4.52: ap_create_request (2.4.49), the child_stopping hook (2.4.49) and ap_thread_current (2.4.52) must exist.

@xl32 xl32 mentioned this pull request Aug 6, 2026
Build against httpd 2.4.52+ as well as trunk.

- h3_compat.h keys H3_HAS_RESPONSE_BUCKETS on the same MMN boundary
  mod_http2 uses (20211221.6).
- Without response buckets, remove the core HTTP_HEADER filter from
  synthesized requests and snapshot response status and headers via
  h3_response_finalize(), a port of ap_http_header_filter by way of
  mod_http2's h2_c2_filter.c, minus the HTTP/1.x transport concerns.
- Capture status and headers into h3_conn_ctx_t on both paths instead
  of holding an ap_bucket_response.
- Treat the MPM connection-count notifications as optional: stock
  2.4.x MPMs lack them, so warn and run in a degraded mode where a
  graceful child stop does not wait for active QUIC connections to
  drain, instead of refusing to start.
  .patches/httpd-2.4.66-pr699.patch adds the notifications to 2.4.x.
- Lower the build floor to httpd 2.4.52: ap_create_request (2.4.49),
  the child_stopping hook (2.4.49) and ap_thread_current (2.4.52)
  must exist.
@xl32
xl32 force-pushed the httpd-2.4.x-compat branch from c508077 to 59a8c79 Compare August 6, 2026 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant