/[Apache-SVN]/httpd/httpd/trunk/server/connection.c
ViewVC logotype

Log of /httpd/httpd/trunk/server/connection.c

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Revision:

Revision 757853 - (view) (annotate) - [select for diffs]
Modified Tue Mar 24 15:43:59 2009 UTC (8 months ago) by trawick
File length: 6086 byte(s)
Diff to previous 645455 (colored)
Introduce a new set of APIs to allow MPMs to be proper modules instead
of integral parts which share global variables, functions, and macros
with the rest of httpd.

Converted now:
  prefork, worker, event, simple, WinNT*

*WinNT hasn't been built or tested, and relies on a hack to include the
WinNT mpm.h to disable Unixy MPM support routines in mpm_common.c

Revision 645455 - (view) (annotate) - [select for diffs]
Modified Mon Apr 7 10:45:43 2008 UTC (19 months, 2 weeks ago) by pquerna
File length: 6111 byte(s)
Diff to previous 420983 (colored)
Remove all references to CORE_PRIVATE.

Revision 420983 - (view) (annotate) - [select for diffs]
Modified Tue Jul 11 20:33:53 2006 UTC (3 years, 4 months ago) by fielding
File length: 6132 byte(s)
Diff to previous 395228 (colored)
update license header text

Revision 395228 - (view) (annotate) - [select for diffs]
Modified Wed Apr 19 12:11:27 2006 UTC (3 years, 7 months ago) by colm
File length: 5985 byte(s)
Diff to previous 332306 (colored)
Update the copyright year in all .c, .h and .xml files

Revision 332306 - (view) (annotate) - [select for diffs]
Modified Thu Nov 10 15:11:44 2005 UTC (4 years ago) by jim
File length: 5985 byte(s)
Diff to previous 332305 (colored)
No functional Change: Removing trailing whitespace. This also
means that "blank" lines consisting of just spaces or
tabs are now really blank lines

Revision 332305 - (view) (annotate) - [select for diffs]
Modified Thu Nov 10 15:05:51 2005 UTC (4 years ago) by jim
File length: 5989 byte(s)
Diff to previous 291454 (colored)
No functional change: simple detabbing of indented code.

Revision 291454 - (view) (annotate) - [select for diffs]
Modified Sun Sep 25 18:08:29 2005 UTC (4 years, 2 months ago) by jorton
File length: 5975 byte(s)
Diff to previous 291452 (colored)
* server/connection.c (ap_lingering_close): Cleanup; no functional change.

Revision 291452 - (view) (annotate) - [select for diffs]
Modified Sun Sep 25 18:00:43 2005 UTC (4 years, 2 months ago) by jorton
File length: 6095 byte(s)
Diff to previous 151408 (colored)
* 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

Revision 151408 - (view) (annotate) - [select for diffs]
Modified Fri Feb 4 20:28:49 2005 UTC (4 years, 9 months ago) by jerenkrantz
File length: 5830 byte(s)
Diff to previous 106103 (colored)
Update copyright year to 2005 and standardize on current copyright owner line.

Revision 106103 - (view) (annotate) - [select for diffs]
Modified Sun Nov 21 18:50:36 2004 UTC (5 years ago) by nd
File length: 5794 byte(s)
Diff to previous 102800 (colored)
general property cleanup

Revision 102800 - (view) (annotate) - [select for diffs]
Modified Sat Feb 28 12:08:30 2004 UTC (5 years, 8 months ago) by jorton
File length: 5794 byte(s)
Diff to previous 102793 (colored)
* server/connection.c (ap_flush_conn): Fix typo.

Revision 102793 - (view) (annotate) - [select for diffs]
Modified Sat Feb 28 00:45:26 2004 UTC (5 years, 8 months ago) by madhum
File length: 5795 byte(s)
Diff to previous 102619 (colored)
Send the 'Close Alert' message to the peer upon closing a SSL session. This
required creating a new EOC (End-Of-Connection) bucket type to notify mod_ssl
that the connection is about to be closed.


Reviewed by: Joe Orton, Justin Erenkrantz

Revision 102619 - (view) (annotate) - [select for diffs]
Modified Mon Feb 9 20:40:53 2004 UTC (5 years, 9 months ago) by nd
File length: 5650 byte(s)
Diff to previous 102589 (colored)
fix name of The Apache Software Foundation

Revision 102589 - (view) (annotate) - [select for diffs]
Modified Sun Feb 8 13:58:22 2004 UTC (5 years, 9 months ago) by nd
File length: 5646 byte(s)
Diff to previous 102525 (colored)
fix copyright dates according to the first check in

Revision 102525 - (view) (annotate) - [select for diffs]
Modified Fri Feb 6 22:58:42 2004 UTC (5 years, 9 months ago) by nd
File length: 5646 byte(s)
Diff to previous 102135 (colored)
apply Apache License, Version 2.0

Revision 102135 - (view) (annotate) - [select for diffs]
Modified Thu Jan 1 13:26:26 2004 UTC (5 years, 10 months ago) by nd
File length: 7865 byte(s)
Diff to previous 101154 (colored)
update license to 2004.

