Ryan Bloom [Wed, 1 Mar 2000 16:21:21 +0000 (16:21 +0000)]
Add a test program for pipes. Add support for non-buffered CGI's to mod_cgi.
This still doesn't terminate CGI's after a time limit, that's the next step.
Ken Coar [Mon, 28 Feb 2000 13:42:23 +0000 (13:42 +0000)]
Some Apache users are nervous about the version number (e.g.,
"Apache/1.3.11") in the Server: version string -- so add a
new ServerTokens keyword that displays just the product name
with no version (i.e., "Apache").
Bill Stoddard [Wed, 23 Feb 2000 15:37:37 +0000 (15:37 +0000)]
2.0 builds, but dumps core on FreeBSD 3.3 (ap_lock).
Basically, ap_initialize() needs to get called before create_process(),
since create_process() passes op_on structure to semop() to get a lock, but
op_on isn't initialized until ap_initialize() calls setup_lock(). Here is
a slight rearrangement to main() which calls ap_initialize() earlier...
Submitted by: Jeff Trawick <trawick@us.ibm.com>
Reviewed by: Bill Stoddard <stoddard@us.ibm.com>
Bill Stoddard [Mon, 21 Feb 2000 16:41:41 +0000 (16:41 +0000)]
Make file I/O and network I/O writev/sendv APIs consistent.
Eliminate use of ap_iovec_t and use Posix struct iovec. I never
did hear a case (much less a strong case) supporting the need
for ap_iovec_t, so out it goes.
Documentation fixes do not harm anyone, so I feel free to commit this
English cleanup to the mod_rewrite documentation although we're in code
freeze state. But we should now really kick out the 1.3.12 baby. We're
already behind the proposed dates...
Submitted by: G.W. Haywood <ged@jubileegroup.co.uk>
Reviewed by: Ralf S. Engelschall
Bill Stoddard [Fri, 18 Feb 2000 02:53:12 +0000 (02:53 +0000)]
Have seperate variable on ap_writev to set the number of iovecs passed in
and pass back the number of bytes written. Use ap_iovec_t on the call rather
than struct iovec (I may reverse this tomorrow :-). Whatever we do, the network_io
and file_io calls need to use iovecs consistently, which isn't the case now.
Bill Stoddard [Thu, 17 Feb 2000 19:03:52 +0000 (19:03 +0000)]
Update Windows ap_filedup() call to recognise when it is asked to dup2
a standard i/o handle. Return error if the dup2 handle is not one of the
standard i/o handles (because Windows does not support a dup2 style function
to operate on native file handles)
Bill Stoddard [Wed, 16 Feb 2000 21:21:51 +0000 (21:21 +0000)]
Make sure mod_mime always has a chance to run before mod_mime_magic.
Submitted by: Paul Reder <rederpj@raleigh.ibm.com>
Reviewed by: Bill Stoddard <stoddard@raleigh.ibm.com>
Ryan Bloom [Wed, 16 Feb 2000 00:55:51 +0000 (00:55 +0000)]
Fix the make clean rules. We must delete *.slo files or we are leaving stale
libraries in the modules/standard directory when configured for dynamic
modules.
Bill Stoddard [Tue, 15 Feb 2000 22:51:23 +0000 (22:51 +0000)]
ap_dupfile (specifically dup2) is not available in a general form under Windows.
So use SetStdHandle directly. A single call to ap_dup2stderr() (or similar) could
replace the entire chunk of code in the #ifdef #else #endif block. Ryan didn't
want to put this speciality function into APR, but we could put it into os.c
if folks are interested.
Bill Stoddard [Tue, 15 Feb 2000 21:20:39 +0000 (21:20 +0000)]
Don't close the duplicated AcceptEx completion port handle in the parent.
Check the return code when duplicating the acceptex completion port.
Get rid of the event routine wrappers.
Bill Stoddard [Tue, 15 Feb 2000 00:54:06 +0000 (00:54 +0000)]
First step to get piped logs working on Windows (and Unix as well).
There are still all kinds of problems in http_log.c. This patch just
barely scratches the surface.
Bill Stoddard [Mon, 14 Feb 2000 22:01:08 +0000 (22:01 +0000)]
Rework the code to handle apache -k shutdown|restart. The fundamental problem
being solved here is determining the best way to discover the Apache
parent process PID (stored in the location specified by the PidFile directive).
This patch attempts to read the config file directly to determine the
pidfile and avoids going through the motions of calling all the module initialization
routines.
This patch will not work if the pidfile directive is in a file pointed to by
an include directive. Not sure is this is a common case or not on Windows.
If it is, it is easy enough to add a bit more code to follow include
directives. An interesting modification would be to detect the presence of a \
-C directive containing a pointer to the pidfile: E.g.,
apache -k restart -C "pidfile d:/mypidfile". Let's keep it simple for now and
see what happens.
Make sure we don't receive another PR where a user tried to take the
solutions exactly as written down without noticing that they usually
always have to be adjusted for local contexts.
Ryan Bloom [Wed, 9 Feb 2000 01:33:24 +0000 (01:33 +0000)]
Fix prefix handling. Before this patch, when using --prefix on the
configure line, the binary ignored it when setting HTTPD_ROOT. This
patch fixes that problem.
David Reid [Mon, 7 Feb 2000 12:05:22 +0000 (12:05 +0000)]
These changes allow the MPM to be selected based on platform. At present it
works for BeOS but adding others shouldn't be hard. Also added the OS2
MPM to the list.
Jim Jagielski [Sat, 5 Feb 2000 00:33:18 +0000 (00:33 +0000)]
Try to reduce confusion over multiple and possible "conflicting"
versions of the term "default" by changing AddDefaultCharset to
be of the mode Off | On | charset
PR:
Obtained from:
Submitted by:
Reviewed by:
Ryan Bloom [Thu, 3 Feb 2000 19:38:08 +0000 (19:38 +0000)]
APR requires that ap_initialize is called as one of the first functions.
It sets up the rest of the APR types. This was causing lockups whenever
we tried to us an APR lock.
Jim Jagielski [Thu, 3 Feb 2000 14:22:26 +0000 (14:22 +0000)]
Streamline the AddDefaultCharset directive. Now this one directive
controls the entire 'charset' specification setup. If there is
heartburn, I have no trouble with backing this out, but it makes
live easier for those not using the "default" charset, and reduces
directive bloat a bit :)
PR:
Obtained from:
Submitted by:
Reviewed by: Martin
Bill Stoddard [Tue, 1 Feb 2000 21:05:45 +0000 (21:05 +0000)]
This patch is sure to break someone!
We need to define MODULE_VAR_EXPORT, API_EXPORT, API_VAR_EXPORT, et. al.
in an os specific way and the definitions need to be done as soon as possible
in the include file chain. I choose to use os.h as the preferred mechanism
for doing this (for now anyway) since this is they way it was done for
Apache 1.3. win32/os.h and unix/os.h probably have some Apache private macro
definitions that are being exposed publicly because of this patch. The solution
to this problem is to remove the private definitions from os.h.
Bill Stoddard [Tue, 1 Feb 2000 00:34:05 +0000 (00:34 +0000)]
Finally, back working on the MPM... Eliminate DOS hole. I can see no easy way
to time out AcceptEx (a.k.a., accept_and_receive) when a connection is received
but no data is sent. So, make AcceptEx just do an accept and leave the receive
to the other Apache code.
Bill Stoddard [Thu, 27 Jan 2000 05:58:00 +0000 (05:58 +0000)]
More sendfile work. Use new sendfile API in Apache, update Windows MPM
to begin using APR socket API.
Note:
sendfile on Unix side is broken. Need to detect for NULL hdtr. I'll do
it later this week if no one else steps up.
Ryan Bloom [Wed, 19 Jan 2000 02:42:17 +0000 (02:42 +0000)]
Manoj has been pushing for this for a while, but I've been too dense
to understand that he was right. :-) Basically, this makes the modules
use ap_config to test for header file inclusion. This method is not to
be used for larger modules that run autoconf theirselves. Including
ap_config is only valid for modules which rely on Apache to do their
configuration. Currently, this is only the core modules.
Ryan Bloom [Wed, 19 Jan 2000 01:16:31 +0000 (01:16 +0000)]
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
Ryan Bloom [Tue, 18 Jan 2000 23:41:56 +0000 (23:41 +0000)]
This is a huge change to the configure system. Basically, this name space
protects most, if not all, of the Apache macros. This has been tested on
Linux using all of the Unix MPM's. The biggest push was that Apache's
httpd.h header file can no longer include the ap_config.h file. Most of the
other files include this themselves now.
Submitted by: Ryan Bloom and Manoj Kasichainula