1
0
mirror of https://github.com/apache/httpd.git synced 2025-11-05 05:30:39 +03:00
Commit Graph

130 Commits

Author SHA1 Message Date
Roy T. Fielding
381f88d56a Update copyright to 2001
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88184 13f79535-47bb-0310-9956-ffa450edef68
2001-02-16 04:26:53 +00:00
Bill Stoddard
9b0de5f155 Move the call to set the socket timeout outside the loop.
ve :


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88168 13f79535-47bb-0310-9956-ffa450edef68
2001-02-14 21:29:12 +00:00
Bill Stoddard
f5129aa30a Fix lingering close (and make it more efficient). We were blocking on
apr_read() for 30 seconds for each lingering close. What we want to
do is block for 2 seconds. If we do not read any bytes from the client
in that time, close the connection. If we do read bytes, then wait 2
more seconds to see if more arrive, etc. Repeat for MAX_SECS_TO_LINGER
if needed.

This should clear the way to get 2.0 running on apache.org!


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88167 13f79535-47bb-0310-9956-ffa450edef68
2001-02-14 21:05:36 +00:00
Bill Stoddard
6bb2157915 Start getting extended status working again.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88151 13f79535-47bb-0310-9956-ffa450edef68
2001-02-14 02:52:23 +00:00
Bill Stoddard
399e45d16a This is the wrong place to mark the server ready. Servers need to be marked ready
in the MPM -after- lingering close processing. This could be playing havoc with
perform_idle_server_maintenance.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88125 13f79535-47bb-0310-9956-ffa450edef68
2001-02-12 23:00:24 +00:00
Ryan Bloom
4d2bc3d3da Begin to move the code that updates the child status out of the MPMs and
into the main-line code.  This ensures that all MPMs can easily forget
about updating their status.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88117 13f79535-47bb-0310-9956-ffa450edef68
2001-02-12 18:48:00 +00:00
Greg Stein
5dc34feb12 *) continued header revamping
*) torch some headers (and some libs) from the autoconf stuff


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88061 13f79535-47bb-0310-9956-ffa450edef68
2001-02-10 14:04:21 +00:00
Doug MacEachern
88d3406f9a renaming various functions for consistency sake
see: http://apr.apache.org/~dougm/apr_rename.pl
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88019 13f79535-47bb-0310-9956-ffa450edef68
2001-02-08 07:45:33 +00:00
Ryan Bloom
deab760727 Bring mod_status for 2.0 back in line with mod_status for 1.3. This is
basically a straight port of the 1.3 module to 2.0.  The MPMs need to be
modified a bit to work with mod_status, but prefork, mpmt_pthread, and
dexter have already been changed.  I will fix perchild tonight.  There
is a lot of common code that can be abstracted, and there seems to be a
small bug with regard to what mpmt_pthread and dexter report as current
connections.  ExtendedStatus does work again, although until the bug
mentioned above is fixed, it isn't as useful on mpmt_pthread and dexter.

Next week, I will look at allowing other modules to add data to the
STATUS page and possibly to the scoreboard itself.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87949 13f79535-47bb-0310-9956-ffa450edef68
2001-02-01 21:55:16 +00:00
Jeff Trawick
288e2cc490 handle a TCP connection reset between the time we accept the connection
and when apr_get_sockaddr() does getsockname() or getpeername()

this change will be rolled into the other MPMs later


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87947 13f79535-47bb-0310-9956-ffa450edef68
2001-02-01 17:21:49 +00:00
William A. Rowe Jr
e62172bbdd The fast fix to get FirstBill back out of the gate. It brings up an
issue I'll address to the list.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87748 13f79535-47bb-0310-9956-ffa450edef68
2001-01-19 22:32:15 +00:00
William A. Rowe Jr
850f8cc33a By popular review
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87739 13f79535-47bb-0310-9956-ffa450edef68
2001-01-19 18:38:34 +00:00
William A. Rowe Jr
59bbd68bec The big change. This is part 3 of the apr-util symbols rename, please
see the first commit of srclib/apr-util/include (cvs apr-util/include)
  for the quick glance at symbols changed.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87731 13f79535-47bb-0310-9956-ffa450edef68
