]> git.ipfire.org Git - thirdparty/apache/httpd.git/log
thirdparty/apache/httpd.git
5 weeks agomod_md: Remove seeparate versioning.
Rainer Jung [Tue, 16 Jun 2026 19:43:00 +0000 (19:43 +0000)] 
mod_md: Remove seeparate versioning.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935441 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agomod_md: New directive: MDHttpProxyCACertificateFile
Rainer Jung [Tue, 16 Jun 2026 19:28:00 +0000 (19:28 +0000)] 
mod_md: New directive: MDHttpProxyCACertificateFile
Sets the CA certificates to use for connections to the HTTPS proxy that has
been configured with MDHttpProxy.

Merge from icing/md:
https://github.com/icing/mod_md/commit/b7c956391aa116129e24a0191eec74616ff6b1a0

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935440 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agopytest mod_md: fix python crypto deprecations.
Rainer Jung [Tue, 16 Jun 2026 19:17:22 +0000 (19:17 +0000)] 
pytest mod_md: fix python crypto deprecations.
Use the modern crypto API instead of OpenSSL things.

Merge from icing/md:
https://github.com/icing/mod_md/commit/41496f9a7333c4e0c46b54ab08f04be8433caafd

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935439 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agomod_md: Support CA-specific connection root certificates
Rainer Jung [Tue, 16 Jun 2026 19:13:58 +0000 (19:13 +0000)] 
mod_md: Support CA-specific connection root certificates

Allow the MDCACertificateFile setting to be set per MDomain.
The global MDCACertificateFile setting is used by default.

Merge from icing/md:
https://github.com/icing/mod_md/commit/e820482544fa52a931fb67ca4b0fd1c4c6eecd75

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935438 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agomod_md: Code cleanup: assign instead of increment
Rainer Jung [Tue, 16 Jun 2026 19:11:07 +0000 (19:11 +0000)] 
mod_md: Code cleanup: assign instead of increment

Merge from icing/md:
https://github.com/icing/mod_md/commit/79f7108484c9d28ba3d67baf89a887c0c26361de

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935437 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agomod_md: Reduce the maximum number of retries from 99 to 9.
Rainer Jung [Tue, 16 Jun 2026 19:08:47 +0000 (19:08 +0000)] 
mod_md: Reduce the maximum number of retries from 99 to 9.

Merge from icing/md:
https://github.com/icing/mod_md/commit/1c37b474e2a815d20103d3b2992e65177a75dec1

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935436 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agomod_md: update docs for per MDomain specific MDHttpProxy setting.
Rainer Jung [Tue, 16 Jun 2026 19:02:54 +0000 (19:02 +0000)] 
mod_md: update docs for per MDomain specific MDHttpProxy setting.

Merge from icing/md:
https://github.com/icing/mod_md/commit/254cac82d227539cacf49e3ca39e87958b04043d

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935435 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agomod_md: Support CA-specific HTTP proxy settings
Rainer Jung [Tue, 16 Jun 2026 18:49:37 +0000 (18:49 +0000)] 
mod_md: Support CA-specific HTTP proxy settings

Allow the MDHttpProxy setting to be set per MDomain.
The global MDHttpProxy setting is used by default.
Add integration tests.

Merge from icing/md:
https://github.com/icing/mod_md/commit/f08cd11251dd73e8038b557cc56e828ac4c70f50

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935434 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agodocs: Clarify who dispatches I/O events in motorz PollersPerChild (bz 70105)
Rich Bowen [Tue, 16 Jun 2026 18:35:00 +0000 (18:35 +0000)] 
docs: Clarify who dispatches I/O events in motorz PollersPerChild (bz 70105)

The existing wording used "a single child can...dispatch I/O events"
which was ambiguous when the preceding paragraph already said pollers
do the dispatching. Reword to make the subject explicit: each poller
thread independently accepts and dispatches to the worker pool, so
adding pollers parallelizes those operations within a child process.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935433 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agoAll done with this TODO.
Rich Bowen [Tue, 16 Jun 2026 18:18:09 +0000 (18:18 +0000)] 
All done with this TODO.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935432 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agodocs: Add module processing order diagram to rewrite/tech.xml
Rich Bowen [Tue, 16 Jun 2026 18:16:02 +0000 (18:16 +0000)] 
docs: Add module processing order diagram to rewrite/tech.xml

Side-by-side comparison showing the order reversal between server and
per-directory context: mod_rewrite runs before mod_alias in server
context (both in URL-to-filename phase), but mod_alias runs first in
per-directory context because mod_rewrite moves to the later Fixup
phase. Color-coded boxes make the reversal immediately visible.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935430 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agodocs: Improve alt text on existing rewrite diagrams for accessibility
Rich Bowen [Tue, 16 Jun 2026 17:33:09 +0000 (17:33 +0000)] 
docs: Improve alt text on existing rewrite diagrams for accessibility

Replace vague or duplicated alt attributes with descriptive text that
conveys the content of each diagram to screen reader users:
- rewrite_process_uri.png: describes per-rule control flow
- rewrite_backreferences.png: describes \$1-\$9 and %1-%9 flow
- syntax_rewriterule.png: describes three-component syntax
- syntax_rewritecond.png: describes TestString and CondPattern components

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935428 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agodocs: Add simplified mod_rewrite overview diagram to rewrite/intro.xml
Rich Bowen [Tue, 16 Jun 2026 17:32:20 +0000 (17:32 +0000)] 
docs: Add simplified mod_rewrite overview diagram to rewrite/intro.xml

