1715880355ef7f574cae2e8f973411b51acedede 1665625 |
|
10-Mar-2015 |
ylavic |
core, modules: like r1657897 but for core and other modules than mod_proxy.
More uses of ap_map_http_request_error() and AP_FILTER_ERROR so that we never
return an HTTP error status from a handler if some filter generated a response
already.
That is, from a handler, either ap_get_brigade() (an input filter) returned
AP_FILTER_ERROR and we must forward it to ap_die(), or ap_pass_brigade() (an
output filter) failed with any status and we must return AP_FILTER_ERROR in
any case for ap_die() to determine whether a response is needed or not. |
0f19881eb155511972cec25a0b554ae0182c6ba1 1653539 |
|
21-Jan-2015 |
covener |
Remove the bitfield spec from the http_ctx_t.state enum
as it causes an error-prone mismatch between the enum values and the
state values. Caused a busy loop in windows.
Added in r1484852 and trunk-only.
Submitted By: Edward Lu, Yann Ylavic
Committed By: covener |
bb8b22a3708a815a8fcd0c8d5c8de46c25240cc1 1626050 |
|
18-Sep-2014 |
jailletc36 |
Concat string at compile time when possible.
Doing so, sometimes also give the opportunity to turn a 'ap_fputstrs' into a 'ap_fputs'.
PR 53741 |
7b2d86a06e335d11d3e49213a36a6f55c9dd3dda 1611979 |
|
20-Jul-2014 |
jailletc36 |
Add missing APLOGNO. |
8491e0600f69b0405e156ea8a419653c065c645b 1610814 |
|
15-Jul-2014 |
covener |
*) SECURITY: CVE-2013-5704 (cve.mitre.org)
core: HTTP trailers could be used to replace HTTP headers
late during request processing, potentially undoing or
otherwise confusing modules that examined or modified
request headers earlier. Adds "MergeTrailers" directive to restore
legacy behavior.
Submitted By: Edward Lu, Yann Ylavic, Joe Orton, Eric Covener
Committed By: covener |
e4b6de48d33439d2a08251ea184229a2d270e33a 1610383 |
|
14-Jul-2014 |
jailletc36 |
Simplify code.
Cases where 'loc' doesn't have any ':' or is starting with ':' are already handled by 'ap_ir_url()'
Calling 'apr_isascii()' seems useless. |
ba1858598da91e42b574eee1b69ab485fbd0d1d5 1603863 |
|
19-Jun-2014 |
ylavic |
Use unsigned bit flags (otherwise the non-zero value to be used is -1). |
ccc20788c1e5fc973f36df634399c89acb70deae 1554303 |
|
30-Dec-2013 |
jerenkrantz |
Add directives to control two protocol options:
HttpContentLengthHeadZero - allow Content-Length of 0 to be returned on HEAD
HttpExpectStrict - allow admin to control whether we must see "100-continue"
This is helpful when using Ceph's radosgw and httpd.
Inspired by: Yehuda Sadeh <yehuda@inktank.com>
See https://github.com/ceph/apache2/commits/precise
* include/http_core.h
(core_server_config): Add http_cl_head_zero and http_expect_strict fields.
* modules/http/http_filters.c
(ap_http_header_filter): Only clear out the C-L if http_cl_head_zero is not
explictly set.
* server/core.c
(merge_core_server_configs): Add new fields.
(set_cl_head_zero, set_expect_strict): New config helpers.
(HttpContentLengthHeadZero, HttpExpectStrict): Declare new directives.
* server/protocol.c
(ap_read_request): Allow http_expect_strict to control if we return 417.
* include/ap_mmn.h
(MODULE_MAGIC_NUMBER_MAJOR, MODULE_MAGIC_NUMBER_MINOR): Bump.
* CHANGES: Add a brief description. |
eddceef394a2706291c46f7ac7538241cf86a2e4 1541368 |
|
13-Nov-2013 |
wrowe |
Use a distinguishing APLOGNO for unk t-e with read-until-close behavior |
d482c2e0903c4e60f9eb7db06b628ec196c31634 1541290 |
|
12-Nov-2013 |
jim |
80 rule |
c362e9c86dbca83bae03bf1c5927b65f4d50eeb6 1541270 |
|
12-Nov-2013 |
wrowe |
Wrap at 80 still, here at httpd project |
3b995de5609b15115a0764e6979ba43071a2988f 1538776 |
|
04-Nov-2013 |
jim |
PR 55475: Detect incomplete body in HTTP input filter and return APR_INCOMPLETE |
34fafb9d92262a9d8e8f33203961782eab245b42 1529991 |
|
07-Oct-2013 |
chrisd |
Correct typo in comments for ap_map_http_request_error(). |
aaa3098119e0d67a8bf15a00903da7d3258d8148 1529014 |
|
03-Oct-2013 |
rjung |
core: Add missing Reason-Phrase in HTTP response headers.
PR 54946. |
6001d914962deabb83a46251001612e969bdf67a 1524770 |
|
19-Sep-2013 |
jim |
draft-ietf-httpbis-p1-messaging-23 fixes regarding interactions
between TE and content-length in the same req/resp. |
36c78bbfb47f13cc9378eeb8a0bfb54bb8cf55a7 1524190 |
|
17-Sep-2013 |
jim |
revert 1524161 for the time being |
cb5e5b626fc4eaa79334484cfc43039edf899274 1524161 |
|
17-Sep-2013 |
jim |
RFC2616 issue |
d37d6800949dd7d9817fcfb4bbaa5489caf4d61b 1494549 |
|
19-Jun-2013 |
minfrin |
Update the log message number. |
06e4aef72524419545d89958c5fd083f856081ca 1485772 |
|
23-May-2013 |
minfrin |
Ensure that any meta buckets are stripped while parsing a chunk. |
b1cf8b6c70a42f499ea03b61997bb8667810d285 1485266 |
|
22-May-2013 |
minfrin |
core: Use a matching counter type. |
9146a0ff0a43e9e92d099c25b3bfc0e9da512d82 1485257 |
|
22-May-2013 |
minfrin |
core: Make sure we allow unconstrained bodies from a proxy. |
74e7f6c55fd67b10cb400b3f6d1dc718a303d944 1484852 |
|
21-May-2013 |
minfrin |
core: Remove apr_brigade_flatten(), buffering and duplicated code
from the HTTP_IN filter, parse chunks in a single pass with zero copy.
Reduce memory usage by 48 bytes per request. |
e148706f1a57e54b866cd812f1f5532518aa0163 1482918 |
|
15-May-2013 |
minfrin |
core: Stop ap_finalize_request_protocol() and ap_get_client_block() from silently
swallowing errors from the filter stack, create error buckets and return them
appropriately. |
a511a29faf2ff7ead3b67680154a624effb31aaf 1482522 |
|
14-May-2013 |
minfrin |
core: Stop the HTTP_IN filter from attempting to write error buckets
to the output filters, which is bogus in the proxy case. Create a
clean mapping from APR codes to HTTP status codes, and use it where
needed. |
7a5a24d8d4b0f5a7e275ea91735c858853dcb864 1480046 |
|
07-May-2013 |
minfrin |
Fix spelling mistake, no code change. |
1f9cc57c097d1b09325c011d34cb96863241b20f 1428145 |
|
03-Jan-2013 |
fuankg |
Stupid CodeWarrior compiler cant take vars with struct inits. |
f6c726670b7b2ea9f2c02851e4428062c1e411e4 1426879 |
|
30-Dec-2012 |
sf |
add log tags missing in r1426877 |
4576c1a9ef54cd1e5555ee07d016a7f559f80338 1426877 |
|
30-Dec-2012 |
sf |
Add an option to enforce stricter HTTP conformance
This is a first stab, the checks will likely have to be revised.
For now, we check
* if the request line contains control characters
* if the request uri has fragment or username/password
* that the request method is standard or registered with RegisterHttpMethod
* that the request protocol is of the form HTTP/[1-9]+.[0-9]+,
or missing for 0.9
* if there is garbage in the request line after the protocol
* if any request header contains control characters
* if any request header has an empty name
* for the host name in the URL or Host header:
- if an IPv4 dotted decimal address: Reject octal or hex values, require
exactly four parts
- if a DNS host name: Reject non-alphanumeric characters besides '.' and
'-'. As a side effect, this rejects multiple Host headers.
* if any response header contains control characters
* if any response header has an empty name
* that the Location response header (if present) has a valid scheme and is
absolute
If we have a host name both from the URL and the Host header, we replace the
Host header with the value from the URL to enforce RFC conformance.
There is a log-only mode, but the loglevels of the logged messages need some
thought/work. Currently, the checks for incoming data log for 'core' and the
checks for outgoing data log for 'http'. Maybe we need a way to configure the
loglevels separately from the core/http loglevels. |
ce6d50a2516e975ebfbf49e38835b51adbaa22f1 1419755 |
|
10-Dec-2012 |
jailletc36 |
Avoid unnecessary %s substitution |
723f28377d133603c20f4986d98992a9c43366ab 1220493 |
|
18-Dec-2011 |
sf |
Various code cleanup to avoid compiler, cppcheck, or clang warnings:
modules/debugging/mod_firehose.c: Make some internal functions static
(to do: logs_cleanup() is unused)
modules/filters/mod_charset_lite.c: Remove dead assignments
modules/filters/mod_include.c: likewise
modules/metadata/mod_usertrack.c: likewise
modules/proxy/mod_proxy_ftp.c: likewise
modules/ssl/ssl_engine_pphrase.c: likewise
modules/proxy/mod_proxy_balancer.c: likewise;
Remove NULL check that can never happen
modules/proxy/proxy_util.c: Axe NULL-check that can never happen and if it
would, it would just mask another bug
os/unix/unixd.c: likewise
modules/http/http_filters.c: Remove sub-condition that is always true
modules/lua/mod_lua.c: Add default cases to switch statements
modules/generators/mod_autoindex.c: Unsigned value can never be < 0
server/util_expr_eval.c: Fix compiler warnings with VC and on OS2 |
185aa71728867671e105178b4c66fbc22b65ae26 1209766 |
|
03-Dec-2011 |
sf |
Add lots of unique tags to error log messages |
e5dc428cd9493fad7571f00c7e290d153f3e3e9b 1204630 |
|
21-Nov-2011 |
sf |
Downgrade some more error messages about broken client behavior to level
info. |
11e076839c8d5a82d55e710194d0daac51390dbd 1174929 |
|
23-Sep-2011 |
sf |
More cleanup: Expand tabs and some more indentation fixes
No functional change |
5bfaaf573bacb45c1cf290ce85ecc676587e8a64 1174751 |
|
23-Sep-2011 |
jim |
Cleanup effort in prep for GA push:
Trim trailing whitespace... no func change |
c7da4b65f836be94ad80e3c7a80372721f983ca3 1159896 |
|
20-Aug-2011 |
sf |
Simplify some overly complicated code using apr_brigade_putstrs and apr_pstrcat
Submitted by: Christophe Jaillet <christophe jaillet wanadoo fr>,
Stefan Fritsch |
40311fcdd8c6ca3fab3205466bbd7bf83da086a3 1143193 |
|
05-Jul-2011 |
sf |
Fix a few warnings about use of uninitialized values. |
e782ab2767293d03df994ab07428dd88551649b3 1135083 |
|
13-Jun-2011 |
sf |
Avoid some memory allocations by using apr_table_setn where the string
arguments are const.
Submitted by: Christophe JAILLET <christophe jaillet wanadoo fr>
PR: 51357 |
7184de27ec1d62a83c41cdeac0953ca9fd661e8c 1132781 |
|
06-Jun-2011 |
sf |
Introduce ap_(get|set)_core_module_config() functions/macros and use them
everywhere.
We know that the core module has module_index 0. Therefore we can save
some pointer operations in ap_get_module_config(cv, &core_module) and
ap_set_module_config(cv, &core_module, val). As these are called rather often,
this may actually have some (small) measurable effect. |
fc97e36c86ac49e6a16965d5afd34e85d7866db0 1103223 |
|
14-May-2011 |
sf |
If chunked encoding / content-length are corrupt, we may treat parts
of one request's body as the next one's headers. To be safe, we should
disable keep-alive in this case. |
074642bc9350c7bf893998cc7ba90965e54c919f 1053853 |
|
30-Dec-2010 |
rpluem |
* Silence compiler warning |
18413e519b6e5d05ff00d18efd784307442ca2f3 1053668 |
|
29-Dec-2010 |
igalic |
In comments: s@ XX @ XXX: @ so they can actually be found seen. |
b4f348c8e74ba8166410ddeffac03e4887696788 1034918 |
|
14-Nov-2010 |
niq |
Return 400 not 503 if we have to abort due to malformed chunked encoding. |
927e277b4be750e06960b3d4f1c2b1ca146e0555 965824 |
|
20-Jul-2010 |
niq |
Fix processing of long chunk extensions
PR 49474 |
5bdc1b10498ff2a4f996a19225661b1488bd4e46 963057 |
|
11-Jul-2010 |
sf |
Improve trace logging of sent response:
- log response status
- log Date and Server headers |
4760b58cc9fe170e4ad4648ed4ff7a422a2cef38 956374 |
|
20-Jun-2010 |
sf |
More trace logging |
c6cf638d68b4cfff4f74ebc360abca97ad38cd71 951900 |
|
06-Jun-2010 |
sf |
- Be less verbose at levels INFO and DEBUG in mod_proxy* and mod_ssl
- Add some trace logging to core and http |
36ef8f77bffe75d1aa327882be1b5bdbe2ff567a 951895 |
|
06-Jun-2010 |
sf |
Use the new APLOG_USE_MODULE/AP_DECLARE_MODULE macros everywhere to take
advantage of per-module loglevels |
5d58d0bc1ce35e0ee814b6c2dc21a5286e460b87 938265 |
|
27-Apr-2010 |
covener |
Use the more specific 408 (timed out) instead of a generic 400 during a timeout
reading a chunk-length. |
8eac2273e3d5f2dc8464fada76fcfbf33a938a2f 937858 |
|
25-Apr-2010 |
covener |
PR49167, unexpected 413 and double-errordoc during a timeout reading a
chunk-size. |
82e6711dc508d2822d9397f07136ba4ddd8764e1 888310 |
|
08-Dec-2009 |
niq |
Don't keepalive when we send a non-100 response while Client is expecting 100
and may be feeding us continuation data.
PR 47087 |
6850c836b8c7c688ef8a8ec280e798e1d0bfbf01 882269 |
|
19-Nov-2009 |
trawick |
fix or complain about some invalid errno references |
23247a8f748077bc788a5fbaf91d5fad34d0b7d1 821477 |
|
04-Oct-2009 |
sf |
Make sure to not destroy bucket brigades that have been created by earlier
filters. Otherwise the pool cleanups would be removed causing potential memory
leaks later on. |
0c5cc191b2478d7362e34a8b2082efe6604dd136 809907 |
|
01-Sep-2009 |
pquerna |
Initialize len to 0, since for some logic paths it might be unset. |
2eb5346b17b3b69767cfe87d0f632efd6d15500d 808895 |
|
28-Aug-2009 |
jim |
OK, might as well finish this... Allow ServerTokens Off |
2f34374f6e04b9094a1d13a5ed823f331ba841a3 792409 |
|
09-Jul-2009 |
rpluem |
* Return APR_EOF if request body is shorter than the length announced by the
client.
PR: 33098
Submitted by: Stefan Fritsch <sf sfritsch.de> |
ae062bf8e4ebe6189f7a7eb29b2b6687284242a8 768964 |
|
27-Apr-2009 |
trawick |
don't use literal '100' for HTTP_CONTINUE (searchability) |
cf8d02ea0c91653917b044529f3133c5a1bb9200 739382 |
|
30-Jan-2009 |
fielding |
Disabled DefaultType directive and removed ap_default_type()
from core. We now exclude Content-Type from responses for which
a media type has not been configured via mime.types, AddType,
ForceType, or some other mechanism. MMN major bump to NZ time.
PR: 13986 |
965b5645f6f2eb837898467f6992509dcf214352 732832 |
|
08-Jan-2009 |
covener |
Translate locally generated "100-Continue" message to
ASCII on EBCDIC systems. |
0a12339f39799193ac6866fce812a1deb8f4a1ab 723585 |
|
05-Dec-2008 |
pquerna |
Remove X-Pad work around.
Submitted by: Takashi Sato <takashi lans-tv.com> |
19e5deda3a29d71ac1cc4bfecce39f96ea3ab55d 722081 |
|
01-Dec-2008 |
covener |
To be safe, consume the entire brigade after processing an error bucket in
the HTTP output filter.
Submitted by: Rudeiger Pluem
Reviewed by: niq, covener |
b2fa579f5f955edb1f319b040d0dba4e64fcbb0b 693224 |
|
08-Sep-2008 |
rpluem |
* Fix compiler warning (missing sentinel in function call). |
742ec45ed2ac00ab03080e898332352220cc1f13 693108 |
|
08-Sep-2008 |
niq |
Relax checks on HTTP Response status line from a backend.
PR#44995 - Rainer Jung |
5743e0223d37bef3cd5e536cb7749dddf326786f 660726 |
|
27-May-2008 |
rpluem |
* mod_proxy_http.c
Ensure that the EOC bucket is inserted BEFORE an EOS bucket in bb as
some resource filters like mod_deflate pass everything up to the EOS
down the chain immediately and sent the remainder of the brigade later
(or even never). But in this case the ap_http_header_filter does not
get out of our way soon enough.
http_filters.c
Remove all data buckets that are in a brigade after an EOC bucket
was seen, as an EOC bucket tells us that no (further) resource
and protocol data should go out to the client. OTOH meta buckets
are still welcome as they might trigger needed actions down in
the chain (e.g. in network filters like SSL).
Remark 1: It is needed to dump ALL data buckets in the brigade
since an filter in between might have inserted data
buckets BEFORE the EOC bucket sent by the original
sender and we do NOT want this data to be sent.
Remark 2: Dumping all data buckets here does not necessarily mean
that no further data is send to the client as:
1. Network filters like SSL can still be triggered via
meta buckets to talk with the client e.g. for a
clean shutdown.
2. There could be still data that was buffered before
down in the chain that gets flushed by a FLUSH or an
EOS bucket.
PR: 37770 |
c8477d12d1b127ab46dffe4ee526b9d11f71699e 659560 |
|
23-May-2008 |
gregames |
The response to the TRACE method is partially garbled on an EBCDIC platform.
Send the request line and trailing CRLF in ASCII.
Submitted by: David Jones <oscaremma gmail.com>
Reviewed and tested by: gregames |
eaf6fff54e1bcc02893d1d8a64ba43eb6d89184b 657933 |
|
19-May-2008 |
rpluem |
* Only send 100-continue if the status code so far indicates success.
PR: 43711 |
82632a19f2f9c346fee2b28a65920ba9737b3973 647263 |
|
11-Apr-2008 |
minfrin |
Move the KeptBodySize directive, kept_body filters and the
ap_parse_request_body function out of the http module and into a
new module called mod_request, reducing the size of the core. |
c2213b3a46a2666e2e7606ceec509cc4978f187f 646281 |
|
09-Apr-2008 |
minfrin |
Add a function to the http filters that is able to parse an HTML
form request with the type of application/x-www-form-urlencoded. |
4bceff39f96a979b76e1dbef0d2e004ca0546f43 645813 |
|
08-Apr-2008 |
rpluem |
* In the case that we fail to read the response line from the backend and if
we are a reverse proxy request shutdown the connection WITHOUT ANY response
to trigger a retry by the client if allowed (as for idempotent requests).
BUT currently we should not do this if the request is the first request on
a keepalive connection as browsers like seamonkey only display an empty page
in this case and do not do a retry.
Related to PR 37770 |
d6e81217d873dc3b87fc4ffa5fbac2fad4191a15 645455 |
|
07-Apr-2008 |
pquerna |
Remove all references to CORE_PRIVATE. |
5c5e7695fc1e44bebba6b339494a2df4e69b86fc 644391 |
|
03-Apr-2008 |
jim |
close PR 44381 |
3ce3a9dbc5c71b212fe6699919ede3792305bce7 628644 |
|
18-Feb-2008 |
niq |
http_filters: Don't send 100-continue when 4xx is due
PR 43711
Reported & tested by Ragini Bisraya
Patch by Chetan Reddy
Reviewed: niq |
e401969e137f69304ece30167d7401520c7d61a3 611475 |
|
12-Jan-2008 |
niq |
Don't add bogus duplicate Content-Language header entries.
PR 11035 |
b0e5ef5a44abecdb2b2685de666010751da74a8f 610451 |
|
09-Jan-2008 |
jim |
belt and suspenders |
dcdce2058e8e657eb3b2f653461cbef0e89d9173 610240 |
|
09-Jan-2008 |
niq |
http_filters: make sure we get last byte of actual data in edge-case
of an empty data bucket in get_remaining_chunk_line. |
2603b43d8dc87696fd6abbc00a04fa81d98bbead 610111 |
|
08-Jan-2008 |
rpluem |
* Saveguard ourselves against underflows |
c72672979d2948d2a372277ed12ff49f5df692f7 610061 |
|
08-Jan-2008 |
rpluem |
* Address two edge cases:
1. The brigade contains only META buckets.
2. The last data bucket is of zero length.
Pointed out by: niq |
a8f84dd5c4490a0e7889a0054aafc3ce4c65653e 609609 |
|
07-Jan-2008 |
rpluem |
* HTTP error codes are int's not apr_status_t's.
Noted by: Takashi Sato <serai lans-tv.com> |
861c590a084623f75a5749c9a1aa64393f62fd6c 609552 |
|
07-Jan-2008 |
rpluem |
* Do not use local scoped apr_bucket_brigade. We use the same anyway, so we
can define it for the whole function. |
94e21bbbd0f0f960317594da47734c4b7f5d3ec4 609550 |
|
07-Jan-2008 |
rpluem |
* Optimize and unify detection of blank / corrupt chunk size lines. |
dff81387136b3f0e87d7fd137b08f98978abad59 609549 |
|
07-Jan-2008 |
rpluem |
* Move duplicated code for error handling into local function
(bail_out_on_error). |
b01ae6d9d45e48ce86861ae3af17638c5adc097e 609544 |
|
07-Jan-2008 |
rpluem |
* Reuse bucket brigades instead of recreating them continously and thus
wasting memory if we have many chunks. |
ccd4c330445167f8f64a4af729a2e3a7fe06269f 609541 |
|
07-Jan-2008 |
rpluem |
* Optimize assignments by using apr_pcalloc instead of apr_palloc. |
9521b2845613876b26cf1616404cc120f7c83bb7 609540 |
|
07-Jan-2008 |
rpluem |
* Optimize alignment. |
470c2663449af7b1ba64f9e67c3709371f6825ac 609538 |
|
07-Jan-2008 |
rpluem |
* Optimize solution from r609394 and remove chunk-extensions restriction that
was in r609394. |
836587f1b2cd2cc99ee7dfb0c0f872f03ce8632d 609394 |
|
06-Jan-2008 |
rpluem |
* Fix cases with non blocking reads from the ap_http_filter input filter where
chunk size lines or empty lines after a chunk are read incomplete. This can
lead to a corruption inside the dechunking algorithm.
This patch has an issue with larger chunk-extensions which need to get thrown
away since we ignore them anyway.
PR: 19954, 41056
Tested by: niq |
5af991479be241c9563ec21ac07db685b7f61a86 605400 |
|
19-Dec-2007 |
wrowe |
What's left can exceed size_t |
9ab07d80c9dd3b8373d0f141c20e36ad658d1709 602657 |
|
09-Dec-2007 |
jerenkrantz |
Case statements should go on their own line. (No functional change.)
* modules/http/http_filters.c
(ap_http_filter): Put case on its own line. |
bf25639cd522eea3023f7060076cca38a0af474e 602349 |
|
08-Dec-2007 |
rpluem |
* If no data is available at this point of time we need to switch into the
BODY_CHUNK_PART state like we do several lines later in the code in the
same situation. |
b6901e67b0d06410b096c3b6badb577a699b8adc 599137 |
|
28-Nov-2007 |
niq |
Typo fix |
eb926cdfff3fd742a922ab86854c069facfdef14 599059 |
|
28-Nov-2007 |
niq |
Fix patch to PR#43882 as pointed out by trawick |
a49a5bc203c56393148bd45a2efabbdb77440830 595954 |
|
17-Nov-2007 |
niq |
Safer fix to PR43882 than in r595672. |
d05c47f691078caa4b3f18484e77b2d4b78b9d06 595678 |
|
16-Nov-2007 |
niq |
r595672 was incomplete. We need to be sure we reject multiple-encodings. |
ab39e6d69a08324dbdea68e38de843a4a9ce7247 595672 |
|
16-Nov-2007 |
niq |
Deal with unrecognised Transfer-Encoding headers.
PR#43882 (Björn Höhrmann) |
439ccf2a084e1da566548931c585cbcc3a9e7f4c 592951 |
|
08-Nov-2007 |
minfrin |
core: Add the option to keep aside a request body up to a certain
size that would otherwise be discarded, to be consumed by filters
such as mod_include. When enabled for a directory, POST requests
to shtml files can be passed through to embedded scripts as POST
requests, rather being downgraded to GET requests. |
a403dbf53e544291022bcc166ac8823d60fb1ee5 579991 |
|
27-Sep-2007 |
niq |
Add "DefaultType None" option
PR 13986 and PR 16139 |
27f76637b56ce5103be7a66970c7159d573a365f 574240 |
|
10-Sep-2007 |
niq |
Don't send spurious "100 Continue" response lines.
PR 38014 [Basant Kumar Kukreja] |
b5983a3623a081981a69c201fb66f765586aaa9e 507526 |
|
14-Feb-2007 |
niq |
Return METHOD_NOT_ALLOWED, not FORBIDDEN, to a TRACE request when
TraceEnable is Off. This agrees with our documentation, and with
our Allow: header in response to OPTIONS. |
d3df54fdd52f8fd5f8bc5aa095344aab9ddec304 504559 |
|
07-Feb-2007 |
jim |
Further refinement for PR41056 / PR 19954 (mostly-fixed in r480135.)
We assume that a successful read but an empty brigade
is NOT cause for EAGAIN. Testing may or may not
confirm this assumption, in which case that test
may be required as well. |
111c8f806b790a72ad0244aae35252470662e10d 483633 |
|
07-Dec-2006 |
rpluem |
* Do not replace a Date header set by a proxied backend server.
PR: 40232 |
6003243dc52db614f6dbed8c1a865d403a34b613 480193 |
|
28-Nov-2006 |
jim |
Protect against any sort of non-block read that
would block. If ap_get_brigade() shows that, return
EAGAIN. |
7b40680bc3da95cb4b67a3c4338e28a0fd60e147 480135 |
|
28-Nov-2006 |
jim |
Apply patch for PR 41056 (19954) to fix chunk
filter. Now flushes work better. |
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010 440337 |
|
05-Sep-2006 |
trawick |
Replace ap_get_server_version with ap_get_server_banner() and
ap_get_server_description().
High-level summary:
The full server version information is now included in the error log at
startup as well as server status reports, irrespective of the setting
of the ServerTokens directive.
Third-party modules must now use ap_get_server_banner() or
ap_get_server_description() in place of ap_get_server_version(). |
842ae4bd224140319ae7feec1872b93dfd491143 420983 |
|
11-Jul-2006 |
fielding |
update license header text |
3d81f57512275ca06a60a9bcbd23c1f8b429fdf2 395228 |
|
19-Apr-2006 |
colm |
Update the copyright year in all .c, .h and .xml files |
148c51524ef39a89416ea52d58afacb5d839a060 379562 |
|
21-Feb-2006 |
trawick |
Ensure that the proper status line is written to the client, fixing
incorrect status lines caused by filters which modify r->status without
resetting r->status_line, such as the built-in byterange filter.
Note: For the byterange example, the handler must set r->status_line
even though this is a 200 response. Some proxy-type modules blindly
set r->status_line as set by the origin server and thus trigger
the problem with byteranges if the origin server didn't handle the
byterange. |
da288b96df7c04aa1951b22cdf6b46a84fbd43ff 372958 |
|
27-Jan-2006 |
jim |
If the proxied response lacks a Server header, then
create one.
PR: 38002 (Bugz)
Submitted: william barker at wilshire com |
cb0f392a3d28754c3ba49d40eb05bc40ca3d0000 366374 |
|
06-Jan-2006 |
jim |
As long as we have the AP_BUCKET_IS_ERROR macro, let's use it |
6d1f0379933666d542a76acadf02786aec692280 358022 |
|
20-Dec-2005 |
jim |
Morph the ap_http_broken_backend_filter() proxy "specific"
filter to a generic http error handling output filter. |
15b38e24965576c9bc2bf31c81352bc9ced92d4e 357519 |
|
18-Dec-2005 |
rpluem |
* Move code for broken backend detection out of core filter into a new http
protocol filter (ap_http_broken_backend_filter) that is only run in the
proxy case. |
4d8cb6462304414eae9acb78ca95d56ef1afa0ed 354630 |
|
07-Dec-2005 |
jerenkrantz |
If a connection aborts while waiting for a chunked line, flag the connection as
errored out and send errors upwards. |
17dc8282ea6b3ad1bbc661b498de9ec2e9987ede 332316 |
|
10-Nov-2005 |
jim |
No functional change: more indenting/formatting changes due to
tabbing |
e8f95a682820a599fe41b22977010636be5c2717 332306 |
|
10-Nov-2005 |
jim |
No functional Change: Removing trailing whitespace. This also
means that "blank" lines consisting of just spaces or
tabs are now really blank lines |
43c3e6a4b559b76b750c245ee95e2782c15b4296 332305 |
|
10-Nov-2005 |
jim |
No functional change: simple detabbing of indented code. |
dde164f692ca135bcd249670c5a7ce40e8ab4b04 219696 |
|
19-Jul-2005 |
jorton |
* modules/http/http_filters.c (ap_send_http_trace): Silence gcc
variable-may-be-used-uninitialized warnings. |
50ca3aac0dda24e741761d5d23387b6ab293d4fe 208787 |
|
01-Jul-2005 |
wrowe |
Plug AllowTrace extended|on|off into proxy and http core.
It still is not 'correct' until REQUEST_CHUNKED_PASS is reimplemented
and passes some chunk headers, since we aren't echoing the entire
request. But it gets me further on testing 1.3 -> 2.0 -> 2.1 -> 2.0 -> 1.3
proxy behaviors. |
1f9e65264b1ff249fa071e6aae32c0bb52f9c634 178262 |
|
24-May-2005 |
trawick |
EBCDIC: Handle chunked input from client or, with proxy, origin
server. |
a2d4581263ede3f4697571e2447fba402ae8f52f 158791 |
|
23-Mar-2005 |
gregames |
update comments for *_client_block functions.
note namespace protected function names. clarify where 100 Continue is sent. remove
dire warning for calling ap_should_client_block more than once since side effects
appear to be long gone. |
08cb74ca432a8c24e39f17dedce527e6a47b8001 151408 |
|
04-Feb-2005 |
jerenkrantz |
Update copyright year to 2005 and standardize on current copyright owner line. |
56ab8639aed4d3b2f031d9c1160c5f40af01bdeb 106692 |
|
27-Nov-2004 |
jerenkrantz |
Initial pass at refactoring some files to eliminate our 150K C source behemoths.
* Makefile.in: Change order of dependencies to bring in exports.o first so that
we have every symbol 'used' before the linker starts processing.
* build/rules.mk.in: Add a 'program-install' target which just copies httpd.
* server/Makefile.in, modules/http/config2.m4: Add in new file targets.
* NWGNUmakefile, libhttpd.dsp: Blind updates for Netware and Win32. (I tried.)
* server/core.c: Move core_input_filter, net_time_filter, and core_output_filter and all supporting functions to...
* server/core_filters.c (copied): ...here.
* modules/http/http_protocol.c: Move functions from here to there...namely:
* modules/http/byterange_filter.c (copied): Relocate ap_byterange_filter() and
friends.
* modules/http/chunk_filter.c (copied): Relocate chunk_filter().
* modules/http/http_etag.c (copied): Relocate ap_set_etag and ap_make_etag().
* modules/http/http_filters.c (copied): Relocate ap_http_filter(),
ap_http_header_filter(), ap_discard_request_body(), ap_setup_client_block(),
ap_should_client_block(), and ap_get_client_block(). |