summaryrefslogtreecommitdiffstats
path: root/modules/http2/mod_http2.dsp (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-09-27 *) mod_http2: synchronization with github sources.Stefan Eissing1-0/+4
Building in trunk and against 2.4.x is now supported via AP_HAS_RESPONSE_BUCKETS defines. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904305 13f79535-47bb-0310-9956-ffa450edef68
2022-09-27 *) mod_http2: use proper apr_time_t where it is due, no (int) casting.Stefan Eissing1-4/+5
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904299 13f79535-47bb-0310-9956-ffa450edef68
2022-09-27 *) mod_http2: type adjustments and castings for ↵Stefan Eissing14-233/+118
int/apr_uint32_t/apr_size_t/apr_off_t. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904297 13f79535-47bb-0310-9956-ffa450edef68
2022-09-26 *) mod_http2: documentation clarification on dependency of ↵Stefan Eissing1-1/+4
H2HeaderStrictness on the underlying nghttp2 version in play. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904273 13f79535-47bb-0310-9956-ffa450edef68
2022-09-26 *) mod_http2: documentation update on values for H2HeaderStrictness.Stefan Eissing1-4/+6
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904272 13f79535-47bb-0310-9956-ffa450edef68
2022-09-26 *) mod_http2: new directive "H2HeaderStrictness" to control the complianceStefan Eissing21-281/+387
level of header checks as defined in the HTTP/2 RFCs. Default is 7540. 9113 activates the checks for forbidden leading/trailing whitespace in field values (available from nghttp2 v1.50.0 on). - source sync with github version - fix for keepalive idle wait in mpm_worker setup - ensuring EOS when secondary connection has been handled - fixed race in late input EOS arrival when stream was already scheduled for execution. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904269 13f79535-47bb-0310-9956-ffa450edef68
2022-09-21 *) mod_http2: removing bucket splitting into an extra recv brigade.Stefan Eissing2-71/+3
buckets are always received as a whole now, even if the total size exceeds the receivers specified length. This simplifies the internal handling and, since these buckets already exist, lead to less memory consumption overall. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904189 13f79535-47bb-0310-9956-ffa450edef68
2022-09-21 *) tests: load the top-level mod_aptest in all test suites.Stefan Eissing8-16/+135
- aptest logs the test name from the header 'AP-Test-Name' with the request line. LogLevel aptest:info is switched on. - pytest sets 'AP-Test-Name' for all curl/nghttp invocation against the server. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904188 13f79535-47bb-0310-9956-ffa450edef68
2022-09-20 *) mod_proxy_http2: use only the ':authority' header to forward 'Host'Stefan Eissing6-14/+66
information to a backend. Deduce ':authority' from what the client sent when 'ProxyPreserveHost' is on. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904164 13f79535-47bb-0310-9956-ffa450edef68
2022-09-10fr doc rebuild.Lucien Gentis4-22/+16
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903979 13f79535-47bb-0310-9956-ffa450edef68
2022-09-10fr doc XML file update.Lucien Gentis1-5/+14
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903978 13f79535-47bb-0310-9956-ffa450edef68
2022-09-10 *) test mod_md: disabling test holding file lock as this fails in our CIStefan Eissing1-0/+1
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903959 13f79535-47bb-0310-9956-ffa450edef68
2022-09-09Fix a doc build issue introduced in r1903933.Christophe Jaillet1-1/+1
For an unknown reason, build worked like a charm yesterday, but not today :( git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903946 13f79535-47bb-0310-9956-ffa450edef68
2022-09-09Fix a strange link in the French Doc.Christophe Jaillet1-2/+1
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903942 13f79535-47bb-0310-9956-ffa450edef68
2022-09-08Add some syntax highlight to some directive usage examples.Christophe Jaillet1-1/+11
Fix a small style issue. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903933 13f79535-47bb-0310-9956-ffa450edef68
2022-09-03fr doc rebuild.Lucien Gentis3-13/+26
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903845 13f79535-47bb-0310-9956-ffa450edef68
2022-09-03fr doc XML files updates.Lucien Gentis2-12/+27
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903844 13f79535-47bb-0310-9956-ffa450edef68
2022-09-03emphasize a few things about authz_hostEric Covener1-2/+3
- "domain name" is not a good contrast for hostname unqualified, use "partial" as used earlier in the doc - mention that DNS resolution [of the require line arguments] is done at runtime not startup. This may be obvious to developers when you see it uses an ap_expr but the question was specifically asked on IRC. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903838 13f79535-47bb-0310-9956-ffa450edef68
2022-08-29xformsJim Jagielski22-2738/+2795
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903758 13f79535-47bb-0310-9956-ffa450edef68
2022-08-28Document hcmethod enhancement to allow HTTP/1.1 commsJim Jagielski1-0/+3
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903745 13f79535-47bb-0310-9956-ffa450edef68
2022-08-28Allow for HTTP/1.1 or HTTP/1.0 protocol health checksJim Jagielski4-13/+35
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903744 13f79535-47bb-0310-9956-ffa450edef68
2022-08-27fr doc rebuild.Lucien Gentis4-379/+423
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903707 13f79535-47bb-0310-9956-ffa450edef68
2022-08-27fr doc XML files updates.Lucien Gentis2-4/+45
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903706 13f79535-47bb-0310-9956-ffa450edef68
2022-08-25* Use apr_size_t instead of int to harden against overflows.Ruediger Pluem1-2/+2
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903680 13f79535-47bb-0310-9956-ffa450edef68
2022-08-25mod_md v2.4.19 from github syncStefan Eissing17-68/+464
*) mod_md: a new directive `MDStoreLocks` can be used on cluster setups with a shared file system for `MDStoreDir` to order activation of renewed certificates when several cluster nodes are restarted at the same time. Store locks are not enabled by default. Restored curl_easy cleanup behaviour from v2.4.14 and refactored the use of curl_multi for OCSP requests to work with that. Fixes <https://github.com/icing/mod_md/issues/293>. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903677 13f79535-47bb-0310-9956-ffa450edef68
2022-08-25Stole a new number.Stefan Eissing1-1/+1
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903676 13f79535-47bb-0310-9956-ffa450edef68
2022-08-18core: Follow up to r1902728: ap_max_mem_free early setting.Yann Ylavic1-1/+1
Set ap_max_mem_free at static initialization time so that the main thread, created early from init_process(), has some (default) limits for its pool. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903523 13f79535-47bb-0310-9956-ffa450edef68
2022-08-18core: Follow up to r1902728 and r1902909: Move comment where relevant.Yann Ylavic1-1/+1
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903522 13f79535-47bb-0310-9956-ffa450edef68
2022-08-17* http2_get_num_workers is not deprecated.Ruediger Pluem1-3/+3
Hence move it out of the deprecation section git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903478 13f79535-47bb-0310-9956-ffa450edef68
2022-08-01 *) mod_ssl: when a proxy connection had handled a request using SSL, anStefan Eissing4-2/+40
error was logged when "SSLProxyEngine" was only configured in the location/proxy section and not the overall server. The connection continued to work, the error log was in error. Fixed PR66190. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1903167 13f79535-47bb-0310-9956-ffa450edef68
2022-07-21core: Follow up to r1902728 and r1902906: simplify for APR-1.8+.Yann Ylavic1-15/+2
apr_threadattr_max_free_set() is now in APR-1.8.x. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902909 13f79535-47bb-0310-9956-ffa450edef68
2022-07-21core: Follow up to r1902728: pools may have no allocator with APR_POOL_DEBUG.Yann Ylavic1-12/+31
With APR <= 1.7 and APR_POOL_DEBUG, thread's pools don't necessarily have an allocator, so avoid apr_allocator_max_free_set(NULL) in ap_thread_create() and ap_thread_main_create(). Also, always create an allocator in ap_thread_current_create(). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902906 13f79535-47bb-0310-9956-ffa450edef68
2022-07-19util_cpre: Follow up to r1902731: Simplify thread pool allocation.Yann Ylavic1-64/+21
We don't need to over-allocate pool/heap buffers and handle the (used) size, let apr_palloc() do this exact work for us. That way we only need an AP_THREAD_LOCAL pool with no buffer tracking, simpler. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902858 13f79535-47bb-0310-9956-ffa450edef68
2022-07-15util: Follow up to r1902728 and r1902731: static/AP_THREAD_LOCAL order matters.Yann Ylavic2-2/+2
gcc seems to want "static __thread" instead of "__thread static".. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902733 13f79535-47bb-0310-9956-ffa450edef68
2022-07-15util_pcre: Restore nmatch < ncaps behaviour with PCRE1 (only).Yann Ylavic1-0/+26
When the requested nmatch is below the number of captures for the regex (i.e. nmatch is zero if the user does not care about the captures), with PCRE1 we can pass a smaller ovector to pcre_exec() (or even NULL) which allows for somes optimizations (less or even no recursion) internally in pcre. This might avoid crashes due to stack usage/exhaustion with pathological patterns (see BZ 66119). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902732 13f79535-47bb-0310-9956-ffa450edef68
2022-07-15util_pcre: Add a thread local subpool cache for when stack does not suffice.Yann Ylavic1-61/+164
When AP_HAS_THREAD_LOCAL is available, use a thread-local match_thread_state to save per-thread data in a subpool of the thread's pool. If private_malloc() gets out of the stack buffer and the current thread has a pool (i.e. ap_thread_current() != NULL), it will apr_palloc()ate and return memory from the subpool. When the match is complete and the match_data are freed, the thread subpool is cleared thus giving back the memory to the allocator, which itself will give back the memory or recycle it depending on its max_free setting. * util_pcre.c: Restore POSIX_MALLOC_THRESHOLDsince this is part of the user API. * util_pcre.c(match_data_pt): Type not used (explicitely) anymore, axe. * util_pcre.c(struct match_data_state): Put the stack buffer there to simplify code (the state is allocated on stack anyway). If APREG_USE_THREAD_LOCAL, add the apr_thread_t* and match_thread_state* fields that track the thread local data for the match. * util_pcre.c(alloc_match_data, free_match): Renamed to setup_state() and cleanup_state(), simplified (no stack buffer parameters anymore). cleanup_state() now clears the thread local subpool if used during the match. setup_state() set state->thd to ap_thread_current(), thus NULL if it's not a suitable thread for using thread local data. * util_pcre.c(private_malloc): Fix a possible buf_used overflow (size <= avail < APR_ALIGN_DEFAULT(size)). Create the thread local subpool (once per thread) and allocate from there when stack space is missing and state->thd != NULL, otherwise fall back to malloc() still. * util_pcre.c(private_free): Do nothing for thread local subpool memory, will be freed in cleanup_state eventually. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902731 13f79535-47bb-0310-9956-ffa450edef68
2022-07-15core: Apply ap_max_mem_free to created threads' pool allocator.Yann Ylavic2-83/+88
Since APR does not set the threshold above which the allocator of the thread's starts returning its memory to the system, so set ap_max_mem_free from ap_thread_create(), ap_thread_main_create() and ap_thread_current_create(). * include/httpd.h: Provide our own ap_thread_create() in any case (but !APR_HAS_THREADS). Simplify #ifdef-ery. * server/util.c(thread_start, ap_thread_main_create, ap_thread_current_create): Set ap_max_mem_free to the thread's pool allocator. Simplify #ifdef-ery. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902728 13f79535-47bb-0310-9956-ffa450edef68
2022-07-11Make pytest error whitelist a bit more explicitRainer Jung1-1/+6
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902660 13f79535-47bb-0310-9956-ffa450edef68
2022-07-11mpm_winnt: Follow up to r1902636: another compilation error.Yann Ylavic1-1/+1
Same error, elsewhere. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902641 13f79535-47bb-0310-9956-ffa450edef68
2022-07-10mpm_winnt: Fix compilation error.Yann Ylavic1-1/+1
server\mpm\winnt\child.c(1210,1): error C2440: 'initializing': cannot convert from 'worker_info' to 'worker_info *' git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902636 13f79535-47bb-0310-9956-ffa450edef68
2022-07-08Follow-up to r1902572: Remove now unused #include.Ivan Zhakov1-1/+0
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902573 13f79535-47bb-0310-9956-ffa450edef68
2022-07-08Rewrite ap_regexec() without a thread-local storage context for allocations.Ivan Zhakov1-101/+64
Provide custom malloc() and free() implementations that use a stack buffer for first N bytes and then fall back to an ordinary malloc/free(). The key properties of this approach are: 1) Allocations with PCRE2 happen the same way as they were happening with PCRE1 in httpd 2.4.52 and earlier. 2) There are no malloc()/free() calls for typical cases where the match data can be kept on stack. 3) The patch avoids a malloc() for the match_data structure itself, because the match data is allocated with the provided custom malloc() function. 4) Using custom allocation functions should ensure that PCRE is not going to use malloc() for any auxiliary allocations, if they are necessary. 5) There is no per-thread state. References: 1) https://lists.apache.org/thread/l6m7dqjkk0yy3tooyd2so0rb20jmtpwd 2) https://lists.apache.org/thread/5k9y264whn4f1ll35tvl2164dz0wphvy git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902572 13f79535-47bb-0310-9956-ffa450edef68
2022-07-05Update to test with OpenSSL 3.0.5.Joe Orton1-3/+3
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902482 13f79535-47bb-0310-9956-ffa450edef68
2022-07-02fr doc rebuild.Lucien Gentis2-8/+14
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902411 13f79535-47bb-0310-9956-ffa450edef68
2022-07-02fr doc XML file update.Lucien Gentis1-8/+13
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902410 13f79535-47bb-0310-9956-ffa450edef68
2022-07-02 *) mod_http2: fixed trailer handling. Empty response bodiesStefan Eissing3-31/+63
prevented trailers from being sent to a client. See <https://github.com/icing/mod_h2/issues/233> for how this affected gRPC use. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902409 13f79535-47bb-0310-9956-ffa450edef68
2022-07-02 *) test/modules/http2: adding tests for response trailers withStefan Eissing3-26/+178
or without a body. This reproduces a bug reported in <https://github.com/icing/mod_h2/issues/233> where trailers are not sent on an empty response body. This is used in gRPC. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902408 13f79535-47bb-0310-9956-ffa450edef68
2022-07-02 *) test: improved nghttp client output parsing.Stefan Eissing1-4/+3
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902407 13f79535-47bb-0310-9956-ffa450edef68
2022-06-30Trigger ci (check APR revert r1902369).Yann Ylavic1-1/+1
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902370 13f79535-47bb-0310-9956-ffa450edef68
2022-06-30* CMakeLists.txt: Use full path to gen_test_char.exe in CUSTOM_COMMAND.Ivan Zhakov1-2/+1
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1902366 13f79535-47bb-0310-9956-ffa450edef68