Revision 101154 - (view) (annotate) - [select for diffs]
Modified Wed Sep 3 19:27:12 2003 UTC (6 years, 2 months ago) by trawick
File length: 7865 byte(s)
Diff to previous 98860 (colored)
switch to APR 1.0 API (which is still in flux)

because of the changes to the argument lists of apr_mmap_dup and apr_socket_create,
2.1-dev won't build with apr and apr-util's 0.9 branch anymore

Revision 98860 - (view) (annotate) - [select for diffs]
Modified Sat Mar 1 00:43:03 2003 UTC (6 years, 8 months ago) by stas
File length: 7851 byte(s)
Diff to previous 98798 (colored)
Apache hooks return int: so s/apr_status_t/int/
PR:
Obtained from:
Submitted by:
Reviewed by:	trawick

Revision 98798 - (view) (annotate) - [select for diffs]
Modified Tue Feb 25 23:25:19 2003 UTC (6 years, 9 months ago) by stas
File length: 7860 byte(s)
Diff to previous 98573 (colored)
check the return value of ap_run_pre_connection(). So if the
pre_connection phase fails (without setting c->aborted)
ap_run_process_connection is not executed.
PR:
Obtained from:
Submitted by:
Reviewed by:	trawick, jim

Revision 98573 - (view) (annotate) - [select for diffs]
Modified Mon Feb 3 17:53:28 2003 UTC (6 years, 9 months ago) by nd
File length: 7766 byte(s)
Diff to previous 96057 (colored)
finished that boring job:
update license to 2003.

Happy New Year! ;-))

Revision 96057 - (view) (annotate) - [select for diffs]
Modified Mon Jul 15 08:05:11 2002 UTC (7 years, 4 months ago) by wrowe
File length: 7766 byte(s)
Diff to previous 96055 (colored)
  http occurances to update for apr_socket_opt_get/set

Revision 96055 - (view) (annotate) - [select for diffs]
Modified Mon Jul 15 07:46:19 2002 UTC (7 years, 4 months ago) by wrowe
File length: 7764 byte(s)
Diff to previous 94304 (colored)
  Timeout/time fixes

Revision 94304 - (view) (annotate) - [select for diffs]
Modified Fri Mar 29 08:17:26 2002 UTC (7 years, 8 months ago) by jwoolley
File length: 7774 byte(s)
Diff to previous 94020 (colored)
BUCKET FREELISTS

Add an allocator-passing mechanism throughout the bucket brigades API.

From Apache's standpoint, the apr_bucket_alloc_t* used throughout a given
connection is stored in the conn_rec by the create_connection hook.  That
means it's the MPM's job to optimize recycling of apr_bucket_alloc_t's --
the MPM must ensure that no two threads can ever use the same one at the
same time, for instance.

Revision 94020 - (view) (annotate) - [select for diffs]
Modified Tue Mar 19 19:01:50 2002 UTC (7 years, 8 months ago) by ianh
File length: 7708 byte(s)
Diff to previous 93918 (colored)
forgot the actual change

PR:
Obtained from:
Submitted by:
Reviewed by:

Revision 93918 - (view) (annotate) - [select for diffs]
Modified Wed Mar 13 20:48:07 2002 UTC (7 years, 8 months ago) by fielding
File length: 8259 byte(s)
Diff to previous 93717 (colored)
Update our copyright for this year.

Revision 93717 - (view) (annotate) - [select for diffs]
Modified Tue Mar 5 20:43:24 2002 UTC (7 years, 8 months ago) by ianh
File length: 8259 byte(s)
Diff to previous 93259 (colored)
Sander's Stylistic Submission
(de-tab)
PR:
Obtained from:
Submitted by:
Reviewed by:

Revision 93259 - (view) (annotate) - [select for diffs]
Modified Tue Feb 5 22:18:49 2002 UTC (7 years, 9 months ago) by rbb
File length: 8233 byte(s)
Diff to previous 93171 (colored)
Remove the install_transport_filters hook.  The same function can be
acheived with the pre_connection hook.  I have added the socket to the
pre_connection phase to make this possible.
Reviewed by:	Bill Stoddard

Revision 93171 - (view) (annotate) - [select for diffs]
Modified Fri Feb 1 22:16:31 2002 UTC (7 years, 9 months ago) by stoddard
File length: 8462 byte(s)
Diff to previous 93087 (colored)
Reintroduce the create_connection hook. This hook is required to enable
modules to completely take over all network i/o from the core.

Revision 93087 - (view) (annotate) - [select for diffs]
Modified Tue Jan 29 19:02:04 2002 UTC (7 years, 9 months ago) by stoddard
File length: 9493 byte(s)
Diff to previous 93050 (colored)
This patch restores most of Ryan's patch (11/12/2001) to remove the
client_socket from the conn_rec.  Diffs from Ryan's patch include:

- rename the create_connection hook to install_transport_filters
- move the point of invocation of the hook till after the call to
  after ap_update_vhost_given_ip to enable the hook to use vhost
  config info in its decision making.

