Checkout Tools
  • last updated 4 hours ago
Constraints: committers
Constraints: files
Constraints: dates

Changeset 1877820 is being indexed.

fr doc rebuild.

fr doc XML file update.

Vote mod_http2

mod_ssl: follow up to r1877397: fix SSL_OP_NO_RENEGOT*I*ATION typo.

Should work better now :)

Follow up to r1877785: ap_filter_should_yield() is not NULL safe :p

ap_filter_output_pending(): test where each filter should yield after running.

Since running a filter may pass data next to it, ap_filter_output_pending()

should test for ap_filter_should_yield(f->next) after each f call, otherwise

it won't take into account new pending data in filters it just walked.

proposing backport of 1877783
*) mod_http2: Fixed regression that caused connections to close when mod_reqtimeout

was configured with a handshake timeout. Fixes gitub issue #196.

Include Angle-bracket form to Quoted form

mod_proxy: binary search for ProxyErrorOverride status codes.

The list can be rather long, speed up runtime by sorting the status codes in

error_override_codes and using binary search from ap_proxy_should_override().

Merge r1877708 from trunk:

mention relative path behavior, offline question

mention relative path behavior, offline question

mod_proxy_http: follow up to r1877696: reindent.

No functional changes.

mod_proxy_http: axe ap_proxy_should_override() duplicate checks.

mod_proxy_http: follow up to r1877646: send Upgrade header with 101 response.

Also, add a comment about why we forward the Upgrade header in non-101

responses provided the protocol matches the upgrade= configuration.

Windows : do not include ap_config_auto.h

Windows bits for mod_log_json.dsp

mod_proxy_http: handle Upgrade requests and upgraded protocol forwarding.

If the request Upgrade header matches the worker upgrade= parameter and

the backend switches the protocol, do the tunneling in mod_proxy_http.

This allows to keep the protocol to HTTP until the backend really

switches the protocol, and apply usual output filters.

When configured to forward Upgrade mechanism, we want the backend to be

able to announce its Upgrade protocol to the client (e.g. with 426

Upgrade Required response) and thus forward back the Upgrade header that

matches the one(s) configured in the worker upgrade= parameter.



ap_proxy_worker_can_upgrade(): added helper to determine whether a

proxy worker is configured to forward an Upgrade protocol.


Bump MMN minor for ap_proxy_worker_can_upgrade().


set_worker_param(): handle worker parameter upgrade=ANY as upgrade=*

(should the "any" protocol scheme be something some day..).


proxy_wstunnel_handler(): use ap_proxy_worker_can_upgrade() to match

the Upgrade header. Axe handling of upgrade=NONE, it makes no sense to

Upgrade a connection if the client did not ask for it, nor to configure

mod_proxy_wstunnel to use a worker with upgrade=NONE by the way.


proxy_http_req_t: add fields force10 (force HTTP/1.0) and upgrade (value

of the Upgrade header sent by the client if it matches the configuration,

NULL otherwise).

proxy_http_handler(): use ap_proxy_worker_can_upgrade() to determine

whether the request is electable for end to end protocol upgrading and set

req->upgrade accordingly.

terminate_headers(): handle Connection and Upgrade headers to send to the

backend, according to req->force10 and req->upgrade set before.

ap_proxy_http_prefetch(): use req->force10 and terminate_headers().

send_continue_body(): added helper to send the body retained for end to

end 100-continue handling.

ap_proxy_http_process_response(): use ap_proxy_worker_can_upgrade() to

match the response Upgrade header and forward it back if it matches the

configured one(s). That is for 101 Switching Protocol obviously but also

any other status code which is not overidden, at the backend wish. If the

protocol is switching, create a proxy tunnel and run it, using the minimal

timeout from the client or backend connection.

Github: closes #125

ap_log_pid(): Windown does not implement apr_file_perms_set(), not a failure.
mod_md: update duplicated APLOGNOs.
listen.c: follow up to r1876865: update APLOGNO.
Add Win build mod_log_json.dsp

    • ?
add include to test_char.h now required

mod_proxy_http: follow up to r1877557.

Yet better, call proxy_run_detach_backend() at the caller.

mod_proxy_http: single point of failure in ap_proxy_http_process_response().

No functional change (intended).

mpm_event: reset listener_is_wakeable on reload.
util_md5: avoid temporary stack result in ap_md5_binary().
util_expr: allow to specify only one of ap_expr_eval_ctx_t's r/c/s.

Depending on where the expression is evaluated, a request_rec might not be

available, so allow to specify only a conn_rec or a server_rec (at least) in

the passed in ap_expr_eval_ctx_t.

mod_ssl: destroy temporary pool on stapling_renew_response() failure.
util_filter: export ap_filter_adopt_brigade() since mod_ssl uses it.