d29745cf3b7bc83a2b98a70d42ec5c18bc04c208 1615026 |
|
01-Aug-2014 |
jailletc36 |
Turn some APR_BUCKET_REMOVE(e)+apr_bucket_destroy(e) into the equivalent apr_bucket_delete(e) to reduce code verbosity |
eee20257a5ee9228f4aecdf3d3ca68fd0683ff07 1479905 |
|
07-May-2013 |
minfrin |
core, mod_cache: Ensure RFC2616 compliance in ap_meets_conditions()
with weak validation combined with If-Range and Range headers. Break
out explicit conditional header checks to be useable elsewhere in the
server. Ensure weak validation RFC compliance in the byteranges filter.
Ensure RFC validation compliance when serving cached entities. PR 16142 |
d7ffd2da16d58b1a0de212e4d56f7aebb72bef26 1427465 |
|
01-Jan-2013 |
sf |
Remove support for Request-Range header sent by Navigator 2-3 and
MSIE 3 |
185aa71728867671e105178b4c66fbc22b65ae26 1209766 |
|
03-Dec-2011 |
sf |
Add lots of unique tags to error log messages |
2ea82f5635eee031c4a458272f4c0263f89a8f54 1175992 |
|
26-Sep-2011 |
sf |
Adjust log message to reflect changed behaviour |
a89bf2c30fe47067471a20ac85e69031b4fa559b 1175980 |
|
26-Sep-2011 |
jim |
Put 0- on the fast-track |
5bfaaf573bacb45c1cf290ce85ecc676587e8a64 1174751 |
|
23-Sep-2011 |
jim |
Cleanup effort in prep for GA push:
Trim trailing whitespace... no func change |
e64a123cf4f510c53986b8a208caccb3aead74fd 1171250 |
|
15-Sep-2011 |
sf |
use random value as multipart range boundary to prevent leaking information
about the used MPM |
f7acc4b00a8bf92fea10fce6ac09aa57eafec0ec 1169756 |
|
12-Sep-2011 |
jim |
Add in MaxRangeOverlaps and MaxRangeReversals to accomodate
more control over acceptable Range headers:
See: http://trac.tools.ietf.org/wg/httpbis/trac/ticket/311 |
6226dd75ea9398798ef238af60cd6f0a7eab6528 1167310 |
|
09-Sep-2011 |
jim |
Save creation of merged until we know we will actually need and use it. |
650b2f347bcd5d4d570bb44f9563fdfe3aca9c0d 1167309 |
|
09-Sep-2011 |
jim |
return some range params admins may want to control (overlaps and reversals) |
65c75375cdc3ceac5f9fb7b91804658fd26411b2 1167308 |
|
09-Sep-2011 |
jim |
Remove function so we can grab over core_conf elements easily |
47c995f749efd5b7e510b47bc94dc22ae7a9cedd 1167307 |
|
09-Sep-2011 |
jim |
Reorg so we don't need forward def... |
82113bf4c7a97e93a5aa44b1e52a595f5681ddb8 1167264 |
|
09-Sep-2011 |
jim |
Reset |
f3465d0526aa9a6bf4557f853719c998b84e3a6c 1167263 |
|
09-Sep-2011 |
jim |
No reason for the advanced def...
Open hook for other conf factors (number of overlaps, etc)...
Return some range params... |
a1f621e3f8e6249bbd4e3d5fd9a42214cbaacc68 1167147 |
|
09-Sep-2011 |
wrowe |
What getpid()? No backport of this edit is needed. |
bd1f89f6e6516f6a4e96649f8702d7148c48bf04 1166349 |
|
07-Sep-2011 |
covener |
add AP_ prefix to recently added DEFAULT_MAX_RANGES |
7a975d0413ba303546b7619e4785cb641f7f09fd 1166282 |
|
07-Sep-2011 |
covener |
take care of some MaxRanges feedback:
* allow "none" to be expressed in config
* send Accept-Ranges: none with MaxRanges none
* stop accepting confusing/ambiguous "0", start accepting "unlimited". |
66bc888049d9732830dce932e32619004c8f7b14 1165268 |
|
05-Sep-2011 |
jorton |
* modules/http/byterange_filter.c (ap_byterange_filter): Don't reveal
the pid in the boundary delimiter (part of CVE-2003-1418). |
9117b3c83b649052a666820727a8bcf2a008a2ac 1165062 |
|
04-Sep-2011 |
sf |
Revert r1163833:
Send a 206 response for a "Range: bytes=0-" request, even if 200 would be
more efficient.
As discussed on list: Clients that use the 206 response to detect range
support are considered broken and should be fixed to use the Accept-Ranges
header instead. |
f822ed4598d26ba968d9c8e68ff11d3f390fcca0 1164840 |
|
03-Sep-2011 |
rpluem |
* Buckets of known length should be always splitable. So we don't need to care
about the APR_ENOTIMPL case.
Submitted by: jorton
Reviewed by: rpluem |
f06d5fd4cff0cd7953f92c20540059637abd439a 1163985 |
|
01-Sep-2011 |
rpluem |
* Fix a regression in the CVE-2011-3192 byterange fix:
Range: bytes=-1
Resulted in the first two bytes delivered, not in the last one.
PR: 51748
Submitted by: low_priority <lowprio20 gmail.com>
Reviewed by: rpluem |
139d59342d00db7f5ced7046f76157077eca9450 1163920 |
|
01-Sep-2011 |
sf |
Remove log message left over from debugging. |
05ea234fe4ec6b79cc48623f73ecc6a17383dd29 1163918 |
|
01-Sep-2011 |
rpluem |
* Fix error message |
49872d342c7c81456c6fa60b4ae59012f42c82f3 1163917 |
|
01-Sep-2011 |
rpluem |
* Whitespace police. No functional change |
0283ccc5846519bc2e152f396aca16c624cc1e4f 1163916 |
|
01-Sep-2011 |
rpluem |
* Ranges like --2 or -0 are invalid |
bb8c60c25935cf42d616edc07893f9f45ba142ca 1163851 |
|
01-Sep-2011 |
sf |
Fix some RFC 2616 14.35.1 compliance issues:
- If there is at least one syntactically invalid byte-range-spec,
we must ignore the whole header.
- If all ranges are unsatisfiable, send 416. |
b6947d2fa6391f7aa675d5cb16ab0f76ba919ff1 1163833 |
|
31-Aug-2011 |
sf |
Send a 206 response for a "Range: bytes=0-" request, even if 200 would be more
efficient. |
66d7101504e1f4c3b637f118f0b3eff70a7b7d15 1163197 |
|
30-Aug-2011 |
rpluem |
* Silence compiler warning |
109b964fc3a7a506c6aeaffd8b89e371e563309a 1162878 |
|
29-Aug-2011 |
sf |
Remove some unused code that was included in r1162131 by accident or merge
error. |
10bd05be7f9700672a90ea0745608efd6398630e 1162687 |
|
29-Aug-2011 |
rpluem |
* We don't need a copy of the original range as we don't change it. A pointer to it is sufficient |
f5e4ebd3d32c3a62ab4c834546bad66e51a8af3c 1162669 |
|
29-Aug-2011 |
rpluem |
* Bit operators should be more efficient then the modulo operator (provided the compiler does not optimize on its own) |
49e6ab08a2cbb5c540f1628cec0eb2c66c957f93 1162665 |
|
29-Aug-2011 |
sf |
Unset Content-Length if we call ap_pass_brigade several times |
75c2b964ca7ebfb32ad08c68c9db3bca5ecced55 1162584 |
|
28-Aug-2011 |
covener |
add MaxRanges directive institute a default limit of 200 (post-merge where
applicable) Ranges before returning the complete resource.
(minor mmn bump for core_dir_config addition) |
2112f6932a68777caf6be5923b111293af2e9494 1162581 |
|
28-Aug-2011 |
sf |
Fix iteration over string |
78f84b4c5ae84c5a5344b33914d91ac1dd6f4080 1162579 |
|
28-Aug-2011 |
sf |
Every 32 ranges, pass the prepared ranges down the filter chain. |
9702d5504549391c40e0da51733dd78dc6cc6c8d 1162565 |
|
28-Aug-2011 |
rpluem |
* Do a better estimation on how elements we should allocate:
Preallocate the number of ranges as number of elements as this works good
for well behaving clients which we assume to be the most cases, but do
cut this at the arbitrary number of 100 to avoid too large preallocations. |
7f2d1605f0178ccfffcbc2e449a3f2ca95e78ced 1162560 |
|
28-Aug-2011 |
rpluem |
* Silence compiler warning |
bb3eedf9505a142136bd37f843242b430cf34b3f 1162559 |
|
28-Aug-2011 |
rpluem |
* Damm it. Missed another superflous whitespace. |
c8cad593c6978b01930e769b9a9eff84257cdee6 1162558 |
|
28-Aug-2011 |
rpluem |
* More style police. No functional changes |
b5235253bd55914949e5c51f3592bbb03331a1de 1162556 |
|
28-Aug-2011 |
rpluem |
* Style police. No functional changes |
5844b3b569c5026b1444691dfc8c3217fc9dc837 1162440 |
|
27-Aug-2011 |
covener |
merge some more adjacent ranges such as a-n,n+1-b, and
refactor/reduce the tests on the start/end positions. |
ef0f914c24968e0bbcee13fd5d829fb09b98f935 1162436 |
|
27-Aug-2011 |
gregames |
reverting. got feedback that maybe we don't want to merge 4-5,1-2 into 1-5 |
5f62e67968bf6eca664027738084a497d7c6dcc3 1162434 |
|
27-Aug-2011 |
gregames |
merge totally reversed ranges like 4-5,1-2 into 1-5
I interpret the former test
if (!(end <= ostart || start-1 >= oend)) {
as
if (not(end is bad || start is good)) { merge }
ORing the bad condition with the good doesn't produce the desired result.
it is not necessary to test "end" due to the conditions tested in the assert. |
1a90405dd94631f19aca1a03a1dd008c6c5ff185 1162419 |
|
27-Aug-2011 |
sf |
fix typo |
0b0a14404069d5da8185dacc7a5f7cdb821ff057 1162381 |
|
27-Aug-2011 |
sf |
remove obsolete macro |
1b7b69254bb462ef9a3f259a7f1e2db1c5f7fe5c 1162331 |
|
27-Aug-2011 |
sf |
If the sum of all ranges in a request is not smaller than the file, fall back
to 200. This takes care of potential DoS issues from ranges like
0-100,1000-,0-100,1000-,... |
f1ecbee5b7a51d02b48fc3cf5e6dd3af7717faab 1162325 |
|
27-Aug-2011 |
sf |
fix function name in log message |
07169a0944eaa98be05b98b316304196a463d477 1162211 |
|
26-Aug-2011 |
sf |
Remove traces of byterange_ctx, it's not necessary anymore
Initialize some variables to avoid (false positive) warnings with gcc 4.6.1 |
37cbd82eff2d05cdad6b2b2d987418f16fa90bcb 1162186 |
|
26-Aug-2011 |
jim |
not ruby |
e9e28d4e855421bf4d2d691d8afa0280e39799cd 1162180 |
|
26-Aug-2011 |
jim |
Final tuneage |
22abacf967027abc56ec41b8f3203481afefe0b9 1162179 |
|
26-Aug-2011 |
jim |
one off |
8effecdcb4ef26d0c267b0faf938ff5f5dc31169 1162168 |
|
26-Aug-2011 |
jim |
remove merge hit r1161778 |
9339ff8e75a8e4a1c14bcaa08742c16a82afd50a 1162165 |
|
26-Aug-2011 |
jim |
More merge fixes... |
5c16df4719ae48e6cdf870824e44c8ee83008336 1162131 |
|
26-Aug-2011 |
jim |
Reset with latest |
6a946b7ac453a67965dc1d991d88fd43aa04711c 1161791 |
|
26-Aug-2011 |
sf |
Put parsed ranges into an array and perform merges on that array. |
90f64dafc9c48b173e9cda9da38cfbf440303910 1161790 |
|
26-Aug-2011 |
sf |
count ranges by simply counting commas |
2d8b1db6791787f64d472435cac6520ddf01d994 1161789 |
|
26-Aug-2011 |
sf |
Remove the merging code from ap_set_byterange() again,
will move it to ap_byterange_filter |
5bcf720c17cba97dec4521aa62932a5b05a019c5 1161778 |
|
26-Aug-2011 |
sf |
fix new breakage introduced by r1161767 |
5d07b294e5cdea2ab5ef701e433d3fecb2bea9f0 1161767 |
|
25-Aug-2011 |
sf |
avoid inserting the same bucket into bbout twice, causing an endless loop |
6ac52193f43befc6bda1f8c1c5133102e2efbdd7 1161732 |
|
25-Aug-2011 |
jim |
0 is OK |
a941d62d886b409d7a9c1a1b69498368a20cd0c8 1161730 |
|
25-Aug-2011 |
gregames |
no longer used |
071120543fbd1ba23d6a628f945c95235480ca0c 1161682 |
|
25-Aug-2011 |
jim |
Save a few cycles... do reason to set in_merge if we already have |
aa8d15c09b87d021f7fc5d1983ff94f0c44cef90 1161681 |
|
25-Aug-2011 |
jim |
Optimize... and break if we get eg 200-100 |
3ba0c4d8d2c2910d3413a4c4102e1a05268a85a4 1161661 |
|
25-Aug-2011 |
jim |
Merge in byteranges |
e66a1b2bf985589738524b0960d712469c110f88 1161582 |
|
25-Aug-2011 |
rpluem |
* Once the comparsion is true we never return here since we break from the loop. |
bf344a4d09c214003cfe82e880c7c305aad72bce 1161581 |
|
25-Aug-2011 |
rpluem |
* We need to use > instead of >= as if end64 is the first byte of the next
bucket we need to memorize this one and not the one before. |
a0c45f85cc198fa31b38d313ce1a2fa3e6992aa0 1161578 |
|
25-Aug-2011 |
rpluem |
* The first condition is not needed as pos >=0. If the first one is true
the second one is true either. If the second one is false the first one is
false as well. |
c3b25835e9e82c7b2289876b928dc94b5b2e00ab 1161576 |
|
25-Aug-2011 |
rpluem |
* Adjust comment and don't get fooled by a negative end |
584cfa1156dfee41804058be4244ffcb7da2f7d5 1161573 |
|
25-Aug-2011 |
rpluem |
* As reads might have morphed the bucket and its length read until we reached
the correct bucket for splitting. |
8afe73ac06480b4cc8af89ca0b7299b5c76f3898 1161563 |
|
25-Aug-2011 |
jim |
Remove some merging fun between Rüdiger and my patches ;) |
000021c686647fa9c502b8f6a6656aad2fdac816 1161560 |
|
25-Aug-2011 |
jim |
simple name change for clarity |
182f8df682f128ab5115a75f3aa7f33dc64b2284 1161556 |
|
25-Aug-2011 |
jim |
More casting help... |
1472f67cd871b7ed84c54db1516bc4e6810931fc 1161552 |
|
25-Aug-2011 |
rpluem |
* Remove duplicate condition |
18a801437cd6b572689b011a5e6b69aeb9f540cd 1161551 |
|
25-Aug-2011 |
rpluem |
* Use apr_uint64_t throughout instead of mixing apr_off_t and apr_size_t |
497ae11eabc186d6c901435ca252824608419417 1161535 |
|
25-Aug-2011 |
jim |
first round of cleanups |
5318010ac72baab27afc1e13fea16488a2a2f595 1161534 |
|
25-Aug-2011 |
jim |
Fold in Stefan's initial PoC for fixing memory issues with ranges
by keeping orig brigade untouched and avoiding 1byte brigades
(related to CVE-2011-3192) |
c99fcc66277151ac71c3a58f45933b0963355728 1135171 |
|
13-Jun-2011 |
sf |
Remove spurious braces to fix clang warning |
ae73782bebf25c971b539a5c132779c211cd8467 1129878 |
|
31-May-2011 |
wrowe |
This is rather irritating.
We override exit() throughout the httpd build in order to intercept and
report our status through the service control manager.
We must include process.h prior to overriding exit().
I seem to remember that this is the reason apr.hw once included
process.h unilaterally, to avoid this conflict over exit. |
d633ae407c3c956cb2d67ff27055ff0e640967ad 1025496 |
|
20-Oct-2010 |
fuankg |
Added header include for getpid() prototype on Win32. |
36ef8f77bffe75d1aa327882be1b5bdbe2ff567a 951895 |
|
06-Jun-2010 |
sf |
Use the new APLOG_USE_MODULE/AP_DECLARE_MODULE macros everywhere to take
advantage of per-module loglevels |
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. |
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 |
d6e81217d873dc3b87fc4ffa5fbac2fad4191a15 645455 |
|
07-Apr-2008 |
pquerna |
Remove all references to CORE_PRIVATE. |
a403dbf53e544291022bcc166ac8823d60fb1ee5 579991 |
|
27-Sep-2007 |
niq |
Add "DefaultType None" option
PR 13986 and PR 16139 |
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 |
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 |
267d0bc6ebb637fd19a4597c3d6804e4cf332150 231030 |
|
09-Aug-2005 |
jorton |
* modules/http/byterange_filter.c (ap_byterange_filter): Update some
comments. |
9dd930345a7ca0843f6660ee6a76d82147947fcd 189559 |
|
08-Jun-2005 |
jorton |
* modules/http/byterange_filter.c (ap_byterange_filter): No functional
changes: reflow/reformat after r188797. |
d9f3f1245dae67e67e0f8d9a760c39c8cfb49f58 188797 |
|
07-Jun-2005 |
jorton |
* modules/http/byterange_filter.c (ap_byterange_filter): Refuse to
byterange any response which may require the consumption of arbitrary
amounts of memory.
(functional changes split from whitespace/reflow changes which will
follow in a separate commit)
Reviewed by: jerenkrantz (several moons ago)
PR: 29962 |
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(). |