Revision 93050 - (view) (annotate) - [select for diffs]
Modified Sun Jan 27 12:52:08 2002 UTC (7 years, 10 months ago) by stoddard
File length: 9546 byte(s)
Diff to previous 92580 (colored)
Remove the create_connection hook and put the client_socket back into the
conn_rec. The create_connection_hook has a design flaw that prevents it
from making decisions based on vhost information.

Revision 92580 - (view) (annotate) - [select for diffs]
Modified Sun Dec 23 03:49:46 2001 UTC (7 years, 11 months ago) by stoddard
File length: 8187 byte(s)
Diff to previous 92512 (colored)
The connection can be aborted in the preconnection hook. If that happens,
there is no need to run the process_connection hook.

Revision 92512 - (view) (annotate) - [select for diffs]
Modified Tue Dec 18 13:48:54 2001 UTC (7 years, 11 months ago) by trawick
File length: 8155 byte(s)
Diff to previous 91968 (colored)
Change core code to allow an MPM to set hard thread/server
limits at startup.

Revision 91968 - (view) (annotate) - [select for diffs]
Modified Thu Nov 15 20:49:54 2001 UTC (8 years ago) by rbb
File length: 8163 byte(s)
Diff to previous 91913 (colored)
Pull lingering close out of the pool cleanup phase.  This was causing too
many bugs.  Instead, it is called where it used to be called.  I have
abstracted some of the logic out of the lingering close so that it gets
the socket from the connection using the core's conn_config vector.  This
is in anticipation of a change to use a hook for the lingering close,
which I hope to do soon.

Revision 91913 - (view) (annotate) - [select for diffs]
Modified Tue Nov 13 20:29:54 2001 UTC (8 years ago) by rbb
File length: 8233 byte(s)
Diff to previous 91906 (colored)
Add the server_rec argument back to the create_connection hook.
Submitted by:	Greg Stein

Revision 91906 - (view) (annotate) - [select for diffs]
Modified Tue Nov 13 17:44:07 2001 UTC (8 years ago) by rbb
File length: 8205 byte(s)
Diff to previous 91902 (colored)
Back out my last patch.  The logic to add sockets to pollsets is back in
the MPM

Revision 91902 - (view) (annotate) - [select for diffs]
Modified Tue Nov 13 17:03:29 2001 UTC (8 years ago) by rbb
File length: 8428 byte(s)
Diff to previous 91901 (colored)
Whoops, wrong variable.

Revision 91901 - (view) (annotate) - [select for diffs]
Modified Tue Nov 13 17:02:52 2001 UTC (8 years ago) by rbb
File length: 8426 byte(s)
Diff to previous 91899 (colored)
I accidentally removed these lines.  Thank to Greg for catching this.

Revision 91899 - (view) (annotate) - [select for diffs]
Modified Tue Nov 13 07:15:36 2001 UTC (8 years ago) by rbb
File length: 8354 byte(s)
Diff to previous 91890 (colored)
This allows modules to add socket descriptors to the pollset.  I have
only added this to the perfork MPM, and the others work without it.
Tomorrow I will add it to the other MPMs.

Revision 91890 - (view) (annotate) - [select for diffs]
Modified Tue Nov 13 02:09:07 2001 UTC (8 years ago) by rbb
File length: 8131 byte(s)
Diff to previous 91887 (colored)
Cleanup some code that was created during the abstration.  This basically
takes the old ap_new_connection, and puts into the new core_create_conn
function.  There is no good reason to have two functions to do this.

Revision 91887 - (view) (annotate) - [select for diffs]
Modified Mon Nov 12 23:49:08 2001 UTC (8 years ago) by rbb
File length: 9758 byte(s)
Diff to previous 91839 (colored)
Begin to abstract out the underlying transport layer.
The first step is to remove the socket from the conn_rec,
the server now lives in a context that is passed to the
core's input and output filters. This forces us to be very
careful when adding calls that use the socket directly,
because the socket isn't available in most locations.

Revision 91839 - (view) (annotate) - [select for diffs]
Modified Sat Nov 10 21:07:13 2001 UTC (8 years ago) by rbb
File length: 9510 byte(s)
Diff to previous 91832 (colored)
Fix the Windows MPM.  Windows doesn't always use the lingering close
function. If it can re-use the socket, we are better off not calling
the function.  To fix this, we re-expose the lingering_close function,
and we allow the MPM to remove the cleanup.

Revision 91832 - (view) (annotate) - [select for diffs]
Modified Sat Nov 10 18:26:30 2001 UTC (8 years ago) by rbb
File length: 9517 byte(s)
Diff to previous 89809 (colored)
Remove ap_lingering_close from all of the MPMs. This is now done as
a cleanup registered with the connection_pool.  I have also turned
ap_lingering_close into a static function, because it is only used
in connection.c.  This is the next step to consolidating all of the
socket function calls.  ap_lingering_close will only be added if the
core is dealing with a standard socket.

Revision 89809 - (view) (annotate) - [select for diffs]
Modified Tue Jul 31 00:34:27 2001 UTC (8 years, 3 months ago) by stoddard
File length: 9345 byte(s)
Diff to previous 89542 (colored)
The read() in apr_recv() would always be called first and return EAGAIN.
This one change to eliminate the read unless there are really bytes to read
is good for a 7 to 9% performance boost on AIX.