2001-01-19 07:04:36 +00:00
Ryan Bloom
db280eb3a5 Simplify the lingering close logic a bit. Doesn't actually change
anything, this just removes a duplicate call to ap_flush_conn.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87567 13f79535-47bb-0310-9956-ffa450edef68
2001-01-02 17:12:09 +00:00
Jeff Trawick
b1e8b050e9 The local_addr and remote_addr fields in the conn_rec are now
apr_sockaddr_t * instead of sockaddr_in.  This is a small step
towards IPv6 support.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87342 13f79535-47bb-0310-9956-ffa450edef68
2000-12-14 18:47:30 +00:00
Jeff Trawick
4c8baf6170 Get rid of ap_new_apr_connection(). ap_new_connection() now has
fewer parameters: the local and remote socket addresses were removed
from the parameter list because all required information is available
via the APR socket.

I haven't tested the most important part -- the WinNT MPM changes
-- but it compiles and it looks okay :)  If the WinNT MPM works on
Win98 these days let me know.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87181 13f79535-47bb-0310-9956-ffa450edef68
2000-12-04 19:24:10 +00:00
Jeff Trawick
04b0c156af Stop referencing apr_get_socket_inaddr(), apr_get_remote_name(), and
apr_get_local_name().  They have been removed.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87147 13f79535-47bb-0310-9956-ffa450edef68
2000-12-01 18:49:52 +00:00
Jeff Trawick
d4df2029ae updates to changed interfaces to apr_set_port(), apr_get_port(),
apr_set_ipaddr(), and apr_get_ipaddr()


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87050 13f79535-47bb-0310-9956-ffa450edef68
2000-11-21 19:10:25 +00:00
William A. Rowe Jr
a1346d5f95 Clean up some timeout arg warnings
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87006 13f79535-47bb-0310-9956-ffa450edef68
2000-11-18 14:43:26 +00:00
David Reid
35034e600c Change the code to reflect the recent API changes...
Alter http_vhost.c to use the new apr_get_inaddr fucntion.  Old code is still
there just in case it breaks.  can someone check it who knows this stuff?


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86890 13f79535-47bb-0310-9956-ffa450edef68
2000-11-09 15:09:50 +00:00
Ryan Bloom
4ee1d8eb59 Remove BUFF from the main server. :-) The buff code needs to remain as
a part of the server until the proxy is purged of BUFF however.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86878 13f79535-47bb-0310-9956-ffa450edef68
2000-11-09 00:37:06 +00:00
Ryan Bloom
134dbc9e7a Convert a lot of apr_ssize_t to apr_size_t. We don't ever accept or return
signed values in these integers, and we return the error codes directly,
so we should always report the number of bytes read/written correctly.  If
we have an error, that is 0 bytes.  If that is true, then using signed
values doesn't make any sense.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86857 13f79535-47bb-0310-9956-ffa450edef68
2000-11-07 20:21:55 +00:00
David Reid
60acdb0d07 We don't really want to fool around with socket structures if we don't have to,
and in this case we can get the ip address directly from the socket.  This
should mean that if we add more protocol support we don't have to worry about
this.  No doubt this is the first of many such changes...


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86817 13f79535-47bb-0310-9956-ffa450edef68
2000-11-03 02:17:56 +00:00
Jeff Trawick
2730adb574 Fix a buglet in the APR-ization of ap_lingering_close() -- use APR_SO_TIMEOUT
instead of BO_TIMEOUT.  (We were actually setting a different socket option.)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86785 13f79535-47bb-0310-9956-ffa450edef68
2000-11-01 15:42:50 +00:00
Ryan Bloom
a90cfa54f1 Make lingering close access the socket directly, instead of relying on
BUFF.  This has been tested, but all we can determine is that it doesn't
fail, not that it works.  This needs to be tested much better.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86709 13f79535-47bb-0310-9956-ffa450edef68
2000-10-23 10:46:20 +00:00
Jeff Trawick
902d55fc14 Get rid of a couple of buff-isms -- setting the B_EOUT flag in a couple
of places and doing ap_bread() in ap_lingering_close.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86700 13f79535-47bb-0310-9956-ffa450edef68
2000-10-22 13:20:36 +00:00
Ryan Bloom
946cd782e3 Change some of the BUFF calls to direct calls to the socket.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86666 13f79535-47bb-0310-9956-ffa450edef68
2000-10-19 01:24:10 +00:00
Ryan Bloom
d85bbfb847 This begins to remove BUFF from the server. The idea is to go very slowly
with this.  To begin with, we store both the socket and the BUFF in the
conn_rec.  Functions are free to use which ever they want, in the end all
of the data goes to the same place.  This modifies all of the MPMs except
Windows.  All of the Unix MPMs are working, but the others need to be
tested.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86651 13f79535-47bb-0310-9956-ffa450edef68
2000-10-18 19:12:16 +00:00
William A. Rowe Jr
d6490633eb Renamed all MODULE_EXPORT symbols to AP_MODULE_DECLARE and all symbols
for CORE_EXPORT to AP_CORE_DECLARE (namespace protecting the wrapper)
  and retitled API_EXPORT as AP_DECLARE and APR_EXPORT as APR_DECLARE.
  All _VAR_ flavors changes to _DATA to be absolutely clear.
  Thank you Greg, for the most obvious suggestion.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86609 13f79535-47bb-0310-9956-ffa450edef68