New flowchart at the end of the Introduction section showing the basic
request processing loop: RewriteEngine check, iterate rules, pattern
match, RewriteCond evaluation, substitution, and L/END flag termination.
Explicitly labeled as a simplified overview with a link to tech.xml for
the full processing model. Supplements existing prose for visual
learners without replacing accessible text content.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935426 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agodocs: Add flag quick-reference table to rewrite/flags.xml
Rich Bowen [Tue, 16 Jun 2026 17:14:54 +0000 (17:14 +0000)] 
docs: Add flag quick-reference table to rewrite/flags.xml

Categorized table at the top of the flags page grouping flags by
purpose (flow control, redirection/proxying, access control, URL/query
string, metadata/handlers, cookie) with brief effect descriptions and
common combo examples showing how flags are stacked in practice.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935423 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agoRebuild html, meta files
Rich Bowen [Tue, 16 Jun 2026 16:45:50 +0000 (16:45 +0000)] 
Rebuild html, meta files

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935419 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agodocs: Add path stripping and RewriteBase flowchart to rewrite/htaccess.xml
Rich Bowen [Tue, 16 Jun 2026 16:34:15 +0000 (16:34 +0000)] 
docs: Add path stripping and RewriteBase flowchart to rewrite/htaccess.xml

New diagram showing the per-directory URL transformation pipeline:
incoming URL-path → strip directory prefix → pattern match → substitution
→ three-way branch depending on result type (relative path gets
RewriteBase prepended then subrequest; absolute path goes directly to
subrequest; absolute URI triggers external redirect with no subrequest).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935417 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agoTemporary TODO file in case anyone else wants to play along.
Rich Bowen [Tue, 16 Jun 2026 15:30:42 +0000 (15:30 +0000)] 
Temporary TODO file in case anyone else wants to play along.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935416 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agodocs: Add SVG diagram style guide and PNG generation instructions
Rich Bowen [Tue, 16 Jun 2026 15:23:56 +0000 (15:23 +0000)] 
docs: Add SVG diagram style guide and PNG generation instructions

New README.md in docs/manual/images/ documents the font, color, and
layout conventions used for flowchart SVGs, includes the full SVG
boilerplate template, and provides rsvg-convert install/usage
instructions for macOS (brew), Fedora/RHEL (dnf), and Debian/Ubuntu
(apt-get).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935414 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agodocs: Add [L] flag looping flowchart to rewrite/htaccess.xml
Rich Bowen [Tue, 16 Jun 2026 15:09:59 +0000 (15:09 +0000)] 
docs: Add [L] flag looping flowchart to rewrite/htaccess.xml

New diagram illustrating how [L] in per-directory context triggers an
internal subrequest that re-enters the ruleset, potentially causing
infinite loops. Shows the [END] flag exit path, the condition-guard
exit path, and the unguarded loop that results in a 500 error.

SVG source and PNG placed in docs/manual/images/. Image referenced
from the "The [L] flag and looping" section of htaccess.xml using the
same figure markup pattern as existing tech.xml diagrams.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935412 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agodocs: Clarify CGI meta-variables terminology in env.xml (bz 70095)
Rich Bowen [Tue, 16 Jun 2026 14:41:09 +0000 (14:41 +0000)] 
docs: Clarify CGI meta-variables terminology in env.xml (bz 70095)

The introductory paragraph incorrectly implied that HTTP defines
environment variables. Reword to accurately describe the relationship:
RFC 3875 defines meta-variables (many derived from HTTP headers), and
httpd exposes them as environment variables.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935409 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agoLink to MPM doc; Add LoadModule for each MPM.
Rich Bowen [Tue, 16 Jun 2026 14:22:50 +0000 (14:22 +0000)] 
Link to MPM doc; Add LoadModule for each MPM.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935407 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agofr doc XML files updates.
Lucien Gentis [Tue, 16 Jun 2026 14:07:35 +0000 (14:07 +0000)] 
fr doc XML files updates.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935405 13f79535-47bb-0310-9956-ffa450edef68

5 weeks ago* SECURITY.md: Try to be more explicit about trunk-only code.
Joe Orton [Tue, 16 Jun 2026 07:34:07 +0000 (07:34 +0000)] 
* SECURITY.md: Try to be more explicit about trunk-only code.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935398 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agoRebuilds various generated docs.
Rich Bowen [Mon, 15 Jun 2026 19:22:11 +0000 (19:22 +0000)] 
Rebuilds various generated docs.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935384 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agoSync trunk mod_rewrite doc with enhancements to 2.4
Rich Bowen [Mon, 15 Jun 2026 19:14:34 +0000 (19:14 +0000)] 
Sync trunk mod_rewrite doc with enhancements to 2.4

At some point, I made an update to the 2.4 doc and didn't make it in
trunk. This improves the "what gets matched" and "per-directory" bits of
the RewriteRule doc.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935382 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agoRebuild mod_rewrite tweaks.
Rich Bowen [Mon, 15 Jun 2026 18:49:04 +0000 (18:49 +0000)] 
Rebuild mod_rewrite tweaks.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935379 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agoAdds optional [!] back into the RewriteCond syntax definition.
Rich Bowen [Mon, 15 Jun 2026 18:37:26 +0000 (18:37 +0000)] 
Adds optional [!] back into the RewriteCond syntax definition.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935375 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agoReorg of TestString section of RewriteCond doc
Rich Bowen [Mon, 15 Jun 2026 18:27:50 +0000 (18:27 +0000)] 
Reorg of TestString section of RewriteCond doc