Revision 89542 - (view) (annotate) - [select for diffs]
Modified Thu Jul 12 03:20:50 2001 UTC (8 years, 4 months ago) by gregames
File length: 9281 byte(s)
Diff to previous 89078 (colored)
scratch an old itch - give lingering close its own state in the scoreboard.

clean up SERVER_ACCEPTING and SERVER_QUEUEING (never set) while I'm at it.

Revision 89078 - (view) (annotate) - [select for diffs]
Modified Fri May 11 04:35:41 2001 UTC (8 years, 6 months ago) by chuck
File length: 9198 byte(s)
Diff to previous 88449 (colored)
Add the AP_DECLARE()/AP_CORE_DECLARE macros on the return types of
functions used by mod_proxy for export in DLL
Submitted by:	Ian Holsman <IanH@cnet.com>
Reviewed by:	Chuck murcko

Revision 88449 - (view) (annotate) - [select for diffs]
Modified Sun Mar 4 06:27:27 2001 UTC (8 years, 8 months ago) by rbb
File length: 9181 byte(s)
Diff to previous 88184 (colored)
Move more code from the http module into the core server.  This
is core code, basically the default handler, the default input
and output filters, and all of the core configuration directives.
All of this code is required in order for the server to work, with or
without HTTP.  The server is closer to working without the HTTP
module, although there is still more to do.

I tried to fix Windows, but somebody should probably make sure I did
it correctly.

Revision 88184 - (view) (annotate) - [select for diffs]
Modified Fri Feb 16 04:26:53 2001 UTC (8 years, 9 months ago) by fielding
File length: 10301 byte(s)
Diff to previous 88168 (colored)
Update copyright to 2001

Revision 88168 - (view) (annotate) - [select for diffs]
Modified Wed Feb 14 21:29:12 2001 UTC (8 years, 9 months ago) by stoddard
File length: 10296 byte(s)
Diff to previous 88167 (colored)
Move the call to set the socket timeout outside the loop.

ve :

Revision 88167 - (view) (annotate) - [select for diffs]
Modified Wed Feb 14 21:05:36 2001 UTC (8 years, 9 months ago) by stoddard
File length: 10300 byte(s)
Diff to previous 88151 (colored)
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!

Revision 88151 - (view) (annotate) - [select for diffs]
Modified Wed Feb 14 02:52:23 2001 UTC (8 years, 9 months ago) by stoddard
File length: 10259 byte(s)
Diff to previous 88125 (colored)
Start getting extended status working again.

Revision 88125 - (view) (annotate) - [select for diffs]
Modified Mon Feb 12 23:00:24 2001 UTC (8 years, 9 months ago) by stoddard
File length: 10158 byte(s)
Diff to previous 88117 (colored)
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.

Revision 88117 - (view) (annotate) - [select for diffs]
Modified Mon Feb 12 18:48:00 2001 UTC (8 years, 9 months ago) by rbb
File length: 10238 byte(s)
Diff to previous 88061 (colored)
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.

Revision 88061 - (view) (annotate) - [select for diffs]
Modified Sat Feb 10 14:04:21 2001 UTC (8 years, 9 months ago) by gstein
File length: 10098 byte(s)
Diff to previous 88019 (colored)
*) continued header revamping
*) torch some headers (and some libs) from the autoconf stuff

Revision 88019 - (view) (annotate) - [select for diffs]
Modified Thu Feb 8 07:45:33 2001 UTC (8 years, 9 months ago) by dougm
File length: 10191 byte(s)
Diff to previous 87949 (colored)
renaming various functions for consistency sake
see: http://apr.apache.org/~dougm/apr_rename.pl
PR:
Obtained from:
Submitted by:
Reviewed by:

Revision 87949 - (view) (annotate) - [select for diffs]
Modified Thu Feb 1 21:55:16 2001 UTC (8 years, 9 months ago) by rbb
File length: 10159 byte(s)
Diff to previous 87947 (colored)
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.

Revision 87947 - (view) (annotate) - [select for diffs]
Modified Thu Feb 1 17:21:49 2001 UTC (8 years, 9 months ago) by trawick
File length: 10019 byte(s)
Diff to previous 87748 (colored)
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

Revision 87748 - (view) (annotate) - [select for diffs]
Modified Fri Jan 19 22:32:15 2001 UTC (8 years, 10 months ago) by wrowe
File length: 9562 byte(s)
Diff to previous 87739 (colored)
  The fast fix to get FirstBill back out of the gate.  It brings up an
  issue I'll address to the list.

Revision 87739 - (view) (annotate) - [select for diffs]
Modified Fri Jan 19 18:38:34 2001 UTC (8 years, 10 months ago) by wrowe
File length: 9555 byte(s)
Diff to previous 87731 (colored)
  By popular review

Revision 87731 - (view) (annotate) - [select for diffs]
Modified Fri Jan 19 07:04:36 2001 UTC (8 years, 10 months ago) by wrowe
File length: 9538 byte(s)
Diff to previous 87567 (colored)
  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.