2000-10-16 06:05:15 +00:00
Ryan Bloom
bb8525b09d Add the first draft of the http_filter. In time this filter will split
the bucket brigade between the headers and the body.  Right now it just
converts \r\n to \n\0.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86412 13f79535-47bb-0310-9956-ffa450edef68
2000-10-06 06:07:07 +00:00
Jeff Trawick
b7d765272e Add a bit of infrastructure which will be needed for input filtering:
1) separate filter lists hanging off the r and the c

   requests start off with the same filter list as the connection

   the input filter list is not initialized for subrequests

   internal redirects start off with the same filter list as the
   connection

2) AddInputFilter directive (blatant rip-off of Ryan's AddOutputFilter
   directive); as with AddOutputFilter, the network is implicitly to the
   right of the specified filter list; this may not be the most
   intuitive way to specify the filters; not sure yet


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86403 13f79535-47bb-0310-9956-ffa450edef68
2000-10-05 16:55:10 +00:00
Jeff Trawick
a9a0b56629 Now that we have ap_add_input_filter(), rename ap_add_filter() to
ap_add_output_filter().


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86401 13f79535-47bb-0310-9956-ffa450edef68
2000-10-05 12:01:48 +00:00
Ryan Bloom
8b56ba850a Connection oriented filters are now stored in the conn_rec instead of the
request_rec.  This means that a conn_rec must be supplied when calling
ap_add_filter.  The reason for this change is that we need to be able to
add the core_filter (whether or SSL or not) before we try to read the
request.  This way, if a request fails, we can actually send the error
page back to the client.  With this change, we add the core filter to the
conn_rec during the pre-connection phase.
Submitted by:	Ryan Bloom, Jeff Trawick, and Greg Ames


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86392 13f79535-47bb-0310-9956-ffa450edef68
2000-10-04 23:19:33 +00:00
Ryan Bloom
ba047efee0 Move where the CORE_IN filter is added to the server. We used to do this
in ap_new_connection, but that is bogus, because then other modules can't
put their own filter in.  Now, we do this in a new pre-connection hook
function.  Later, we will want to add some checking to make sure that this
is really an HTTP request that we are adding the filter for.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86364 13f79535-47bb-0310-9956-ffa450edef68
2000-10-02 19:52:37 +00:00
Ryan Bloom
7ae2f294fd Implement input filtering. This is definately not completely correct, but
it is a good first step.  It is possible to add filters when reading from
the client with this change.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86359 13f79535-47bb-0310-9956-ffa450edef68
2000-10-02 00:47:28 +00:00
William A. Rowe Jr
1a9db204f5 Remaining cleanup of ap_ -> apr_ and AP_ -> APR_ transformation...
see src/lib/apr/apr_compat.h for most details.
  Also a few minor nits to get Win32 to build.

PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86008 13f79535-47bb-0310-9956-ffa450edef68
2000-08-06 06:07:53 +00:00
Doug MacEachern
059d8dd212 prefix libapr functions and types with apr_
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85976 13f79535-47bb-0310-9956-ffa450edef68
2000-08-02 05:27:38 +00:00
Ryan Bloom
22d9fbdec0 Move all APR functions related to strings to their own directory, and
create a new header for those functions.  This is the first step to
removing the apr/lib directory completely, and moving those files/functions
to descriptive directories.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85867 13f79535-47bb-0310-9956-ffa450edef68
2000-07-21 19:50:58 +00:00
Jeff Trawick
db3c12a79e Fix some bad ap_log_error() invocations. Comment on a bad
ap_log_rerror() invocation.

