httpd

Checkout Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
fr doc rebuild.

fr doc xml files updates.

Remove backported entry [skip ci]
Merge r1612945, r1734835, r1738875, r1833416, r1842898, r1867257, r1876745, r1876807, r1876823, r1877642 from trunk

Easy patches: synch 2.4.x and trunk

- core: Re-introduce check for sufficient PCRE version.

- core: Fix doc string for QualifyRedirectURL

- mod_proxy: really return an error message on invalid "flusher" value.

- mod_http2: Remove extra and un-needed ""

- mod_ldap: fix a (unlikely) memory leak

- ab: fix a typo

- suexec: Report error string after failure from setgid/initgroups or setuid

- mod_session_crypto: be less specific and don't echo passphrase

- mod_proxy_html: Fix proxy_html_conf.bufsz to have correct type, as

it is used with ap_set_int_slot.

- mod_md: update duplicated APLOGNOs.

Submitted by: fuankg, trawick, ylavic, jailletc36, jorton, jailletc36, jorton, covener, jorton, ylavic

Reviewed by: jailletc36, jim, ylavic

Backported by: jailletc36

Bump log numbers.

Add MMAP support to ETag generation.

Bump MMN correctly.

core: Remove support for the Content-MD5 header, removed in RFC7231.

Functions ap_md5digest() and ap_md5contextTo64() removed, and

ContentDigest directive.

Add skeleton for new features docs for 2.6.

    • ?
    /httpd/trunk/docs/manual/developer/new_api_2_6.xml
    • ?
    /httpd/trunk/docs/manual/new_features_2_6.xml
    • ?
    /httpd/trunk/docs/manual/new_features_2_6.xml.meta
Add log numbers to util_etag.c.

Seek to the start of the file when calculating the ETag.

mod_dav: Allow other DAV modules to use dav_get_resource().

Be defensive when calculating the digest. Make sure the offset is initialised

to zero before reading the current offset.

Follow up to r1879449: yet better MPM poll callback API.

Let pass a const pfds to the MPM, for it to make a copy on the given pool

as needed.

mpm_common: add pool argument to mpm_register_poll_callback[_timeout] hooks.

This is cleaner API than using pfds->pool implicitely.

MAJOR bump but reusing the existing hooks (with an API/ABI breakage) because

it's trunk material only.

Adjust for r1879447 to specify shmcb is tested when

TEST_SSL_SESSCACHE is defined. [skip ci]

Add scripts to run memcached/redis via docker, and use env var

to specify which SSLSessionCache setting to test if

TEST_SSL_SESSCACHE is defined.

    • ?
    /test/framework/trunk/scripts/redis-init.sh
    • ?
    /test/framework/trunk/scripts/memcached-init.sh
* modules/ssl/ssl_scache.c (ssl_scache_init): Use <16 character

cname argument for socache ->init() per the API constraint.

Add additional test suite runs for the prefork & event pool-debug builds:

- run with SSLSessionCache defined (after r1879430)

- run with "SSLProtocol TLSv1.2"

mod_proxy_wstunnel: follow up to r1879418: handle first async lifetime too.

Create the dedicated pfds and subpool in proxy_wstunnel_request() too, for

the first call to ap_mpm_register_poll_callback_timeout().

While at it, add comments about why we need the dedicated pfds/subpool.

mod_proxy_http: follow up to r1879419: clarify poll callback pds/subpool.

Comments about why we need a dedicated pfds and its subpool for

ap_mpm_register_poll_callback_timeout().

Skip the entire test suite if mod_memory_track isn't active

(non-prefork, non-pool-debug builds). Re-indent; no

functional change.

Test shmcb if TEST_SSL_SESSCACHE is defined.

mpm_common: remove ap_mpm_unregister_poll_callback().

It's now called automatically by mpm_event and anyway can't be called safely

outside the MPM code without racing.

MAJOR bump.

Follow up to r1879419: CHANGES entry.
mod_proxy_http: handle async tunneling of Upgrade(d) protocols.

When supported by the MPM (i.e. "event"), provide async callbacks and let

them be scheduled by ap_mpm_register_poll_callback_timeout(), while the

handler returns SUSPENDED.

The new ProxyAsyncDelay directive (if positive) enables async handling,

while ProxyAsyncIdleTimeout determines the timeout applied on both ends

while tunneling.

Github: closes #126

mod_proxy_wstunnel: avoid leaks on tunnel->pfds->pool.

Since event_register_poll_callback_ex() allocates its data on pfds->pool,

we need a subpool to be cleared at each proxy_wstunnel_callback() call.

mpm_event: poll callbacks fixes and improvements.

server/mpm_fdqueue.h;

Rename "remove" field to "pfds" in timer_event_t.

server/mpm/event/event.c:

update_reqevents_from_sense():

New helper to update pfd->reqevents according to the given cs->sense

for CONN_STATE_WRITE_COMPLETION, reusable in process_socket() and

event_resume_suspended().

event_resume_suspended():

Process lingering close if given cs->state = CONN_STATE_LINGER.

Call notify_suspend() before entering CONN_STATE_WRITE_COMPLETION.

event_register_poll_callback_ex():

Don't poll pfds with reqevents == 0.

listener_thread():

Run event_cleanup_poll_callback to both remove the registered pfds

and leave pfds->pool in a consistent state.

Process users callabacks after all PT_USER batons have been collected

in the result pfds loop, otherwise we might race with the callbacks

within the loop if multiple events/sockets concern the same baton, and

crash if pfds->pool is cleared.

mod_ssl: release coalesced data when called from ap_filter_output_pending().

The purpose of ap_filter_output_pending() is to flush pending data, so

ssl_io_filter_coalesce() should honor that.

This allows mod_proxy to not care about mod_ssl coalescing filters when

tunneling between connections.

mod_proxy: reindent ap_proxy_transfer_between_connections() after r1879401.

No functional change.