Revision 87567 - (view) (annotate) - [select for diffs]
Modified Tue Jan 2 17:12:09 2001 UTC (8 years, 10 months ago) by rbb
File length: 9530 byte(s)
Diff to previous 87342 (colored)
Simplify the lingering close logic a bit.  Doesn't actually change
anything, this just removes a duplicate call to ap_flush_conn.

Revision 87342 - (view) (annotate) - [select for diffs]
Modified Thu Dec 14 18:47:30 2000 UTC (8 years, 11 months ago) by trawick
File length: 9557 byte(s)
Diff to previous 87181 (colored)
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.

Revision 87181 - (view) (annotate) - [select for diffs]
Modified Mon Dec 4 19:24:10 2000 UTC (8 years, 11 months ago) by trawick
File length: 9597 byte(s)
Diff to previous 87147 (colored)
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.

Revision 87147 - (view) (annotate) - [select for diffs]
Modified Fri Dec 1 18:49:52 2000 UTC (8 years, 11 months ago) by trawick
File length: 10102 byte(s)
Diff to previous 87050 (colored)
Stop referencing apr_get_socket_inaddr(), apr_get_remote_name(), and
apr_get_local_name().  They have been removed.

Revision 87050 - (view) (annotate) - [select for diffs]
Modified Tue Nov 21 19:10:25 2000 UTC (9 years ago) by trawick
File length: 10040 byte(s)
Diff to previous 87006 (colored)
updates to changed interfaces to apr_set_port(), apr_get_port(),
apr_set_ipaddr(), and apr_get_ipaddr()

Revision 87006 - (view) (annotate) - [select for diffs]
Modified Sat Nov 18 14:43:26 2000 UTC (9 years ago) by wrowe
File length: 9954 byte(s)
Diff to previous 86890 (colored)
  Clean up some timeout arg warnings

Revision 86890 - (view) (annotate) - [select for diffs]
Modified Thu Nov 9 15:09:50 2000 UTC (9 years ago) by dreid
File length: 9947 byte(s)
Diff to previous 86878 (colored)
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?

Revision 86878 - (view) (annotate) - [select for diffs]
Modified Thu Nov 9 00:37:06 2000 UTC (9 years ago) by rbb
File length: 9937 byte(s)
Diff to previous 86857 (colored)
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.

Revision 86857 - (view) (annotate) - [select for diffs]
Modified Tue Nov 7 20:21:55 2000 UTC (9 years ago) by rbb
File length: 10045 byte(s)
Diff to previous 86817 (colored)
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.

Revision 86817 - (view) (annotate) - [select for diffs]
Modified Fri Nov 3 02:17:56 2000 UTC (9 years ago) by dreid
File length: 10046 byte(s)
Diff to previous 86785 (colored)
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...

Revision 86785 - (view) (annotate) - [select for diffs]
Modified Wed Nov 1 15:42:50 2000 UTC (9 years ago) by trawick
File length: 10129 byte(s)
Diff to previous 86709 (colored)
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.)

Revision 86709 - (view) (annotate) - [select for diffs]
Modified Mon Oct 23 10:46:20 2000 UTC (9 years, 1 month ago) by rbb
File length: 10099 byte(s)
Diff to previous 86700 (colored)
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.

Revision 86700 - (view) (annotate) - [select for diffs]
Modified Sun Oct 22 13:20:36 2000 UTC (9 years, 1 month ago) by trawick
File length: 9831 byte(s)
Diff to previous 86666 (colored)
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.

Revision 86666 - (view) (annotate) - [select for diffs]
Modified Thu Oct 19 01:24:10 2000 UTC (9 years, 1 month ago) by rbb
File length: 9865 byte(s)
Diff to previous 86651 (colored)
Change some of the BUFF calls to direct calls to the socket.

Revision 86651 - (view) (annotate) - [select for diffs]
Modified Wed Oct 18 19:12:16 2000 UTC (9 years, 1 month ago) by rbb
File length: 9806 byte(s)
Diff to previous 86609 (colored)
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.

Revision 86609 - (view) (annotate) - [select for diffs]
Modified Mon Oct 16 06:05:15 2000 UTC (9 years, 1 month ago) by wrowe
File length: 9660 byte(s)
Diff to previous 86412 (colored)
  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.

Revision 86412 - (view) (annotate) - [select for diffs]
Modified Fri Oct 6 06:07:07 2000 UTC (9 years, 1 month ago) by rbb
File length: 9656 byte(s)
Diff to previous 86403 (colored)
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.

Revision 86403 - (view) (annotate) - [select for diffs]
Modified Thu Oct 5 16:55:10 2000 UTC (9 years, 1 month ago) by trawick
File length: 9605 byte(s)
Diff to previous 86401 (colored)
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

Revision 86401 - (view) (annotate) - [select for diffs]
Modified Thu Oct 5 12:01:48 2000 UTC (9 years, 1 month ago) by trawick
File length: 9599 byte(s)
Diff to previous 86392 (colored)
Now that we have ap_add_input_filter(), rename ap_add_filter() to
ap_add_output_filter().

