core_filters.c

Checkout Tools
  • last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Merge r1418761, r1418765, r1510295, r1757147, r1805163, r1818924, r1827374, r1831772, r1832351, r1832951, r1815004 from trunk:

Don't claim "BIO dump follows" if it is not logged due to log level config.

make ssl_io_data_dump respect per-conn loglevel

add high trace level log messages for debugging buffering and write completion

* modules/ssl/ssl_engine_kernel.c (ssl_callback_SessionTicket): Fail

if RAND_bytes() fails; possible per API, although not in practice

with the OpenSSL implementation.

Fix typo in log message.

ap_add_common_vars(): use apr_pstrmemdup().

This avoids a transient replacement/restore of '?' by '\0' in r->filename.

Use 'ap_request_has_body()' instead of duplicating its implemenation.

The logic in 'ap_request_has_body()' is:

has_body = (!r->header_only

&& (r->kept_body

|| apr_table_get(r->headers_in, "Transfer-Encoding")

|| ( (cls = apr_table_get(r->headers_in, "Content-Length"))

&& (apr_strtoff(&cl, cls, &estr, 10) == APR_SUCCESS)

&& (!*estr)

&& (cl > 0) )

)

);

So the test is slighly different from the original code. (but this looks fine to me)

This also has the advantage to avoid a redundant call to 'apr_table_get()' and to improve readability.

While at it, move the test '!r->expecting_100' a few lines above because it is cheap.

PR62368: Print the unparsed URI in AH03454

... to include r->args and get otherwise get as close to possible to

what came in over the wire.

Submitted By: Hank Ibell <hwibell gmail.com>

Committed By: covener

All error handling paths of this function call 'apr_brigade_destroy()' , except this one.

So add it here too.

Probably spotted with the help of the Coccinelle software (Thx Julia for the patch and for Coccinelle)

See PR 53016

* modules/proxy/proxy_util.c (ap_proxy_share_worker): Skip creating subpool

for debugging unless debug-level logging is enabled. No functional change.

mod_watchdog: Correct some log messages and fix

compiler warning

"'rv' may be used uninitialized in this function".

Follow up to r1722154.

Submitted by: sf, jorton, jorton, ylavic, jailletc36, covener, jailletc36, jorton, rjung

Reviewed by: jailletc36, jim, jorton

  1. … 10 more files in changeset.
Merge r1601624 from trunk:

Strip useless apr_brigade_cleanup() calls.

Submitted/backported by: ylavic

Reviewed by: jailletc36, jim, ylavic

  1. … 7 more files in changeset.
Merge r1602978, r1683044, r1683884, r1673368, r1701717, r1683047 from trunk:

Core filters do not need mod_proxy.h

Small speed optimization when parsing <Limit>, <LimitExcept> and environment variables

Save a few bytes in conf pool

Remove some spaces between some return statements and ';' + fix a strange formating in a 'for' loop

In order to save a few cycles, delay a hash table lookup which is not necessary needed

Constify + save a few bytes in conf pool

Submitted by: ylavic, jailletc36, jailletc36, jailletc36, jailletc36, jailletc36

Reviewed/backported by: jim

  1. … 7 more files in changeset.
Merge r1666998 from trunk:

core: Cleanup the request soon/even if some output filter fails to

handle the EOR bucket.

Submitted by: ylavic

Reviewed/backported by: jim

  1. … 4 more files in changeset.
Merge r1669289, r1669292 from trunk:

core_filters: restore/disable TCP_NOPUSH option after non-blocking sendfile.

CHANGES: follow up to r1669289.

Submitted by: ylavic

Reviewed/backported by: jim

  1. … 3 more files in changeset.
Merge r1615026 from trunk:

Turn some APR_BUCKET_REMOVE(e)+apr_bucket_destroy(e) into the equivalent apr_bucket_delete(e) to reduce code verbosity

Submitted by: jailletc36

Reviewed/backported by: jim

  1. … 6 more files in changeset.
Merge r1530793 from trunk:

core: Don't truncate output when sending is interrupted by a signal,

such as from an exiting CGI process.

PR: 55643

Submitted by: trawick

Reviewed/backported by: jim

  1. … 3 more files in changeset.
core: Restore "core_output_filter: writing data to the network", but at TRACE1.

trunk patch: http://svn.apache.org/r1501294

Submitted by: covener

Reviewed by: jim, humbedooh

  1. … 3 more files in changeset.
Merge r1371801 from trunk:

Windows: Fix SSL failures on windows with AcceptFilter https none.

The now-stray apr_socket_opt_set(APR_SO_NONBLOCK=On) call was

originally added with r327872. The call was harmless on Unix

due to APR's use of non-blocking sockets when implementing timeouts

on that platform, but harmful on Windows since it collided with

APR's different implementation of timeouts on that platform.

PR: 52476

Submitted by: trawick

Reviewed/backported by: jim

  1. … 2 more files in changeset.
Merge r1235019, r1236122, r1240470:

Make the core input/output filter contexts private and provide a hook

to insert a custom bucket, for use bye mpm_winnt and mod_ftp.

This allows to add members to the context structs without breaking binary

compatibility.

This should be ABI back-compatible, so only a minor MMN bump.

  1. … 8 more files in changeset.
Merge r1240315:

Fix various filter functions to return apr_status_t instead of int

  1. … 6 more files in changeset.
Merge r1233882 from trunk:

* server/core_filters.c (ap_core_input_filter): Only treat EAGAIN as

success if a non-blocking read was requested; for a blocking read,

it is an error condition.

Submitted by: jorton

Reviewed/backported by: jim

Merge r1234899:

* server/core_filters.c (send_brigade_nonblocking): Use a non-blocking

bucket read, allowing any pending data to be flushed before trying a

(potentially slow) blocking read.

Submitted by: Joe Orton

  1. … 1 more file in changeset.
Merge r1234848 from trunk:

* server/core_filters.c (ap_core_output_filter): Don't read the entire

output of a morphing bucket into RAM.

Submitted by: jorton, sf

  1. … 1 more file in changeset.
Merge r1234574:

ctx->bytes_in is never used. Remove a useless iteration through the brigade

  1. … 1 more file in changeset.
Merge r1234479:

Document the rather surprising code path on Windows

  1. … 1 more file in changeset.
Backport r1209766, r1210252, r1210284:

Add lots of unique tags to error log messages

ssl_util.c: Downgrade some dynamic locking messages from level DEBUG

to TRACE1-3

  1. … 164 more files in changeset.