bz#70093 recommended merging all of the RewriteCon test string stuff
into one massive flat list, and the more I worked on it, the more it
seemed that this would make the document more confusing and more
overwhelming. It's already a massive doc, and presenting it without any
internal subdivision makes it a huge wall of text and unreadable.
Instead, it's subdivided into categories of stuff that can go in a
RewriteCond test strong.

Resolves 70093, although in a very different way from what was
requested.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935373 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agofr doc XML files updetes.
Lucien Gentis [Mon, 15 Jun 2026 16:02:41 +0000 (16:02 +0000)] 
fr doc XML files updetes.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935364 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agoCI: Update to latest OpenSSL releases.
Joe Orton [Mon, 15 Jun 2026 10:06:12 +0000 (10:06 +0000)] 
CI: Update to latest OpenSSL releases.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935341 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agoCI: Skip Windows workflow for *.md changes. [skip ci]
Joe Orton [Mon, 15 Jun 2026 09:55:45 +0000 (09:55 +0000)] 
CI: Skip Windows workflow for *.md changes. [skip ci]

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935338 13f79535-47bb-0310-9956-ffa450edef68

5 weeks ago* SECURITY.md: Tweak wording around delegated configs.
Joe Orton [Mon, 15 Jun 2026 08:05:09 +0000 (08:05 +0000)] 
* SECURITY.md: Tweak wording around delegated configs.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935333 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agofr doc XML file update.
Lucien Gentis [Sun, 14 Jun 2026 15:53:12 +0000 (15:53 +0000)] 
fr doc XML file update.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935308 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agofr doc XML file update.
Lucien Gentis [Sat, 13 Jun 2026 15:51:39 +0000 (15:51 +0000)] 
fr doc XML file update.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935242 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agofr doc XML file update plus 1 nex file added.
Lucien Gentis [Fri, 12 Jun 2026 15:43:39 +0000 (15:43 +0000)] 
fr doc XML file update plus 1 nex file added.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935211 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agoRebuild html, meta files; Adds new mod/motorz and mod/mod_proxy_beacon generated...
Rich Bowen [Thu, 11 Jun 2026 20:17:29 +0000 (20:17 +0000)] 
Rebuild html, meta files; Adds new mod/motorz and mod/mod_proxy_beacon generated files and a few new .fr generated files.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935205 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agoRefocus install.xml on source builds; style cleanup
Rich Bowen [Thu, 11 Jun 2026 20:10:17 +0000 (20:10 +0000)] 
Refocus install.xml on source builds; style cleanup

- Rewrite summary to lead with "released as source code" framing
- Move RPM/DEB quick-install content to "Third-party packages" at end
- Simplify "Overview for the impatient" to source-build steps only
- Update PCRE requirement to PCRE2 (matching configure.in)
- Fix bare "Apache" → "httpd" throughout (per style guide)
- Remove all double-space-after-period instances
- Rewrite timekeeping paragraph (drop pun, modernize)
- Add <highlight language="sh"> to all shell example blocks
- Rename win_compiling.xml title: "Compiling Apache httpd for Microsoft Windows"

Indirectly resolves bz#70082

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935202 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agoevent: Fix French plural agreement typo (suivante → suivantes)
Rich Bowen [Thu, 11 Jun 2026 13:01:56 +0000 (13:01 +0000)] 
event: Fix French plural agreement typo (suivante → suivantes)

Resolves bz#70086

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935197 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agomod_rewrite: Clarify Substitution description
Rich Bowen [Thu, 11 Jun 2026 12:57:46 +0000 (12:57 +0000)] 
mod_rewrite: Clarify Substitution description

The opening sentence of the Substitution section implied that Pattern
always matches when a rule fires, which is incorrect for negated rules.
Reword to be neutral about how the rule was triggered, and add a
cross-reference to "What is matched?" for context.

Resolves bz#70061

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935194 13f79535-47bb-0310-9956-ffa450edef68

5 weeks ago* modules/generators/mod_cgid.c (close_unix_socket): Return errno
Joe Orton [Thu, 11 Jun 2026 11:38:41 +0000 (11:38 +0000)] 
* modules/generators/mod_cgid.c (close_unix_socket): Return errno
  on failure rather than -1.
  (sock_write): Handle short writes.
  (cgid_init): Fix off-by-one in socket path truncation.

Assisted-by: Claude Opus 4.6 <noreply@anthropic.com>
GitHub: resolves PR#669

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935193 13f79535-47bb-0310-9956-ffa450edef68

5 weeks ago* modules/generators/mod_cgid.c (get_req): Fix wrong sizeof in
Joe Orton [Thu, 11 Jun 2026 11:38:22 +0000 (11:38 +0000)] 
* modules/generators/mod_cgid.c (get_req): Fix wrong sizeof in
  allocation of core_request_config, which used sizeof(core_module).
  (cgid_server): Fix stale rv passed to ap_log_error for passed fd
  debug message.
  (include_cmd): Fix double registration of cleanup_script which
  could kill a garbage pid when get_cgi_pid failed.  Check return
  value of send_req.  Change return type to apr_status_t to match
  declaration in cgi_common.h

Assisted-by: Claude Opus 4.6 <noreply@anthropic.com>
GitHub: PR#669

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935192 13f79535-47bb-0310-9956-ffa450edef68

