- Sep 05, 2018
-
-
Yann Ylavic authored
Introduce opaque struct ap_filter_private to move ap_filter_t "pending", "bb" and "deferred_pool" fields to the "priv" side of things. This allows to trust values set internally (only!) in util_filter code, and make useful assertions between the different functions calls, along with the usual nice extensibility property. Likewise, the private struct ap_filter_conn_ctx in conn_rec (from r1839997) allows now to implement the new ap_acquire_brigade() and ap_release_brigade() functions useful to get a brigade with c->pool's lifetime. They obsolete ap_reuse_brigade_from_pool() which is replaced where previously used. Some comments added in ap_request_core_filter() regarding the lifetime of the data it plays with, up to EOR... MAJOR bumped (once again). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1840149 13f79535-47bb-0310-9956-ffa450edef68
-
- Sep 04, 2018
-
-
Yann Ylavic authored
We don't mind about cleaning up a connection filter when its pool is being cleaned up already. For request filters, let pending_filter_cleanup() do nothing if the given filter is not pending (anymore), which allows to save a cleanup kill when the filter is removed. Clear (zero) the reused filters (ap_filter_t) on reuse rather than cleanup, then a single APR_RING_CONCAT() can be used to recycle dead_filters in a one go. Always call ap_filter_recycle() in ap_filter_output_pending(), even if no filter is pending, and while at it fix s/ap_filter_recyle/ap_filter_recycle/ silly typo. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1840028 13f79535-47bb-0310-9956-ffa450edef68
-
Stefan Eissing authored
mod_http2: connection IO event handling reworked. Instead of reacting on incoming bytes, the state machine now acts on incoming frames that are affecting it. This reduces state transitions. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1840010 13f79535-47bb-0310-9956-ffa450edef68
-
Yann Ylavic authored
We want not only ap_filter_output_pending() to be able to access each pending filter's *f after the EOR is destroyed, but also each request filter to do the same until it returns. So request filters are now always cleaned up into a dead_filters ring which is merged into spare_filters only when ap_filter_recycle() is called explicitely, that is in ap_process_request_after_handler() and ap_filter_output_pending(). The former takes care of recycling at the end of the request, with any MPM, while the latter keeps recycling during MPM event's write completion. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1840002 13f79535-47bb-0310-9956-ffa450edef68
-
Yann Ylavic authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839998 13f79535-47bb-0310-9956-ffa450edef68
-
- Sep 03, 2018
-
-
Yann Ylavic authored
When filters are allocated on f->r->pool, they may be destroyed any time underneath themselves which makes it hard for them to be passed the EOR and forward it (*f can't be dereferenced anymore when the EOR is destroyed, thus before request filters return). On the util_filter side, it also makes it impossible to flush pending request filters when they have set aside the EOR, since f->bb can't be accessed after it's passed to the f->next. So we always use f->c->pool to allocate filters and pending brigades, and to avoid leaks with keepalive requests (long living connections handling multiple requests), filters and brigades are recycled with a cleanup on f->r->pool. Recycling is done (generically) with a spare data ring (void pointers), and a filter(s) context struct is associated with the conn_rec to maintain the rings by connection, that is: struct ap_filter_conn_ctx { struct ap_filter_ring *pending_input_filters; struct ap_filter_ring *pending_output_filters; struct ap_filter_spare_ring *spare_containers, *spare_brigades, *spare_filters, *spare_flushes; int flushing; }; MMN major bumped (again). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839997 13f79535-47bb-0310-9956-ffa450edef68
-
Stefan Eissing authored
Reverting change 1839920, making TLSv1.3 part of "all" again, if supported by the SSL library. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839946 13f79535-47bb-0310-9956-ffa450edef68
-
Yann Ylavic authored
Pending input and output are now maintained separately in respectively c->pending_input_filters and c->pending_output_filters, which improves both performances and debug-ability. Also, struct ap_filter_ring is made opaque, it's only used by util_filter and this will allow us to later change it e.g. to a dual ring+apr_hash to avoid quadratic search in ap_filter_prepare_brigade(). MMN major bumped due to the change in conn_rec (this is trunk only code anyway for now). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839933 13f79535-47bb-0310-9956-ffa450edef68
-
Stefan Eissing authored
SSL protocl TLSv1.3 no longer part of 'all' when configured. Needs to be added explicitly. When using 'modern' as SSL policy, TLSv1.3 is enabled. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839920 13f79535-47bb-0310-9956-ffa450edef68
-
- Aug 31, 2018
-
-
Rainer Jung authored
from apr_time_t to milliseconds instead of hard-coded division by 1000. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839780 13f79535-47bb-0310-9956-ffa450edef68
-
- Aug 29, 2018
-
-
Yann Ylavic authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839583 13f79535-47bb-0310-9956-ffa450edef68
-
Yann Ylavic authored
Since [mpm]_note_child_killed uses the scoreboard's generation number for child_status hook (MPM_CHILD_EXITED), we must initialize it early (i.e. in [mpm]_note_child_started where MPM_CHILD_STARTED is set) to avoid race conditions on restart (e.g. storm/loop of restarts) leading to AH00546. PR 62658. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839571 13f79535-47bb-0310-9956-ffa450edef68
-
- Aug 28, 2018
-
-
Yann Ylavic authored
Make the SSL filters chain return an error when the handshake fails with an origin server. It can then be caught by mod_proxy to fail with 502. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839442 13f79535-47bb-0310-9956-ffa450edef68
-
Lucien Gentis authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839436 13f79535-47bb-0310-9956-ffa450edef68
-
Lucien Gentis authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839435 13f79535-47bb-0310-9956-ffa450edef68
-
- Aug 27, 2018
-
-
Jim Jagielski authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839303 13f79535-47bb-0310-9956-ffa450edef68
-
- Aug 26, 2018
-
-
Christophe Jaillet authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839250 13f79535-47bb-0310-9956-ffa450edef68
-
Christophe Jaillet authored
There is a typo in the comment. HN_UPDATE_SEC has been renamed HM_UPDATE_SEC. The TODO seems to have been taken into account in r759862. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839249 13f79535-47bb-0310-9956-ffa450edef68
-
Christophe Jaillet authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839248 13f79535-47bb-0310-9956-ffa450edef68
-
Christophe Jaillet authored
There is a typo in the comment. HN_UPDATE_SEC has been renamed HM_UPDATE_SEC. The TODO seems to have been taken into account in r759862. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839247 13f79535-47bb-0310-9956-ffa450edef68
-
Christophe Jaillet authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839245 13f79535-47bb-0310-9956-ffa450edef68
-
Jim Jagielski authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839218 13f79535-47bb-0310-9956-ffa450edef68
-
- Aug 24, 2018
-
-
Christophe Jaillet authored
+ add a missing link git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838958 13f79535-47bb-0310-9956-ffa450edef68
-
Christophe Jaillet authored
(+ some minor style issues) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838951 13f79535-47bb-0310-9956-ffa450edef68
-
Jim Jagielski authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838941 13f79535-47bb-0310-9956-ffa450edef68
-
Jim Jagielski authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838940 13f79535-47bb-0310-9956-ffa450edef68
-
Jim Jagielski authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838939 13f79535-47bb-0310-9956-ffa450edef68
-
Christophe Jaillet authored
Synch with 2.4.x and imporve syntax highlight git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838938 13f79535-47bb-0310-9956-ffa450edef68
-
Jim Jagielski authored
Re: [Bug 62318] healthcheck git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838937 13f79535-47bb-0310-9956-ffa450edef68
-
- Aug 22, 2018
-
-
Christophe Jaillet authored
When a rewrite to proxy is configured in the server config, a check is made to make sure mod_proxy is active. But the same is not done if a rewrite to proxy is configured in an .htaccess file. Basically this patch is the block of code from hook_uri2file that does the proxy check, copied to hook_fixup. Patch provided by Michael Streeter [mstreeter1 gmail.com], slightly modified to use a new APLOGNO git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838684 13f79535-47bb-0310-9956-ffa450edef68
-
- Aug 20, 2018
-
-
Christophe Jaillet authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838459 13f79535-47bb-0310-9956-ffa450edef68
-
Christophe Jaillet authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838458 13f79535-47bb-0310-9956-ffa450edef68
-
- Aug 18, 2018
-
-
Lucien Gentis authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838340 13f79535-47bb-0310-9956-ffa450edef68
-
Lucien Gentis authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838338 13f79535-47bb-0310-9956-ffa450edef68
-
Christophe Jaillet authored
There is no need to copy, strchr, strcmp and modify a string which is only used for TRACE2 logging. Note that the code that looks similar a few lines below can not be optimized the same way because it is also returned in 'pmessage'. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838318 13f79535-47bb-0310-9956-ffa450edef68
-
Christophe Jaillet authored
- Remove the space in "character set" in the syntax of ProxyFtpDirCharset to avoid confusion (it is 1 parameter only) - Use the correct syntax for the "default" values, so that they are parsed and correctly displayed in 'quickreference' - Remove extra [] when directive's parameter are required - correct the default password: apache-proxy@ instead of apache_proxy@. This was silently changed in r88745, 17 years ago! git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838313 13f79535-47bb-0310-9956-ffa450edef68
-
- Aug 17, 2018
-
-
Christophe Jaillet authored
Remove some dead code. '!r->content_languages' is known to be true at this point. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838285 13f79535-47bb-0310-9956-ffa450edef68
-
Christophe Jaillet authored
Remove some dead code. Updating 'last' is pointless here. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838271 13f79535-47bb-0310-9956-ffa450edef68
-
Christophe Jaillet authored
'ap_unescape_urlencoded()' suggests that NULL can be passed to 'unescape_url()'. So avoid a potential 'strchr(NULL, ...)' which is an undefined behavior. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838270 13f79535-47bb-0310-9956-ffa450edef68
-
Luis Gil authored
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1838255 13f79535-47bb-0310-9956-ffa450edef68
-