Brian Pane
3f4ff35895
don't conceal EAGAIN in READBYTES mode
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@371218 13f79535-47bb-0310-9956-ffa450edef68
2006-01-22 06:34:50 +00:00
Brian Pane
97993a7eb8
Buffer partial lines within ap_core_input_filter() when doing
...
AP_MODE_GETLINE reads on a nonblocking connection
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@371175 13f79535-47bb-0310-9956-ffa450edef68
2006-01-22 03:35:46 +00:00
Brian Pane
8240f8566e
Avoid setting r->the_request to NULL if the client sends too many blank lines.
...
Also, remove a bit of debug code.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@366996 13f79535-47bb-0310-9956-ffa450edef68
2006-01-08 06:41:34 +00:00
Brian Pane
44e2e27bcf
Initial implementation of asynchronous read completion for Event MPM
...
Warning: SSL doesn't work, so these changes aren't ready to be merged
to the trunk yet.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@365346 13f79535-47bb-0310-9956-ffa450edef68
2006-01-02 13:43:42 +00:00
Brian Pane
fca35efc30
Added ap_read_async_request()...
...
At the moment, asynchronous MPMs still read the request headers
with the connection in blocking mode. To enable asynchronous
read completion, we'll need to make some changes in the Event MPM.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@353904 13f79535-47bb-0310-9956-ffa450edef68
2005-12-04 20:38:25 +00:00
Brian Pane
5a5c259bf4
Free a temporary brigade in read_partial_request()
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@353838 13f79535-47bb-0310-9956-ffa450edef68
2005-12-04 09:36:06 +00:00
Brian Pane
97600b2bfc
Remove old code that was ifdef'ed out in the last commit
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@353829 13f79535-47bb-0310-9956-ffa450edef68
2005-12-04 07:34:28 +00:00
Brian Pane
466fc8c3d1
Further cleanup of ap_get_mime_headers_core()
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@353828 13f79535-47bb-0310-9956-ffa450edef68
2005-12-04 07:29:51 +00:00
Brian Pane
730ef8141b
More refactoring: replace half of ap_get_mime_headers_core() with a
...
call to set_mime_header()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@353825 13f79535-47bb-0310-9956-ffa450edef68
2005-12-04 06:53:53 +00:00
Brian Pane
5a780de12f
Fix the handling of HTTP/0.9 requests
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@353810 13f79535-47bb-0310-9956-ffa450edef68
2005-12-04 04:07:15 +00:00
Brian Pane
1ef98fc182
Fix the detection of request header limit errors in the refactored
...
ap_read_request()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@352060 13f79535-47bb-0310-9956-ffa450edef68
2005-12-04 02:15:53 +00:00
Brian Pane
c61648c626
More refactoring of ap_read_request() in preparation for
...
nonblocking read support.
WARNING: The code for handlng requests that exceed the field-length
or number-of-fields limits isn't complete in this commit.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@349348 13f79535-47bb-0310-9956-ffa450edef68
2005-11-28 02:56:47 +00:00
Brian Pane
0ec6ef5f53
When computing the timeouts for keepalives and write completion,
...
get the current time _after_ processing the event that led to the
timeout, rather than before.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@349189 13f79535-47bb-0310-9956-ffa450edef68
2005-11-27 07:31:48 +00:00
Brian Pane
3de967a73d
Refactor ap_read_request() to separate the parts that do socket reads
...
from the parts that update the request_rec. This is a step towards
nonblocking, event-driven read support.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-read-dev@349068 13f79535-47bb-0310-9956-ffa450edef68
2005-11-26 03:20:52 +00:00
Brian Pane
58d941233a
remove an obsolete comment
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@345726 13f79535-47bb-0310-9956-ffa450edef68
2005-11-20 07:40:49 +00:00
Jim Jagielski
08c97ba290
No functional change: remove "internal" tab spacing/formatting.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@345053 13f79535-47bb-0310-9956-ffa450edef68
2005-11-16 16:31:25 +00:00
Jim Jagielski
a17eedfad2
Revert UCN default change - set back to Off, which is
...
what 2.1/2.2 has been but is opposite from the 2.0 default.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@344408 13f79535-47bb-0310-9956-ffa450edef68
2005-11-15 18:28:23 +00:00
Jim Jagielski
ce503e00e3
Add in the UseCanonicalPhysicalPort directive, which
...
basically allows Apache to configurably ( :) )
use the physical port when constructing the
canonical port. Also add the exact ordering to
the docs, so people can easily see how it works.
We now have compatibility with both 2.0 and 1.3.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@344369 13f79535-47bb-0310-9956-ffa450edef68
2005-11-15 14:50:39 +00:00
Jeff Trawick
e9bc257755
drop dependency on apr_wait_for_io_or_timeout()
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@343999 13f79535-47bb-0310-9956-ffa450edef68
2005-11-13 23:15:06 +00:00
Brian Pane
596e8e2d9d
Minor refactoring: move the creation of the pollset and associated
...
data structures outside of the listener thread function. The point
of this is to facilitate future experiments with different concurrency
models like Leader/Followers as potential alternatives to the current
Reactor design.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332879 13f79535-47bb-0310-9956-ffa450edef68
2005-11-13 02:27:44 +00:00
Jim Jagielski
b72e610410
No functional change: more indenting/formatting changes due to
...
tabbing
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332316 13f79535-47bb-0310-9956-ffa450edef68
2005-11-10 16:03:23 +00:00
Jim Jagielski
5061d9fa92
No functional Change: Removing trailing whitespace. This also
...
means that "blank" lines consisting of just spaces or
tabs are now really blank lines
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332306 13f79535-47bb-0310-9956-ffa450edef68
2005-11-10 15:11:44 +00:00
Jim Jagielski
5d2fae4818
No functional change: simple detabbing of indented code.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332305 13f79535-47bb-0310-9956-ffa450edef68
2005-11-10 15:05:51 +00:00
Brian Pane
5a653ac440
Moved the extended_status scoreboard update from ap_process_http_connection
...
to the EOR bucket destructor. Also, added some defensive code and comments
regarding r->pool lifetime to ap_process_http_connection.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@329664 13f79535-47bb-0310-9956-ffa450edef68
2005-10-30 22:55:35 +00:00
Brian Pane
fc74689210
Restore the socket timeout after setting it to zero for nonblocking
...
writes in ap_core_output_filter. (This fixes the mod_proxy errors
that the new core output filter had been causing.)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@329075 13f79535-47bb-0310-9956-ffa450edef68
2005-10-28 03:56:12 +00:00
Joe Orton
39b34537be
* server/eor_bucket.c: Pick up ap_run_log_transaction prototype.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@328069 13f79535-47bb-0310-9956-ffa450edef68
2005-10-24 13:49:09 +00:00
Brian Pane
cb0e5db86f
Async write completion for Event MPM
...
(backported from async-dev branch to 2.3 trunk)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@327945 13f79535-47bb-0310-9956-ffa450edef68
2005-10-24 03:33:14 +00:00
Brian Pane
158559eacb
Redesign of request cleanup and logging to use End-Of-Request bucket
...
(backport from async-dev branch to 2.3 trunk)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@327925 13f79535-47bb-0310-9956-ffa450edef68
2005-10-24 02:39:49 +00:00
Brian Pane
bee3400993
remove debugging code
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@327875 13f79535-47bb-0310-9956-ffa450edef68
2005-10-23 23:04:45 +00:00
Brian Pane
05537e381e
New version of ap_core_output_filter that does nonblocking writes
...
(backport from async-dev branch to 2.3 trunk)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@327872 13f79535-47bb-0310-9956-ffa450edef68
2005-10-23 22:38:35 +00:00
Brian Pane
4db6998015
Add new connection states for handler and write completion
...
(backport from async-dev branch to 2.3 trunk)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@327870 13f79535-47bb-0310-9956-ffa450edef68
2005-10-23 22:20:59 +00:00
Ruediger Pluem
aabe646236
* Fix PR31226 (AddOutputFilterByType deflate not active with mod_proxy), by
...
allowing ap_add_output_filters_by_type to handle proxied requests.
Basic tests by jorton and me show that this works, nobody can actually
remember why this limitation was introduced at all (r94028) and the mailing
list archives also gave no hint.
Submitted by: Joe Orton
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@327179 13f79535-47bb-0310-9956-ffa450edef68
2005-10-21 13:41:25 +00:00
Greg Ames
374a607001
keep the proxied Content-Length header for a HEAD response. PR 18757
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@327008 13f79535-47bb-0310-9956-ffa450edef68
2005-10-20 21:42:50 +00:00
Nick Kew
f193cbabee
Make ap_register_output_filter back into a function (*sigh*)
...
but update its API doc
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@315041 13f79535-47bb-0310-9956-ffa450edef68
2005-10-12 20:43:25 +00:00
Nick Kew
5134335bee
Make ap_register_output_filter a #define
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@315024 13f79535-47bb-0310-9956-ffa450edef68
2005-10-12 20:18:33 +00:00
Greg Ames
a5d8311d59
remove the recycled_pool variable to keep it more in sync with worker.
...
event already had logic in the listener thread error legs to prevent
leaking ptrans, so this is mostly cosmetic.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@307250 13f79535-47bb-0310-9956-ffa450edef68
2005-10-08 03:47:15 +00:00
Greg Ames
12223605b7
remove obsolete constant
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@307239 13f79535-47bb-0310-9956-ffa450edef68
2005-10-08 02:29:08 +00:00
Jeff Trawick
ee3ff1a4a0
use Greg's cleaner fix for CAN-2005-2970
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@307221 13f79535-47bb-0310-9956-ffa450edef68
2005-10-08 00:10:02 +00:00
William A. Rowe Jr
7e2a5490d1
NET_TIME, as a standalone feature, was a horrid idea.
...
The core filter will NOT operate correctly across platforms
(even between Linux/Solaris) without setting up the conn->timeout,
so always apply the timeout when establishing the core filter.
The keep-alive-timeout is entirely an HTTP-ism, and needs to
move to the http protocol handler. Note #1 ; this isn't triggered
in the event mpm, but the event mpm introspects s->keep_alive_timeout
directly adding it to the pollset, so this is a non-sequitor.
Finally, once the headers are read, the named virtual host may
have a different (more/less permissive) timeout for the remainder
of the request body. This http-centric patch picks up that subtle
detail and can switch to a named-vhost timeout.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@306495 13f79535-47bb-0310-9956-ffa450edef68
2005-10-06 01:29:42 +00:00
William A. Rowe Jr
62d58df5ca
Pay close attention to core_create_req() ... and note
...
that not one other member of the r->vars is initialized
herein. Move this initialization elsewhere.
(If this is the 'default' - it really aught to be the
zero value, for that matter).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@295141 13f79535-47bb-0310-9956-ffa450edef68
2005-10-05 23:37:53 +00:00
Colm MacCarthaigh
05c9c13006
Initialise a variable, to avoid a gcc warning.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@293364 13f79535-47bb-0310-9956-ffa450edef68
2005-10-03 15:14:13 +00:00
Colm MacCarthaigh
e92e109916
Remove some trailing spaces. Syncs with 2.2.x.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@293307 13f79535-47bb-0310-9956-ffa450edef68
2005-10-03 11:09:15 +00:00
Jeff Trawick
a755909804
SECURITY: CAN-2005-2970 (cve.mitre.org)
...
worker MPM: Fix a memory leak which can occur after an aborted
connection in some limited circumstances.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@292809 13f79535-47bb-0310-9956-ffa450edef68
2005-09-30 16:34:25 +00:00
Justin Erenkrantz
f5c5c2cce8
Clean up c2x code-path by not double-setting the prefix variable.
...
* server/util.c
(c2x): Take a new prefix parameter instead of hard-coding '%' and then
conditionally setting 'x' for half of the cases.
Reviewed by: nd
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@292111 13f79535-47bb-0310-9956-ffa450edef68
2005-09-28 03:45:01 +00:00
Colm MacCarthaigh
f2bcdddae0
When doing a subrequest lookup, do not lookup using the quickhandler if
...
next_filter is NULL, since this implies that the subrequest will be
internal_fast_redirect'ed or will never be called. See line request.c:1513
onwards (in make_sub_request) also.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@291914 13f79535-47bb-0310-9956-ffa450edef68
2005-09-27 11:52:14 +00:00
Joe Orton
1a9591d08f
* server/connection.c (ap_lingering_close): Cleanup; no functional change.
...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@291454 13f79535-47bb-0310-9956-ffa450edef68
2005-09-25 18:08:29 +00:00
Joe Orton
18c24c857d
* server/connection.c (ap_lingering_close): Fix lingering close to
...
really match the 1.3 behaviour: read from the client for up to ~30
seconds in total. Current behaviour will attempt only 15 read() calls
then give up.
PR: 35292
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@291452 13f79535-47bb-0310-9956-ffa450edef68
2005-09-25 18:00:43 +00:00
Joe Orton
9b6e07b561
* server/request.c (core_opts_merge): When AllowOverride is specified
...
for the directory, ignore the inherited override_opts field.
PR: 35330
Submitted by: kabe <kabe sra-tohoku.co.jp>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@291120 13f79535-47bb-0310-9956-ffa450edef68
2005-09-23 14:11:18 +00:00
Joe Orton
0fb1643049
* server/mpm/prefork/prefork.c: Add volatile qualifier to die_now
...
since it is changed by a signal handler.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@290124 13f79535-47bb-0310-9956-ffa450edef68
2005-09-19 11:54:52 +00:00
Greg Ames
5b981cc853
get rid of an obsolete comment. the separate event thread disappeared when
...
the event MPM moved into svn.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@289681 13f79535-47bb-0310-9956-ffa450edef68
2005-09-17 01:14:16 +00:00