Revision 86392 - (view) (annotate) - [select for diffs]
Modified Wed Oct 4 23:19:33 2000 UTC (9 years, 1 month ago) by rbb
File length: 9592 byte(s)
Diff to previous 86364 (colored)
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

Revision 86364 - (view) (annotate) - [select for diffs]
Modified Mon Oct 2 19:52:37 2000 UTC (9 years, 1 month ago) by rbb
File length: 9550 byte(s)
Diff to previous 86359 (colored)
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.

Revision 86359 - (view) (annotate) - [select for diffs]
Modified Mon Oct 2 00:47:28 2000 UTC (9 years, 1 month ago) by rbb
File length: 9494 byte(s)
Diff to previous 86008 (colored)
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.

Revision 86008 - (view) (annotate) - [select for diffs]
Modified Sun Aug 6 06:07:53 2000 UTC (9 years, 3 months ago) by wrowe
File length: 9420 byte(s)
Diff to previous 85976 (colored)
  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:

Revision 85976 - (view) (annotate) - [select for diffs]
Modified Wed Aug 2 05:27:38 2000 UTC (9 years, 3 months ago) by dougm
File length: 9419 byte(s)
Diff to previous 85867 (colored)
prefix libapr functions and types with apr_

Revision 85867 - (view) (annotate) - [select for diffs]
Modified Fri Jul 21 19:50:58 2000 UTC (9 years, 4 months ago) by rbb
File length: 9404 byte(s)
Diff to previous 85860 (colored)
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.

Revision 85860 - (view) (annotate) - [select for diffs]
Modified Mon Jul 17 22:11:47 2000 UTC (9 years, 4 months ago) by trawick
File length: 9379 byte(s)
Diff to previous 85700 (colored)
Fix some bad ap_log_error() invocations.  Comment on a bad
ap_log_rerror() invocation.

Almost all of this is in code never compiled.

Revision 85700 - (view) (annotate) - [select for diffs]
Modified Mon Jun 26 20:37:49 2000 UTC (9 years, 5 months ago) by trawick
File length: 9372 byte(s)
Diff to previous 85626 (colored)
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.

Revision 85626 - (view) (annotate) - [select for diffs]
Modified Tue Jun 20 04:22:39 2000 UTC (9 years, 5 months ago) by fielding
File length: 9353 byte(s)
Diff to previous 85615 (colored)
Removed the pointless ap_is_aborted macro.

Revision 85615 - (view) (annotate) - [select for diffs]
Modified Mon Jun 19 17:38:06 2000 UTC (9 years, 5 months ago) by ake
File length: 9367 byte(s)
Diff to previous 85558 (colored)
Add notes field to conn_rec

Revision 85558 - (view) (annotate) - [select for diffs]
Modified Mon Jun 12 23:03:05 2000 UTC (9 years, 5 months ago) by rbb
File length: 9328 byte(s)
Diff to previous 85553 (colored)
Protect system header files with the appropriate macros.

Revision 85553 - (view) (annotate) - [select for diffs]
Modified Mon Jun 12 21:47:17 2000 UTC (9 years, 5 months ago) by rbb
File length: 9265 byte(s)
Diff to previous 85319 (colored)
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.

Revision 85319 - (view) (annotate) - [select for diffs]
Modified Sat May 27 22:53:48 2000 UTC (9 years, 6 months ago) by wrowe
File length: 9217 byte(s)
Diff to previous 85309 (colored)
PR:
Obtained from:
Submitted by:
Reviewed by:

  Reverse out additional linkage argument from DECLARE_HOOK
  and IMPLEMENT_HOOK macros.

Revision 85309 - (view) (annotate) - [select for diffs]
Modified Sat May 27 05:28:02 2000 UTC (9 years, 6 months ago) by wrowe
File length: 9295 byte(s)
Diff to previous 85194 (colored)
  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.

Revision 85194 - (view) (annotate) - [select for diffs]
Modified Thu May 11 21:17:00 2000 UTC (9 years, 6 months ago) by stoddard
File length: 9217 byte(s)
Diff to previous 85193 (colored)
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.

Revision 85193 - (view) (annotate) - [select for diffs]
Modified Thu May 11 20:47:21 2000 UTC (9 years, 6 months ago) by stoddard
File length: 9328 byte(s)
Diff to previous 85066 (colored)
Exit connection processing normally on a graceful shutdown (which will allow
a lingering close where applicable). Set is_graceful in the winnt MPM.

Revision 85066 - (view) (annotate) - [select for diffs]
Modified Thu Apr 27 23:44:16 2000 UTC (9 years, 7 months ago) by dougm
File length: 9421 byte(s)
Diff to previous 85045 (colored)
change ap_hook_pre_connection from VOID to RUN_ALL

Revision 85045 - (view) (annotate) - [select for diffs]
Modified Wed Apr 26 07:14:39 2000 UTC (9 years, 7 months ago) by dougm
File length: 9402 byte(s)
Diff to previous 84963 (colored)
add AP_ prefix to *HOOK* macros

