CHANGES revision 04fce9928cdb66890ef227cb2f734a1d97abd06f
5aefb6555731130ca4fd295960123d71f2d21fe8rie -*- coding: utf-8 -*-
5aefb6555731130ca4fd295960123d71f2d21fe8rieChanges with Apache 2.5.0
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_log_config: Add GlobalLog to allow a globally defined log to
5aefb6555731130ca4fd295960123d71f2d21fe8rie be inherited by virtual hosts that define a CustomLog.
5aefb6555731130ca4fd295960123d71f2d21fe8rie [Edward Lu <Chaosed0 gmail.com>]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) MPMs: Support SO_REUSEPORT to create multiple duplicated listener
5aefb6555731130ca4fd295960123d71f2d21fe8rie records for scalability. [Yingqi Lu <yingqi.lu@intel.com>,
5aefb6555731130ca4fd295960123d71f2d21fe8rie Jeff Trawick, Jim Jagielski]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_proxy_html: support automatic detection of doctype and processing
5aefb6555731130ca4fd295960123d71f2d21fe8rie of FPIs. PR56285 [Micha Lenk <micha lenk info>, Nick Kew]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_proxy_html: skip documents shorter than 4 bytes
5aefb6555731130ca4fd295960123d71f2d21fe8rie PR 56286 [Micha Lenk <micha lenk info>]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_proxy_fdpass: Fix computation of the size of 'struct sockaddr_un'
5aefb6555731130ca4fd295960123d71f2d21fe8rie when passed to 'connec()'.
5aefb6555731130ca4fd295960123d71f2d21fe8rie [Graham Dumpleton <grahamd apache org>]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_socache_shmcb: Correct counting of expirations for status display.
7e16fca05dfbcfd32c2ebc9e4d1abdac1cd8657cAli Bahrami Expirations happening during retrieval were not counted. [Rainer Jung]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_proxy_balancer: Correctly encode user provided data in management
5aefb6555731130ca4fd295960123d71f2d21fe8rie interface. PR 56532 [Maksymilian, <max cert.cx>]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) core: Add ap_mpm_resume_suspended() API to allow a suspended connection
5aefb6555731130ca4fd295960123d71f2d21fe8rie to resume. PR56333
ba2be53024c0b999e74ba9adcd7d80fec5df8c57ab [Artem <artemciy gmail.com>, Edward Lu <Chaosed0 gmail.com>]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) core: Add ap_mpm_register_socket_callback_timeout() API. [Eric Covener]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_proxy_wstunnel: Honor ProxyWebsocketIdleTimeout in asynchronous
5aefb6555731130ca4fd295960123d71f2d21fe8rie processing mode. [Eric Covener]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_proxy_fcgi: Fix occasional high CPU when handling request bodies.
5aefb6555731130ca4fd295960123d71f2d21fe8rie [Jeff Trawick]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_proxy_fcgi: Support iobuffersize parameter. [Jeff Trawick]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_cache: Preserve non-cacheable headers forwarded from an origin 304
981a172d53aeb81520fcfecf6ab2615277c7bd18ab response. PR 55547. [Yann Ylavic]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_cache: Don't add cached/revalidated entity headers to a 304 response.
981a172d53aeb81520fcfecf6ab2615277c7bd18ab PR 55547. [Yann Ylavic]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_authnz_ldap: Fail explicitly when the filter is too long. Remove
981a172d53aeb81520fcfecf6ab2615277c7bd18ab unnecessary apr_pstrdup() and strlen(). [Graham Leggett]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) Add the ldap-search option to mod_authnz_ldap, allowing authorization
981a172d53aeb81520fcfecf6ab2615277c7bd18ab to be based on arbitrary expressions that do not include the username.
4f680cc668fa6cf678c531083400ade9a9c7934cAli Bahrami [Graham Leggett]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) Add the ldap function to the expression API, allowing LDAP filters and
981a172d53aeb81520fcfecf6ab2615277c7bd18ab distinguished names based on expressions to be escaped correctly to
981a172d53aeb81520fcfecf6ab2615277c7bd18ab guard against LDAP injection. [Graham Leggett]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) Add module mod_ssl_ct, which provides an implementation of Certificate
981a172d53aeb81520fcfecf6ab2615277c7bd18ab Transparency (RFC 6962) for httpd. [Jeff Trawick]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_proxy: Preserve original request headers even if they differ
981a172d53aeb81520fcfecf6ab2615277c7bd18ab from the ones to be forwarded to the backend. PR 45387.
981a172d53aeb81520fcfecf6ab2615277c7bd18ab [Yann Ylavic]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_proxy: When ping/pong is configured for a worker, don't send or
981a172d53aeb81520fcfecf6ab2615277c7bd18ab forward "100 Continue" (interim) response to the client if it does
981a172d53aeb81520fcfecf6ab2615277c7bd18ab not expect one. [Yann Ylavic]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_remoteip: Prevent an external proxy from presenting an internal
981a172d53aeb81520fcfecf6ab2615277c7bd18ab proxy. PR 55962. [Mike Rumph]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_ssl: Add hooks to allow other modules to perform processing at
981a172d53aeb81520fcfecf6ab2615277c7bd18ab several stages of initialization and connection handling. See
981a172d53aeb81520fcfecf6ab2615277c7bd18ab mod_ssl_openssl.h. [Jeff Trawick]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_proxy_wstunnel: Avoid sending error responses down an upgraded
4f680cc668fa6cf678c531083400ade9a9c7934cAli Bahrami websockets connection as it is being close down. [Eric Covener]
4f680cc668fa6cf678c531083400ade9a9c7934cAli Bahrami *) mod_proxy_wstunnel: Allow the administrator to cap the amount
981a172d53aeb81520fcfecf6ab2615277c7bd18ab of time a synchronous websockets connection stays idle with
981a172d53aeb81520fcfecf6ab2615277c7bd18ab ProxyWebsocketIdleTimeout. [Eric Covener]
4f680cc668fa6cf678c531083400ade9a9c7934cAli Bahrami *) mod_proxy_wstunnel: Change to opt-in for asynchronous support, adding
4f680cc668fa6cf678c531083400ade9a9c7934cAli Bahrami directives ProxyWebsocketAsync and ProxyWebsocketAsyncDelay.
981a172d53aeb81520fcfecf6ab2615277c7bd18ab [Eric Covener]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_proxy_wstunnel: Stop leaking websockets backend connections under
981a172d53aeb81520fcfecf6ab2615277c7bd18ab event MPM (trunk-only). [Eric Covener]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_proxy_http: Add detach_backend hook (potentially usable
981a172d53aeb81520fcfecf6ab2615277c7bd18ab in other proxy scheme handlers). [Jeff Trawick]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_deflate: Add DeflateAlterETag to control how the ETag
981a172d53aeb81520fcfecf6ab2615277c7bd18ab is modified. The 'NoChange' parameter mimics 2.2.x behavior.
981a172d53aeb81520fcfecf6ab2615277c7bd18ab PR 45023, PR 39727. [Eric Covener]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_rewrite: Add 'BNF' (backreferences-no-plus) flag to RewriteRule to
981a172d53aeb81520fcfecf6ab2615277c7bd18ab allow spaces in backreferences to be encoded as %20 instead of '+'.
5aefb6555731130ca4fd295960123d71f2d21fe8rie [Eric Covener]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_rewrite: Support an optional list of characters to escape in the
5aefb6555731130ca4fd295960123d71f2d21fe8rie argument for the 'B' (escape backreferences) flag. [Eric Covener]
f5a18a30a06b60eec275589214da939abbaa99d9rie *) mod_ssl: Add SSLOCSPUseRequestNonce directive to control whether or not
5aefb6555731130ca4fd295960123d71f2d21fe8rie OCSP requests should use a nonce to be checked against the responder's
5aefb6555731130ca4fd295960123d71f2d21fe8rie one. PR 56233. [ Yann Ylavic ]
31fdd7ca2d295948f9f1bcc2a1178c66467bca63ab *) mod_dir: Default to 2.2-like behavior and skip execution when method is
5aefb6555731130ca4fd295960123d71f2d21fe8rie neither GET nor POST, such as for DAV requests. PR 54914. [Chris Darroch]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_rewrite: Rename the handler that does per-directory internal
5aefb6555731130ca4fd295960123d71f2d21fe8rie redirects to "rewrite-redirect-handler" from "redirect-handler" so
5aefb6555731130ca4fd295960123d71f2d21fe8rie it is less ambiguous and less likely to be reused. [Eric Covener]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_rewrite: Protect against looping with the [N] flag by enforcing a
5aefb6555731130ca4fd295960123d71f2d21fe8rie default limit of 10000 iterations, and allowing each rule to change its
5aefb6555731130ca4fd295960123d71f2d21fe8rie limit. [Eric Covener]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_ssl: Fix config merging of SSLOCSPEnable and SSLOCSPOverrideResponder.
5aefb6555731130ca4fd295960123d71f2d21fe8rie [Jeff Trawick]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) Add HttpContentLengthHeadZero and HttpExpectStrict directives.
981a172d53aeb81520fcfecf6ab2615277c7bd18ab [Yehuda Sadeh <yehuda inktank com>, Justin Erenkrantz]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) FreeBSD: Disable IPv4-mapped listening sockets by default for versions
981a172d53aeb81520fcfecf6ab2615277c7bd18ab 5+ instead of just for FreeBSD 5. PR 53824. [Jeff Trawick]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_auth_form: Add a debug message when the fields on a form are not
981a172d53aeb81520fcfecf6ab2615277c7bd18ab recognised. [Graham Leggett]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_ssl: Add -t -DDUMP_CA_CERTS option which dumps the filenames of all
981a172d53aeb81520fcfecf6ab2615277c7bd18ab configured SSL CA certificates to stdout the same way as DUMP_CERTS does.
981a172d53aeb81520fcfecf6ab2615277c7bd18ab [Jan Kaluza]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_ssl: Don't flush when an EOS is received. Prepares mod_ssl
981a172d53aeb81520fcfecf6ab2615277c7bd18ab to support write completion. [Graham Leggett]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) core: Add parse_errorlog_arg callback to ap_errorlog_provider
981a172d53aeb81520fcfecf6ab2615277c7bd18ab to allow providers to check the ErrorLog argument. [Jan Kaluza]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_cgid: Use the servers Timeout for each read from a CGI script,
981a172d53aeb81520fcfecf6ab2615277c7bd18ab allow override with new CGIDRequestTimeout directive. PR43494
981a172d53aeb81520fcfecf6ab2615277c7bd18ab [Eric Covener, Toshikuni Fukaya <toshikuni-fukaya cybozu co jp>]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) core: Add missing Reason-Phrase in HTTP response headers.
981a172d53aeb81520fcfecf6ab2615277c7bd18ab PR 54946. [Rainer Jung]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) core: ensure any abnormal exit is reported to stderr if it's a tty.
981a172d53aeb81520fcfecf6ab2615277c7bd18ab PR 55670 [Nick Kew]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_lua: Let the Inter-VM get/set functions work with a global
981a172d53aeb81520fcfecf6ab2615277c7bd18ab shared memory pool instead of a per-process pool. [Daniel Gruno]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) ldap: Support ldaps when using the Microsoft LDAP SDK.
981a172d53aeb81520fcfecf6ab2615277c7bd18ab PR 54626. [Jean-Frederic Clere]
981a172d53aeb81520fcfecf6ab2615277c7bd18ab *) mod_proxy: Add ap_connection_reusable() for checking if a connection
5aefb6555731130ca4fd295960123d71f2d21fe8rie is reusable as of this point in processing. [Jeff Trawick]
c6c9aed4d309e3d11be652b85e3bf8bb72f20c87ab *) mod_authnz_ldap: Change default value of AuthLDAPMaxSubGroupDepth to 0
c6c9aed4d309e3d11be652b85e3bf8bb72f20c87ab to avoid performance problems when subgroups aren't in use. [Eric Covener]
c6c9aed4d309e3d11be652b85e3bf8bb72f20c87ab *) mod_syslog: New module implementing syslog ap_error_log provider.
c6c9aed4d309e3d11be652b85e3bf8bb72f20c87ab Previously, this code was part of core, now it's in separate module.
c6c9aed4d309e3d11be652b85e3bf8bb72f20c87ab [Jan Kaluza]
c6c9aed4d309e3d11be652b85e3bf8bb72f20c87ab *) core: Add ap_errorlog_provider to make ErrorLog logging modular. Move
c6c9aed4d309e3d11be652b85e3bf8bb72f20c87ab syslog support from core to new mod_syslog. [Jan Kaluza]
c6c9aed4d309e3d11be652b85e3bf8bb72f20c87ab *) WinNT MPM: If ap_run_pre_connection() fails or sets c->aborted, don't
5aefb6555731130ca4fd295960123d71f2d21fe8rie save the socket for reuse by the next worker as if it were an
5aefb6555731130ca4fd295960123d71f2d21fe8rie APR_SO_DISCONNECTED socket. Restores 2.2 behavior. [Eric Covener]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_status, mod_echo: Fix the display of client addresses.
5aefb6555731130ca4fd295960123d71f2d21fe8rie They were truncated to 31 characters which is not enough for IPv6 addresses.
5aefb6555731130ca4fd295960123d71f2d21fe8rie PR 54848 [Bernhard Schmidt <berni birkenwald de>]
39773e466ff90ce703d7f52f3267d7e96c09c6f5ab *) core: Add ap_log_data(), ap_log_rdata(), etc. for logging buffers.
39773e466ff90ce703d7f52f3267d7e96c09c6f5ab [Jeff Trawick]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_unique_id: Use output of the PRNG rather than IP address and
5aefb6555731130ca4fd295960123d71f2d21fe8rie pid, avoiding sleep() call and possible DNS issues at startup,
5aefb6555731130ca4fd295960123d71f2d21fe8rie plus improving randomness for IPv6-only hosts.
5aefb6555731130ca4fd295960123d71f2d21fe8rie [Jan Kaluza <jkaluza redhat.com>]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_authnz_ldap: Support primitive LDAP servers that do not accept
5aefb6555731130ca4fd295960123d71f2d21fe8rie filters, such as "SDBM-backed LDAP" on z/OS, by allowing a special
5aefb6555731130ca4fd295960123d71f2d21fe8rie filter "none" to be specified in AuthLDAPURL. [Eric Covener]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_file_cache: mod_file_cache should be able to serve files that
5aefb6555731130ca4fd295960123d71f2d21fe8rie haven't had a Content-Type set via e.g. mod_mime. [Eric Covener]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) core: merge AllowEncodedSlashes from the base configuration into
5aefb6555731130ca4fd295960123d71f2d21fe8rie virtual hosts. [Eric Covener]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) AIX: Install DSO's with "cp" instead of "install" in instdso.sh
5aefb6555731130ca4fd295960123d71f2d21fe8rie [Eric Covener]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_ldap: Don't keep retrying if a new LDAP connection times out.
5aefb6555731130ca4fd295960123d71f2d21fe8rie [Eric Covener]
39773e466ff90ce703d7f52f3267d7e96c09c6f5ab *) mod_deflate: permit compilation of mod_deflate against a zlib that has
39773e466ff90ce703d7f52f3267d7e96c09c6f5ab been configured with -D Z_PREFIX, which redefines the token "deflate".
5aefb6555731130ca4fd295960123d71f2d21fe8rie [Eric Covener]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_socache_shmcb.c: Remove arbitrary restriction on shared memory size
5aefb6555731130ca4fd295960123d71f2d21fe8rie previously limited to 64MB. [Jens Låås <jelaas gmail.com>]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_auth_digest: Use the secret when generating nonces in all cases and
5aefb6555731130ca4fd295960123d71f2d21fe8rie not only when AuthName is used in .htaccess files (this change may cause
5aefb6555731130ca4fd295960123d71f2d21fe8rie problems if used with round robin load balancers). Don't regenerate the
5aefb6555731130ca4fd295960123d71f2d21fe8rie secret on graceful restarts. PR 54637 [Stefan Fritsch]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) core: Remove apr_brigade_flatten(), buffering and duplicated code
5aefb6555731130ca4fd295960123d71f2d21fe8rie from the HTTP_IN filter, parse chunks in a single pass with zero copy.
5aefb6555731130ca4fd295960123d71f2d21fe8rie Reduce memory usage by 48 bytes per request. [Graham Leggett]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) core: Stop the HTTP_IN filter from attempting to write error buckets
5aefb6555731130ca4fd295960123d71f2d21fe8rie to the output filters, which is bogus in the proxy case. Create a
5aefb6555731130ca4fd295960123d71f2d21fe8rie clean mapping from APR codes to HTTP status codes, and use it where
5aefb6555731130ca4fd295960123d71f2d21fe8rie needed. [Graham Leggett]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_proxy: Ensure network errors detected by the proxy are returned as
c6c9aed4d309e3d11be652b85e3bf8bb72f20c87ab 504 Gateway Timout as opposed to 502 Bad Gateway, in order to be
37915d862fc5cc87b5b702954d7d7f16a9f98e5cRichard Lowe compliant with RFC2616 14.9.4 Cache Revalidation and Reload Controls.
7e16fca05dfbcfd32c2ebc9e4d1abdac1cd8657cAli Bahrami *) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
c6c9aed4d309e3d11be652b85e3bf8bb72f20c87ab [Basant Kumar Kukreja <basant.kukreja sun.com>, Alejandro Alvarez
39773e466ff90ce703d7f52f3267d7e96c09c6f5ab *) core, mod_ssl: Enable the ability for a module to reverse the sense of
c6c9aed4d309e3d11be652b85e3bf8bb72f20c87ab a poll event from a read to a write or vice versa. This is a step on
39773e466ff90ce703d7f52f3267d7e96c09c6f5ab the way to allow mod_ssl taking full advantage of the event MPM.
39773e466ff90ce703d7f52f3267d7e96c09c6f5ab [Graham Leggett]
39773e466ff90ce703d7f52f3267d7e96c09c6f5ab *) mod_ldap: LDAP connections used for authentication were not respecting
4f680cc668fa6cf678c531083400ade9a9c7934cAli Bahrami LDAPConnectionPoolTimeout. PR 54587
4f680cc668fa6cf678c531083400ade9a9c7934cAli Bahrami *) core: ap_rgetline_core now pulls from r->proto_input_filters.
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_proxy_html: process parsed comments immediately.
5aefb6555731130ca4fd295960123d71f2d21fe8rie Fixes bug where parsed comments may be lost. [Nick Kew]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_proxy_html: introduce doctype for HTML 5 [Nick Kew]
5aefb6555731130ca4fd295960123d71f2d21fe8rie *) mod_proxy_html: fix typo-bug processing "strict" vs "transitional"
HTML/XHTML [Nick Kew]
[Jan Kaluza <jkaluza redhat.com>]
*) The following now respect DefaultRuntimeDir/DEFAULT_REL_RUNTIMEDIR:
setuid/setgid capability bits rather than a setuid root binary.
[Matthew Steele <mdsteele google.com>]
passing through the server in such a way that connections and/or
Apache 2.4.xx tree as documented below, except as noted.]
Changes with Apache 2.4.x and later:
Changes with Apache 2.2.x and later:
Changes with Apache 2.0.x and later: