1
0
mirror of https://github.com/apache/httpd.git synced 2026-10-23 22:49:01 +03:00
Commit Graph

2891 Commits

Author SHA1 Message Date
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