Revision 84963 - (view) (annotate) - [select for diffs]
Modified Fri Apr 14 15:59:20 2000 UTC (9 years, 7 months ago) by rbb
File length: 9387 byte(s)
Diff to previous 84951 (colored)
Change ap_context_t to ap_pool_t.  This compiles, runs, and serves pages
on Linux, but probably breaks somewhere.

Revision 84951 - (view) (annotate) - [select for diffs]
Modified Thu Apr 13 00:37:55 2000 UTC (9 years, 7 months ago) by trawick
File length: 9393 byte(s)
Diff to previous 84878 (colored)
Get lingering_close() working again.

Revision 84878 - (view) (annotate) - [select for diffs]
Modified Fri Mar 31 08:44:21 2000 UTC (9 years, 7 months ago) by fielding
File length: 10152 byte(s)
Diff to previous 84725 (colored)
Update to Apache Software License version 1.1

Revision 84725 - (view) (annotate) - [select for diffs]
Modified Fri Mar 10 00:07:37 2000 UTC (9 years, 8 months ago) by rbb
File length: 10352 byte(s)
Diff to previous 84531 (colored)
Fix all the License issues.  Including:
s/Apache Group/Apache Software Foundation/
s/1999/2000/
s/Sascha's license/ASF license

Revision 84531 - (view) (annotate) - [select for diffs]
Modified Fri Jan 28 18:02:29 2000 UTC (9 years, 10 months ago) by rbb
File length: 10226 byte(s)
Diff to previous 84493 (colored)
Include ap_config.h before httpd.h, this ensures that AP_USE_HSREGEX is
defined correctly in all C files.

Revision 84493 - (view) (annotate) - [select for diffs]
Modified Wed Jan 19 01:16:31 2000 UTC (9 years, 10 months ago) by rbb
File length: 10226 byte(s)
Diff to previous 84128 (colored)
Finish the commits for the change in the header files.  Basically, this hides
all of the Apache macros that modules don't need access to.  This should
have been committed with the modules, but I wasn't paying attention to the
directory I was in when I ran the commit.
Submitted by:	Manoj Kasichainula and Ryan Bloom

Revision 84128 - (view) (annotate) - [select for diffs]
Modified Tue Nov 16 18:32:05 1999 UTC (10 years ago) by rbb
File length: 10203 byte(s)
Diff to previous 84040 (colored)
Cleanup the ZZZ comments.  Basically these used to mark places where APR
is needed.  It is much easier to do this conversion by hand than by
searching for old comments, so they are going away now.

Revision 84040 - (view) (annotate) - [select for diffs]
Modified Tue Oct 26 22:25:02 1999 UTC (10 years, 1 month ago) by manoj
File length: 10443 byte(s)
Diff to previous 84029 (colored)
ap_bflush and ap_bclose now return ap_status_t error codes instead of
returning -1 and setting errno.

Revision 84029 - (view) (annotate) - [select for diffs]
Modified Sun Oct 24 05:59:22 1999 UTC (10 years, 1 month ago) by bjh
File length: 10434 byte(s)
Diff to previous 83982 (colored)
Enhancements for APR network_io. Adds separate local/remote access methods for
a socket's port, IP address and sockaddr_in.

Updates for Apache code to use these, allowing the correct IP address of
clients to be logged.

Revision 83982 - (view) (annotate) - [select for diffs]
Modified Wed Oct 13 05:24:16 1999 UTC (10 years, 1 month ago) by manoj
File length: 10081 byte(s)
Diff to previous 83969 (colored)
Add a connection status table to replace the old function of the
scoreboard. It allows MPMs to implement their own mechanism for the
status table and allows any module to add its own per-connection status
entries.

Revision 83969 - (view) (annotate) - [select for diffs]
Modified Mon Oct 11 22:07:29 1999 UTC (10 years, 1 month ago) by martin
File length: 9825 byte(s)
Diff to previous 83852 (colored)
Fix typos

Revision 83852 - (view) (annotate) - [select for diffs]
Modified Tue Aug 31 05:35:52 1999 UTC (10 years, 2 months ago) by rbb
File length: 9838 byte(s)
Diff to previous 83836 (colored)
Changed pools to contexts.  Tested with prefork and pthread mpm's.  I'll
check this out tomorrow and make sure everything was checked in correctly.

Revision 83836 - (view) (annotate) - [select for diffs]
Modified Sat Aug 28 12:22:10 1999 UTC (10 years, 3 months ago) by rse
File length: 9818 byte(s)
Diff to previous 83662 (colored)
Make ``configure --with-option=devel'' under
GCC 2.95.1 happy by avoiding various warnings...

Revision 83662 - (view) (annotate) - [select for diffs]
Modified Fri Aug 13 06:58:08 1999 UTC (10 years, 3 months ago) by manoj
File length: 9819 byte(s)
Diff to previous 83587 (colored)
Add a connection ID to conn_rec. It uniquely identifies a connection at
any instant in time. It's not very well tested yet.