5 weeks ago* modules/generators/mod_cgid.c (cgid_req_t): Change env_count to
Joe Orton [Thu, 11 Jun 2026 11:37:45 +0000 (11:37 +0000)] 
* modules/generators/mod_cgid.c (cgid_req_t): Change env_count to
  unsigned.  Define ENV_COUNT_MAX.
  (get_req): Add upper bounds for uri_len, args_len, and env_count.
  Validate per-variable length in environment reading loop.
  Move validation before use of loglevel.

Assisted-by: Claude Opus 4.6 <noreply@anthropic.com>
GitHub: PR#669

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935191 13f79535-47bb-0310-9956-ffa450edef68

5 weeks ago* modules/md/mod_md_config.c: Flip MDServerStatus to disabled by
Joe Orton [Wed, 10 Jun 2026 17:01:40 +0000 (17:01 +0000)] 
* modules/md/mod_md_config.c: Flip MDServerStatus to disabled by
  default.

* docs/manual/mod/mod_md.xml: Update accordingly.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935184 13f79535-47bb-0310-9956-ffa450edef68

5 weeks ago* docs/manual/mod/mod_md.xml: Tweak formatting, make more explicit that
Joe Orton [Wed, 10 Jun 2026 16:52:35 +0000 (16:52 +0000)] 
* docs/manual/mod/mod_md.xml: Tweak formatting, make more explicit that
  the 'md-status' output must be protected from public view.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935183 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agocss: hide back-to-top arrows on narrow viewports (Bug 70098)
Rich Bowen [Wed, 10 Jun 2026 13:04:43 +0000 (13:04 +0000)] 
css: hide back-to-top arrows on narrow viewports (Bug 70098)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935181 13f79535-47bb-0310-9956-ffa450edef68

5 weeks agotest/modules/http2: Enrich test with cookie header
Giannis Christodoulou [Wed, 10 Jun 2026 12:16:14 +0000 (12:16 +0000)] 
test/modules/http2: Enrich test with cookie header

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935180 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoSync from https://github.com/icing/mod_h2/commit/81be9207f0cca193d0978dc307abf46ebc60...
Joe Orton [Tue, 9 Jun 2026 16:42:42 +0000 (16:42 +0000)] 
Sync from https://github.com/icing/mod_h2/commit/81be9207f0cca193d0978dc307abf46ebc60d1de -

* mod_http2/h2_push.c (h2_push_diary_digest_get, gset_encode_next,
  gset_encode_bit, cmp_puint64): Remove unused cache digest functions
  and supporting golomb set encoder.

* mod_http2/h2_push.h (h2_push_diary_digest_get): Remove declaration.

Submitted by: jorton
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935172 13f79535-47bb-0310-9956-ffa450edef68

6 weeks ago* test/modules/core: Add test case for CVE_2026-43951.
Joe Orton [Tue, 9 Jun 2026 16:39:56 +0000 (16:39 +0000)] 
* test/modules/core: Add test case for CVE_2026-43951.

Assisted-by: Claude Opus 4.6 <noreply@anthropic.com>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935171 13f79535-47bb-0310-9956-ffa450edef68

6 weeks ago* modules/filters/sed1.c (sed_eval_buffer): Mark n as const
Joe Orton [Tue, 9 Jun 2026 16:36:54 +0000 (16:36 +0000)] 
* modules/filters/sed1.c (sed_eval_buffer): Mark n as const
  to avoid compiler/scanner warnings.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935170 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agonew XML file.-Cette ligne, et les suivantes ci-dessous, seront ignorées--
Lucien Gentis [Tue, 9 Jun 2026 15:56:12 +0000 (15:56 +0000)] 
new XML file.-Cette ligne, et les suivantes ci-dessous, seront ignorées--

A    manual/mod/motorz.xml.fr

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935169 13f79535-47bb-0310-9956-ffa450edef68