Almost all of this is in code never compiled.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85860 13f79535-47bb-0310-9956-ffa450edef68
2000-07-17 22:11:47 +00:00
Jeff Trawick
73b1f79967 Remove const from ap_socket_t parameters on APR functions so that
APR can modify the ap_socket_t as it sees fit.  It may choose to
modify the ap_socket_t on functions which only read from the ap_socket_t
conceptually.

Note: http_connection::ap_new_apr_connection() passes its ap_socket_t
arg to one of the changed functions, so const was removed there also.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85700 13f79535-47bb-0310-9956-ffa450edef68
2000-06-26 20:37:49 +00:00
Roy T. Fielding
b17a3d6437 Removed the pointless ap_is_aborted macro.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85626 13f79535-47bb-0310-9956-ffa450edef68
2000-06-20 04:22:39 +00:00
Allan K. Edwards
6f4bcbf027 Add notes field to conn_rec
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85615 13f79535-47bb-0310-9956-ffa450edef68
2000-06-19 17:38:06 +00:00
Ryan Bloom
750d8cc03c Protect system header files with the appropriate macros.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85558 13f79535-47bb-0310-9956-ffa450edef68
2000-06-12 23:03:05 +00:00
Ryan Bloom
580852da85 Clean up a big chunk of ap_config.h. This basically stops ap_config.h from
including any files.  Because of this change, other files must include
their own headers.  I also cleaned up a couple of other bugs in some
modules because I had to compile them all.

I expect this to break multiple platforms, but this will be fixed over time.
The massive configure cleanup is almost done.  I will go through the files
one more time after this commit.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85553 13f79535-47bb-0310-9956-ffa450edef68
2000-06-12 21:47:17 +00:00
William A. Rowe Jr
3f29977506 PR:
Obtained from:
Submitted by:
Reviewed by:

  Reverse out additional linkage argument from DECLARE_HOOK
  and IMPLEMENT_HOOK macros.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85319 13f79535-47bb-0310-9956-ffa450edef68
2000-05-27 22:53:48 +00:00
William A. Rowe Jr
86e2a18f2a This patch corrects the issues from the AP_EXPORT and linkage
specification arguments to the ap_hooks.h declarations.  As with
  the APR_ and AP_ patches, API_VAR_EXPORT becomes API_EXPORT_VAR,
  and MODULE_VAR_EXPORT becomes MODULE_EXPORT_VAR.

  I will be happy to revert the inclusion of ap_config.h from 
  httpd.h if this bothers anyone.  More individual modules need
  to be patched if we do so.

  The API_EXPORTs all moved into central storage in the ap_config.h
  header.  Without WIN32 or API_STATIC compile time declarations, 
  these macros remain no-ops.

  This patch also moves the following data from http_main to http_config:

    const char *ap_server_argv0;
    const char *ap_server_root;
    ap_array_header_t *ap_server_pre_read_config;
    ap_array_header_t *ap_server_post_read_config;
    ap_array_header_t *ap_server_config_defines;

  And the following variables had already moved into ap_hooks.c:

    ap_pool_t *g_pHookPool;  (initialized now in http_config)
    int g_bDebugHooks;                   (out of http_config)
    const char *g_szCurrentHookName;     (out of http_config)

  The changes to http_main.c are in preparation for that module to
  move out to a seperate .exe for win32.  Other platforms will be
  unaffected, outside of these changes.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85309 13f79535-47bb-0310-9956-ffa450edef68
2000-05-27 05:28:02 +00:00
Bill Stoddard
4bd0fe1c28 Create new function, ap_lingering_close(), which will explicitly do a lingering close
if USE_SO_LINGER is not defined. Move responsibility for closing connections out
of http_connection.c and into the MPMs.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85194 13f79535-47bb-0310-9956-ffa450edef68
2000-05-11 21:17:00 +00:00
Bill Stoddard
f219386809 Exit connection processing normally on a graceful shutdown (which will allow
a lingering close where applicable). Set is_graceful in the winnt MPM.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85193 13f79535-47bb-0310-9956-ffa450edef68
2000-05-11 20:47:21 +00:00
Doug MacEachern
b7f8b9d3df change ap_hook_pre_connection from VOID to RUN_ALL
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85066 13f79535-47bb-0310-9956-ffa450edef68
2000-04-27 23:44:16 +00:00
Doug MacEachern
6644b34387 add AP_ prefix to *HOOK* macros
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85045 13f79535-47bb-0310-9956-ffa450edef68
2000-04-26 07:14:39 +00:00