Revision 83587 - (view) (annotate) - [select for diffs]
Modified Fri Aug 6 00:55:28 1999 UTC (10 years, 3 months ago) by dgaudet
File length: 9786 byte(s)
Diff to previous 83581 (colored)
merge the differences in apache-1.3 from tag apache-apr-merge-3 up
to mpm-merge-1 onto the mpm tree

prior to the merge, the mpm tree was tagged with apache-1_3-merge-1-pre
and after the merge, the mpm tree will be tagged with apache-1_3-merge-1-post

note: none of htdocs/manual is present in mpm at this point.

Revision 83581 - (view) (annotate) - [select for diffs]
Modified Thu Aug 5 19:56:24 1999 UTC (10 years, 3 months ago) by manoj
File length: 9699 byte(s)
Diff to previous 83546 (colored)
Take child_num and thread_num out of conn_rec. They aren't used anywhere
anymore, and conn_rec is the wrong place for them.

Revision 83546 - (view) (annotate) - [select for diffs]
Modified Sat Jul 31 09:31:21 1999 UTC (10 years, 3 months ago) by ben
File length: 9806 byte(s)
Diff to previous 83516 (colored)
Break out the hook implementations into three kinds, thus avoiding null macro
arguments. Gates made me do it!

Revision 83516 - (view) (annotate) - [select for diffs]
Modified Tue Jul 27 21:16:46 1999 UTC (10 years, 4 months ago) by ben
File length: 9809 byte(s)
Diff to previous 83488 (colored)
Another hook (I won't be upset if someone else wants to do some!).

Revision 83488 - (view) (annotate) - [select for diffs]
Modified Fri Jul 23 18:14:44 1999 UTC (10 years, 4 months ago) by ben
File length: 9817 byte(s)
Diff to previous 83486 (colored)
Actually, we should always close the connection when it is finished.

Revision 83486 - (view) (annotate) - [select for diffs]
Modified Thu Jul 22 19:17:21 1999 UTC (10 years, 4 months ago) by ben
File length: 9817 byte(s)
Diff to previous 83451 (colored)
And with one bound, he was free! This seemingly minor change allows modules
to take over connection processing, thus making Apache multiprotocol. Woo!

Revision 83451 - (view) (annotate) - [select for diffs]
Modified Sun Jul 11 16:42:24 1999 UTC (10 years, 4 months ago) by ben
File length: 9597 byte(s)
Diff to previous 83440 (colored)
Make run_all symbolic.

Revision 83440 - (view) (annotate) - [select for diffs]
Modified Wed Jul 7 15:31:58 1999 UTC (10 years, 4 months ago) by martin
File length: 9591 byte(s)
Diff to previous 83435 (colored)
Sorry, but using C comments in place of C++ comments
makes life for me and my compiler much easier.

Revision 83435 - (view) (annotate) - [select for diffs]
Modified Tue Jul 6 21:32:15 1999 UTC (10 years, 4 months ago) by ben
File length: 9573 byte(s)
Diff to previous 83434 (colored)
More hooky stuff.

Revision 83434 - (view) (annotate) - [select for diffs]
Modified Mon Jul 5 13:00:45 1999 UTC (10 years, 4 months ago) by ben
File length: 9570 byte(s)
Diff to previous 83422 (colored)
Strawman hooks implementation (beginning of).

Revision 83422 - (view) (annotate) - [select for diffs]
Modified Fri Jul 2 18:22:27 1999 UTC (10 years, 4 months ago) by manoj
File length: 9468 byte(s)
Diff to previous 83398 (colored)
Use ap_new_connection in pthread MPM. This required adding an argument
to ap_new_connection for now: thread_num.

Revision 83398 - (view) (annotate) - [select for diffs]
Modified Tue Jun 29 09:00:25 1999 UTC (10 years, 5 months ago) by ben
File length: 9417 byte(s)
Diff to previous 83355 (colored)
New API for I/O layering, and dependency updates.

Revision 83355 - (view) (annotate) - [select for diffs]
Modified Sun Jun 20 23:09:53 1999 UTC (10 years, 5 months ago) by dgaudet
File length: 8573 byte(s)
Diff to previous 83350 (colored)
ap_mpm_graceful_stop -> ap_graceful_stop_signalled

Revision 83350 - (view) (annotate) - [select for diffs]
Modified Sat Jun 19 20:23:37 1999 UTC (10 years, 5 months ago) by ben
File length: 8567 byte(s)
Diff to previous 83349 (colored)
Compile on FreeBSD.

Revision 83349 - (view) (annotate) - [select for diffs]
Modified Fri Jun 18 23:34:59 1999 UTC (10 years, 5 months ago) by dgaudet
File length: 8586 byte(s)
Diff to previous 83343 (colored)
I'm sure this is wrong... but it's my start.  i/o layering.  Lots of stuff
disabled/still to be implemented.  This served up a few static requests.

Revision 83343 - (view) (annotate) - [select for diffs]
Added Fri Jun 18 18:39:23 1999 UTC (10 years, 5 months ago) by dgaudet
File length: 8513 byte(s)
Initial revision

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

apache@apache.org
ViewVC Help
Powered by ViewVC 1.1.2