6 weeks ago* SECURITY.md: Tweak wording around idle clients.
Joe Orton [Tue, 9 Jun 2026 15:35:27 +0000 (15:35 +0000)] 
* SECURITY.md: Tweak wording around idle clients.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935168 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoCorrect slight ambiguity regarding port in URL. (bz#70088)
Rich Bowen [Tue, 9 Jun 2026 12:46:50 +0000 (12:46 +0000)] 
Correct slight ambiguity regarding port in URL. (bz#70088)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935166 13f79535-47bb-0310-9956-ffa450edef68

6 weeks ago* modules/md: Merge from icing/md -
Joe Orton [Tue, 9 Jun 2026 06:44:42 +0000 (06:44 +0000)] 
* modules/md: Merge from icing/md -

https://github.com/icing/mod_md/commit/9fd90380db0722f0ccc14ff1c4da0ca21d4da75c

Add OpenSSL 4.0 compatibility:

* Use getters instead of direct member access.

* Struct was made opaque in OpenSSL 4. Getters exist since OpenSSL 1.1.0.

* Keep OpenSSL 1.0.2 compatibility.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935161 13f79535-47bb-0310-9956-ffa450edef68

6 weeks ago* configure.in: Fix cross-compilation:
Joe Orton [Tue, 9 Jun 2026 06:39:25 +0000 (06:39 +0000)] 
* configure.in: Fix cross-compilation:

./configure fails finding .pc files, because it uses the build
architecture pkg-config. It should be using AC_PATH_TOOL (or better
PKG_PROG_PKG_CONFIG) rather than AC_PATH_PROG.

Submitted by: Bastien Roucariès <rouca@debian.org>
Github: closes #548

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935160 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoAlign w/ subversion references rather than using the git ro versions
Jim Jagielski [Mon, 8 Jun 2026 19:11:31 +0000 (19:11 +0000)] 
Align w/ subversion references rather than using the git ro versions

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935152 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoAs we think about trunk and 2.4.x, lets better document/list/assess the
Jim Jagielski [Mon, 8 Jun 2026 18:54:53 +0000 (18:54 +0000)] 
As we think about trunk and 2.4.x, lets better document/list/assess the
diffs between these 2 branches, using LLMs as an aid in this analysis

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935151 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoCI: Configure GitHub workflows to use concurrency cancel-in-progress for
Joe Orton [Mon, 8 Jun 2026 13:13:49 +0000 (13:13 +0000)] 
CI: Configure GitHub workflows to use concurrency cancel-in-progress for
pull requests

see recommended best practices at Apache
https://cwiki.apache.org/confluence/pages/viewpage.action?spaceKey=INFRA&title=GitHub+Actions+Recommended+Practices

Signed-off-by: Aurélien Pupier <apupier@ibm.com>
Submitted by: Aurélien Pupier <apupier@ibm.com>
Github: closes #667

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935145 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agofr doc XML files updates.
Lucien Gentis [Sun, 7 Jun 2026 15:59:10 +0000 (15:59 +0000)] 
fr doc XML files updates.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935110 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoRebuild docs, again
Rich Bowen [Sun, 7 Jun 2026 14:48:48 +0000 (14:48 +0000)] 
Rebuild docs, again

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935106 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoFix a missing <compatibility> for MDProfileMandatory.
Christophe Jaillet [Sat, 6 Jun 2026 16:53:18 +0000 (16:53 +0000)] 
Fix a missing <compatibility> for MDProfileMandatory.
Fix a few typos.
Slightly improve hyperlinks with other directives.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935076 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agofr doc XML files updates.
Lucien Gentis [Sat, 6 Jun 2026 15:46:34 +0000 (15:46 +0000)] 
fr doc XML files updates.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935074 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoPicked up a small PERL pods regression - fixed
Jim Jagielski [Fri, 5 Jun 2026 20:08:05 +0000 (20:08 +0000)] 
Picked up a small PERL pods regression - fixed

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935051 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoSome Perl/Python regex fluff changes - correct the test here.
Jim Jagielski [Fri, 5 Jun 2026 20:07:27 +0000 (20:07 +0000)] 
Some Perl/Python regex fluff changes - correct the test here.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935050 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoUpdate misc/relevant_standards to reflect current RFCs
Rich Bowen [Fri, 5 Jun 2026 19:55:22 +0000 (19:55 +0000)] 
Update misc/relevant_standards to reflect current RFCs

Replace obsolete RFC references (2616, 2396, 4346, 2617) with their
modern successors. Add sections for TLS, proxying, WebSocket, CGI, and
WebDAV. Remove HTML section (httpd does not validate content markup).
Remove stale "not yet complete" notice and dead skrb.org errata link.

Closes: Bugzilla 70089
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935048 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoPerl test asserts the opposite of what the server does, and only "passes"
Jim Jagielski [Fri, 5 Jun 2026 19:07:15 +0000 (19:07 +0000)] 
Perl test asserts the opposite of what the server does, and only "passes"
because LWP fabricates the header client-side. Clean this mess up. LWP
is weird.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935047 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agotest: port recent httpd-tests 2.4.68 changes to pytest_suite
Jim Jagielski [Fri, 5 Jun 2026 17:48:53 +0000 (17:48 +0000)] 
test: port recent httpd-tests 2.4.68 changes to pytest_suite

Reflect the following t/ changes into test/pytest_suite:

* expr: file()/filesize() are restricted in 2.4.68+; gate the
  expected results (None => parse error 500) and move file()
  into the 2.3.13 block.
* mod_headers: support an optional expected-status field; add
  malformed-regex -> 500 and 2.4.68 file()-in-htaccess -> 500.
* mod_dav: PUT to a .DAV state subdir is blocked (403) in
  2.4.68+, else 201.
* mod_proxy_html: add multi-substitution buffer-realloc tests
  (literal and regex) with ProxyHTMLBufSize 256.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935044 13f79535-47bb-0310-9956-ffa450edef68

6 weeks ago* modules/proxy/mod_proxy_beacon.c (beacon_resolve, beacon_parse_url,
Joe Orton [Fri, 5 Jun 2026 16:54:38 +0000 (16:54 +0000)] 
* modules/proxy/mod_proxy_beacon.c (beacon_resolve, beacon_parse_url,
  beacon_verify): Use ap_strstr_c and ap_strchr_c for const-correct
  string searches, fixing -Werror=discarded-qualifiers errors.

Assisted-by: Claude Opus 4.6 <noreply@anthropic.com>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935040 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoPartial revert of r1934913 in ./modules/http2 to retain
Joe Orton [Fri, 5 Jun 2026 16:38:04 +0000 (16:38 +0000)] 
Partial revert of r1934913 in ./modules/http2 to retain
backwards-compatibility with 2.4.x builds for that module.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935039 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agofr doc XML files updates.
Lucien Gentis [Fri, 5 Jun 2026 15:48:16 +0000 (15:48 +0000)] 
fr doc XML files updates.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935034 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agorestrict per-dir file funcs centrally
Eric Covener [Fri, 5 Jun 2026 10:27:34 +0000 (10:27 +0000)] 
restrict per-dir file funcs centrally

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935016 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoap_regname: restrict to reasonable captures
Eric Covener [Fri, 5 Jun 2026 10:17:58 +0000 (10:17 +0000)] 
ap_regname: restrict to reasonable captures

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935014 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agodav_fs_get_resource: disallow DAV_FS_STATE_DIR
Eric Covener [Fri, 5 Jun 2026 10:09:00 +0000 (10:09 +0000)] 
dav_fs_get_resource: disallow DAV_FS_STATE_DIR

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935009 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoap_proxy_cookie_revers: fix dup path/domain
Eric Covener [Fri, 5 Jun 2026 10:06:53 +0000 (10:06 +0000)] 
ap_proxy_cookie_revers: fix dup path/domain

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935007 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agomerge_response_headers: fix lang iteration
Eric Covener [Fri, 5 Jun 2026 10:03:07 +0000 (10:03 +0000)] 
merge_response_headers: fix lang iteration

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935005 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agofix iteration
Eric Covener [Fri, 5 Jun 2026 10:00:53 +0000 (10:00 +0000)] 
fix iteration

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935003 13f79535-47bb-0310-9956-ffa450edef68

6 weeks ago* modules/generators/mod_autoindex.c (add_header): Reject invalid
Joe Orton [Fri, 5 Jun 2026 09:45:07 +0000 (09:45 +0000)] 
* modules/generators/mod_autoindex.c (add_header): Reject invalid
  NameWidth values less than 5, including zero.

Submitted by: metsw24-max <metsw24 gmail.com>
GitHub: closes #617

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935002 13f79535-47bb-0310-9956-ffa450edef68

6 weeks ago* modules/filters/mod_substitute.c (do_pattmatch):
Joe Orton [Fri, 5 Jun 2026 09:36:25 +0000 (09:36 +0000)] 
* modules/filters/mod_substitute.c (do_pattmatch):
  Improve bounds checking for line length validation.

Submitted by: metsw24-max <metsw24 gmail.com>
Github: closes #624

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1935001 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agomod_proxy_beacon: self-registering balancer membership over UDP
Jim Jagielski [Fri, 5 Jun 2026 08:02:50 +0000 (08:02 +0000)] 
mod_proxy_beacon: self-registering balancer membership over UDP

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934995 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoJust small adjust, missing =
Jean-Frederic Clere [Fri, 5 Jun 2026 07:55:07 +0000 (07:55 +0000)] 
Just small adjust, missing =

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934994 13f79535-47bb-0310-9956-ffa450edef68

6 weeks ago* modules/proxy/mod_proxy_ftp.c (proxy_ftp_dir_filter): Use
Joe Orton [Thu, 4 Jun 2026 15:48:00 +0000 (15:48 +0000)] 
* modules/proxy/mod_proxy_ftp.c (proxy_ftp_dir_filter): Use
  ap_os_escape_path() with ap_escape_html() instead of
  ap_escape_uri() for href attributes in generated directory
  listing links.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934981 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agodocs: Rewrite AllowOverride Options= warning
Rich Bowen [Thu, 4 Jun 2026 15:22:55 +0000 (15:22 +0000)] 
docs: Rewrite AllowOverride Options= warning

The existing note about implicit disabling of Options was difficult
to parse. Rewrite as a type="warning" note with:
- Clear statement that the restriction controls enabling, not disabling
- Explanation of absolute vs relative (+/-) Options syntax
- Concrete example showing how inherited options get implicitly disabled

BZ#70099

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934979 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agomod_log_config: Add regression for SNI logging (r1927034)
Giannis Christodoulou [Thu, 4 Jun 2026 09:40:10 +0000 (09:40 +0000)] 
mod_log_config: Add regression for SNI logging (r1927034)

Add SSL test env and SNI logging validation.

Github: closes #621

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934976 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agomod_proxy_html: Simplify to use the ap_varbuf API.
Joe Orton [Thu, 4 Jun 2026 09:03:50 +0000 (09:03 +0000)] 
mod_proxy_html: Simplify to use the ap_varbuf API.

* modules/filters/mod_proxy_html.c: Include util_varbuf.h.
  (saxctxt): Replace buf/offset/avail members with struct ap_varbuf vb.
  (DEFAULT_BUFSZ): New macro.
  (normalise): Take struct ap_varbuf * parameter instead of char *.
  (preserve, pappend): Remove functions, replaced by ap_varbuf_grow
  and ap_varbuf_strmemcat respectively.
  (dump_content): Use ap_varbuf for regex substitutions via
  ap_varbuf_regsub, avoiding manual buffer resizing with
  preserve/memmove/memcpy.  Use a temporary ap_varbuf for building
  regex replacement results.
  (pcharacters, pcomment): Use ap_varbuf_strmemcat and ap_varbuf_strcat
  in place of pappend.
  (pendElement): Check vb.strlen instead of offset.
  (pstartElement): Use ap_varbuf for attribute URL rewriting with the
  same ap_varbuf_regsub approach.  Use a temporary ap_varbuf for
  regex replacements.
  (proxy_html_filter): Initialize the ap_varbuf with a clamped bufsz.
  (proxy_html_merge): Use DEFAULT_BUFSZ macro.

Assisted-by: Claude Opus 4.6 (claude-opus-4-6)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934975 13f79535-47bb-0310-9956-ffa450edef68

6 weeks ago* modules/filters/mod_xml2enc.c (fix_skipto): Fix accounting.
Joe Orton [Thu, 4 Jun 2026 08:46:03 +0000 (08:46 +0000)] 
* modules/filters/mod_xml2enc.c (fix_skipto): Fix accounting.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934970 13f79535-47bb-0310-9956-ffa450edef68

6 weeks ago* modules/filters/mod_xml2enc.c (xml2enc_hooks): assert()
Joe Orton [Thu, 4 Jun 2026 08:43:59 +0000 (08:43 +0000)] 
* modules/filters/mod_xml2enc.c (xml2enc_hooks): assert()
  that both ap_pregcomp() calls succeed.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934969 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agofix: V-004 security vulnerability
Joe Orton [Thu, 4 Jun 2026 07:52:10 +0000 (07:52 +0000)] 
fix: V-004 security vulnerability

Automated security fix generated by OrbisAI Security
fix: the ctauditscts script constructs a command str... in ctauditscts

The ctauditscts script constructs a command string and passes it to os

Submitted by: orbisai0security <mediratta01.pally gmail.com>
Github: closes #664

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934967 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agomod_proxy_ajp: Add protocol robustness tests
Giannis Christodoulou [Thu, 4 Jun 2026 07:32:47 +0000 (07:32 +0000)] 
mod_proxy_ajp: Add protocol robustness tests

Add coverage for AJP message size limits, header length handling,
and chunk message handling.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934964 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agomod_proxy: add response handling tests
Giannis Christodoulou [Thu, 4 Jun 2026 06:55:13 +0000 (06:55 +0000)] 
mod_proxy: add response handling tests

Add coverage for backend Content-Type handling, X-Forwarded-*
headers and request body preservation during balancer failover.

Add a simple TCP backend faker used by the tests.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934963 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agotest: move runtests-pyhttpd.sh into pyhttpd/ as runtests.sh
Jim Jagielski [Thu, 4 Jun 2026 02:15:25 +0000 (02:15 +0000)] 
test: move runtests-pyhttpd.sh into pyhttpd/ as runtests.sh

  Move runtests-pyhttpd.sh from test/ to test/pyhttpd/runtests.sh
  to match the pytest_suite/runtests.sh naming convention.

  - Update internal paths: $here/pyhttpd/... -> $here/... since $here
    now resolves to test/pyhttpd/ itself.
  - Update run-all-tests.sh to call ./pyhttpd/runtests.sh.
  - Update README.pytest and .claude/settings.local.json references.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934955 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoRemove .htaccess from expr test htdocs; add svn:ignore so it stays untracked
Jim Jagielski [Wed, 3 Jun 2026 23:29:04 +0000 (23:29 +0000)] 
Remove .htaccess from expr test htdocs; add svn:ignore so it stays untracked

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934953 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agopytest_suite: port Perl todo/xfail gaps found when testing against 2.4.x
Jim Jagielski [Wed, 3 Jun 2026 23:23:47 +0000 (23:23 +0000)] 
pytest_suite: port Perl todo/xfail gaps found when testing against 2.4.x

Three test files had behaviour differences between the Python port and
the original Perl framework tests when run against a 2.4.x build
(tested with Apache/2.4.68-dev at /opt/local2/apache2).

test_pr64339.py -- LWP vs httpx default charset for raw bodies
  For /doc.notxml the proxy returns Content-Type: application/notreallyxml
  with no charset and a Latin-1 body.  LWP defaults to ISO-8859-1 for
  charset-less responses; httpx defaults to UTF-8, decoding 0xF3 as a
  replacement character and failing the body match.  Add _lwp_text() to
  mirror LWP: use the Content-Type charset when present, else Latin-1.

test_session.py -- port Perl @todo for PR 58171 and PR 56052
  session.t marks subtests 53/54 (Session writable after decode failure,
  PR 58171) and 88/89 (Session writable after expired, PR 56052) as
  unconditional @todo.  The Python port dropped this bookkeeping.  On
  2.4.x, ap_session_load() sets zz=NULL on a decode failure and allocates
  a fresh session the memoising provider never sees, so nothing is saved;
  trunk uses memset-in-place to preserve the provider pointer.  Add a
  _check(..., todo=True) helper that downgrades failures to warnings,
  matching Perl's todo semantics for both subtests.

test_proxy_html.py -- xfail two metafix cases that fail on 2.4.x
  other header with Content-Type present: mod_proxy_html metafix emits
  no http-equiv headers for meta_contenttype.html because the leading
  charset Content-Type meta is consumed by the xml2enc path on 2.4.x.
  empty content value: metafix locates the content value via a
  case-insensitive search for 'content'; the header name X-Empty-Content
  itself matches first, so no value is extracted.  Gate both via
  pytest.xfail when the server is < 2.5.0, leaving assertions active on
  trunk.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934952 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agotest/pyhttpd: move pyproject.toml and uv.lock under pyhttpd/
Jim Jagielski [Wed, 3 Jun 2026 22:32:17 +0000 (22:32 +0000)] 
test/pyhttpd: move pyproject.toml and uv.lock under pyhttpd/

The pyproject.toml and uv.lock belong to the pyhttpd test suite, so move
them from test/ into test/pyhttpd/ where the package itself lives.

Update runtests-pyhttpd.sh to use 'uv sync --project pyhttpd/' and
reference the venv at pyhttpd/.venv/. Fix pyhttpd/env.py to look for
the venv at the same level (pyhttpd/.venv/) instead of the parent dir.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934951 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agotest/pytest_suite: fix more tests broken by httpx auto-decompression
Jim Jagielski [Wed, 3 Jun 2026 21:25:44 +0000 (21:25 +0000)] 
test/pytest_suite: fix more tests broken by httpx auto-decompression

httpx transparently inflates gzip/deflate response bodies (it keeps the
Content-Encoding header but .content/.text are the decoded plaintext). Three
more tests asserted on the body of a compressed response and so were wrong:

  - pr43939 / pr17629: re-POSTed r.content (decoded plaintext, not the gzip
    stream) through the inflate input filter -- same round-trip bug as
    pr49328/deflate.
  - reflector: 'assert r.text != payload' could never hold, since httpx
    decoded the gzip body straight back to the payload.

Generalise the GET_RAW helper into a raw_response(method, path, ...) that
streams the response, reads iter_raw() (undecoded bytes), and stashes them on
.raw_content while leaving .status_code/.headers intact -- so tests can assert
on both the raw body and the headers. GET_RAW now delegates to it; update the
three tests to use raw_response/.raw_content.

The length-based tests (rwrite, passbrigade, getfile, byterange7) are
unaffected: they measure len(.content) after decoding, which equals the
original length regardless of transfer compression.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934950 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agotest/pytest_suite: fix deflate round-trip tests to use raw gzip bytes
Jim Jagielski [Wed, 3 Jun 2026 21:14:57 +0000 (21:14 +0000)] 
test/pytest_suite: fix deflate round-trip tests to use raw gzip bytes

httpx auto-decompresses gzip responses, so .content returned the decoded
plaintext rather than the gzip stream. Re-POSTing that plaintext with
Content-Encoding: gzip made mod_deflate's inflate input filter fail,
breaking the round-trip assertions in test_pr49328 and test_deflate.

Add a GET_RAW client helper that streams the response and reads iter_raw(),
returning the body undecoded (the analog of LWP not auto-decoding), and use
it in both tests so they exercise a genuine gzip -> inflate round-trip.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934949 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoIgnore __pycache__ directories recursively via svn:global-ignores
Jim Jagielski [Wed, 3 Jun 2026 20:35:56 +0000 (20:35 +0000)] 
Ignore __pycache__ directories recursively via svn:global-ignores

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934948 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agopyhttpd: fix built-in module loading, add venv support
Jim Jagielski [Wed, 3 Jun 2026 20:27:40 +0000 (20:27 +0000)] 
pyhttpd: fix built-in module loading, add venv support

* detect statically compiled modules via `httpd -l` and skip
  LoadModule for them, fixing startup failure when log_config_module
  (or others) are built into the httpd binary

* add pyproject.toml with all required Python dependencies
  (cryptography, python-multipart, websockets, pyopenssl, etc.)

* add runtests-pyhttpd.sh that creates/reuses a .venv via uv or
  plain python3+pip, mirroring pytest_suite/runtests.sh

* prepend .venv/bin to PATH when launching httpd so CGI scripts
  forked by httpd also use the venv's Python and find all packages

* update run-all-tests.sh to delegate pyhttpd runs to the new script

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934947 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agotest/pytest_suite: auto-create .venv via python3+pip when uv is unavailable
Jim Jagielski [Wed, 3 Jun 2026 19:05:31 +0000 (19:05 +0000)] 
test/pytest_suite: auto-create .venv via python3+pip when uv is unavailable

runtests.sh already bootstrapped the virtualenv with `uv sync` when uv
was present, but exited with an error when it was not.  Fall back to
`python3 -m venv .venv && .venv/bin/pip install -e .` so the suite is
self-bootstrapping on systems that have only a stock Python 3 install.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934945 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agotest/pytest_suite: restore missing fixtures, fix exec bits, add svn:ignore
Jim Jagielski [Wed, 3 Jun 2026 18:58:05 +0000 (18:58 +0000)] 
test/pytest_suite: restore missing fixtures, fix exec bits, add svn:ignore

Bring the pytest suite to parity with the canonical source:

* Add 25 previously-missing test fixture files (deflate images, expires
  placeholders, data PNG, rewrite dbm, ssl .pfa placeholders, .empty
  dir-keepers, headers htaccess) that several module tests require; their
  absence caused spurious 404 failures.

* Set svn:executable on the CGI/shell/perl scripts (and the negotiation
  and xbithack content files that carry the bit upstream) so CGI tests no
  longer fail with 500 on a fresh checkout.

* Stop tracking the .htaccess/htpasswd files that the tests rewrite at run
  time (setenvif/htaccess/.htaccess, autoindex2/dir_broken/.htaccess,
  autoindex2/dir_protected/htpasswd) and add svn:ignore for them, matching
  the original Perl Apache::Test framework which never versioned them.

* Add per-directory svn:ignore for c-module build artifacts, generated
  t/conf configs, generated CGI scripts and runtime dirs, plus a recursive
  svn:global-ignores for Python caches (__pycache__, *.pyc, .venv, etc.).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934943 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoHold-over from development on git
Jim Jagielski [Wed, 3 Jun 2026 17:52:16 +0000 (17:52 +0000)] 
Hold-over from development on git

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934942 13f79535-47bb-0310-9956-ffa450edef68

6 weeks agoRemove another should-be-untracked and improve the main script
Jim Jagielski [Wed, 3 Jun 2026 17:42:47 +0000 (17:42 +0000)] 
Remove another should-be-untracked and improve the main script

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934941 13f79535-47bb-0310-9956-ffa450edef68