Ryan Bloom [Wed, 21 Feb 2001 19:07:21 +0000 (19:07 +0000)]
Close the accepted socket before creating the CGI process in mod_cgid.
This is safe, because we have already dup'ed the socket for the CGI
process itself. This change allows CGI processes to fork long-lived
child processes without affecting how quickly the response gets back
to the broswer.
Ryan Bloom [Wed, 21 Feb 2001 17:54:41 +0000 (17:54 +0000)]
Split the mod_dir fixup into two parts. The first determines if this
is a MOVED_PERMANANTLY response, and is done from the fixup. The second
is a handler that redirects to an index.html page.
Ryan Bloom [Wed, 21 Feb 2001 01:04:39 +0000 (01:04 +0000)]
Make mod_dir use a fixup for sending a redirect to the browser.
Before this, we were using a handler, which doesn't make much
sense, because the handler wasn't generating any data, it would
either return a redirect error code, or DECLINED. This fits the
current hooks better.
Submitted by: Ryan Morgan <rmorgan@covalent.net>
Ryan Bloom [Tue, 20 Feb 2001 20:50:09 +0000 (20:50 +0000)]
Migrate the threaded MPM to use all APR threading calls. This isn't quite
perfect yet, because of the sigwait and sigmask calls. Those are going
away next.
Roy T. Fielding [Tue, 20 Feb 2001 02:01:09 +0000 (02:01 +0000)]
Update APR macro usage to new name-protected names.
Replace REENTRANCY_FLAGS with direct use of THREAD_CPPFLAGS.
This is a temporary band-aid, since the way we currently set
the standard make vars (CFLAGS, CPPFLAGS, LDFLAGS, etc.) is
bogus and frequently redundant [to be fixed later].
Greg Stein [Sun, 18 Feb 2001 04:26:13 +0000 (04:26 +0000)]
- more ap_conf_vector_t fixup.
- break out the cmd_parms to ap_set_config_vectors to clarify/doc what is
happening in there and because the function operates independent of cmds.
Greg Stein [Sun, 18 Feb 2001 02:58:53 +0000 (02:58 +0000)]
*) Introduce "ap_conf_vector_t" type to assist with legibility and provide
some type safety. (unfortunately, our old "void*" is type-safe with the
new one, but over time we should be better)
*) Propagate the new type to all appropriate functions.
Ryan Bloom [Fri, 16 Feb 2001 22:08:12 +0000 (22:08 +0000)]
Make the threaded MPM use APR locks instead of pthreads mutexes. This is
the first step towards getting the threaded MPM to rely on APR for all of
it's threading needs.
Martin Kraemer [Fri, 16 Feb 2001 13:38:31 +0000 (13:38 +0000)]
Rename the module structures so that the exported symbol matches
the file name, and it is easier to automate the installation
process (generating LoadModule directives from the module filenames).
Next step is to remove the 4th argument to the APACHE_MODULE macro
completely and require people to use the matching names, and to
reduce the LoadModule directive to 1 argument.... Objections?
Ryan Bloom [Fri, 16 Feb 2001 05:53:41 +0000 (05:53 +0000)]
Remove all instances of apache_apr_flags="--enable-threads" from the
config.m4 files. If we leave those in, then Apache automatically
enables threads for all machines when a threaded MPM is chosen. We want
people to have to force threads for platforms that don't run threads
well (i.e. FreeBSD).
Ryan Bloom [Thu, 15 Feb 2001 19:22:02 +0000 (19:22 +0000)]
Fix the seg fault in mod_status.c. This changes the up_time to an
interval_time. The segfault is caused by apr_vformatter not understanding
%lld, so we also had to change that to %qd, which solves that problem.
Bill Stoddard [Wed, 14 Feb 2001 21:05:36 +0000 (21:05 +0000)]
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!
David Reid [Tue, 13 Feb 2001 20:53:13 +0000 (20:53 +0000)]
This is a huge change that gets beos building again. Essentially it
- tidies up some of the formatting
- gets us working with mod_status
- uses the newer naming I've used in the headers to try and be more obvious
- uses a UDP socket for telling the server when to stop/restart. This isn't
perfect but as pre-BONE we don't have the ability to select on a pipe this
seemed like the next best option. This seems to work well for stopping,
but so far restarts don't. This will need some more security adding to it
I think.
If I ever wanted a lesson in not keeping something on my HDD too long before
committing this update has been it. Really should try and keep up a bit more :)
Ryan Bloom [Tue, 13 Feb 2001 20:30:19 +0000 (20:30 +0000)]
Remove the dexter MPM. This has been replaced with the Perchild MPM.
The two MPMs are basically identical, except that Perchild also allows
each child process to have a unique uid/gid combination.
Ryan Bloom [Mon, 12 Feb 2001 23:37:58 +0000 (23:37 +0000)]
Don't disable threads just because we are using the prefork MPM.
If somebody wants to compile without threads, they must now add
--disable-threads to the configure command line. [Ryan Bloom]
Bill Stoddard [Mon, 12 Feb 2001 23:00:24 +0000 (23:00 +0000)]
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.
Jeff Trawick [Mon, 12 Feb 2001 21:03:35 +0000 (21:03 +0000)]
include <arpa/inet.h> for the declarations for htons() et al; OS/390 has
macros in arpa/inet.h which turn such "calls" into nothing and does not
have functions to link against in libc
Ryan Bloom [Mon, 12 Feb 2001 18:48:00 +0000 (18:48 +0000)]
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.
Jeff Trawick [Mon, 12 Feb 2001 15:44:36 +0000 (15:44 +0000)]
string.h needs to be included before monkeying around with strchr et al,
since some system header files do their own monkeying around with those
functions in ways that don't get along with us unless we include their
definitions first
Greg Stein [Mon, 12 Feb 2001 02:49:56 +0000 (02:49 +0000)]
*) remove some obsolete/unused defines from httpd.h.
*) remove DEFAULT_XFERLOG from main.c; it is never set/used
*) move ap_get_max_daemons() to ap_mpm.h
*) move DEFAULT_LISTENBACKLOG to mpm_common.h
Greg Stein [Mon, 12 Feb 2001 02:42:10 +0000 (02:42 +0000)]
*) include the strings stuff the right way (some platforms use string.h;
apr_want figures all that out for us)
*) include ap_mpm.h to pick up a moved func declaration
Greg Stein [Mon, 12 Feb 2001 02:39:24 +0000 (02:39 +0000)]
write these in terms of strchr and strrchr so the compiler can possibly use
builtin, optimized functions.
[ they're stupid functions, but what the hell ]
Ryan Bloom [Sun, 11 Feb 2001 20:19:41 +0000 (20:19 +0000)]
Clean up the mod_tls configure process. This should remove most, if not
all, of the hand-editing required to make mod_tls compile. I have also
updated the README to reflect the current process. I have also noted that
we require OpenSSL 0.9.6 to compile. I am getting all sorts of warnings
from the OpenSSL header files, and I get a single error from the OpenSSL
libraries, but I am assuming that is a problem with my configuration,
not the mod_tls code.