Ryan Bloom [Sun, 21 Jan 2001 05:26:45 +0000 (05:26 +0000)]
Back out the last change (the one that went in without a commit log)
I thought this change was necessary to stop reporting the SERVER_VERSION
twice. In reality, the apr_hook_deregister_all() call in
ap_clear_module_list solved that problem.
Ryan Bloom [Sun, 21 Jan 2001 05:21:32 +0000 (05:21 +0000)]
Add a call to apr_hook_deregister_all() in the clear_module_list function.
The basic problem was that when we load the modules, we call the
register_hooks() function from the module, but then we clear the module
list for all active modules, and add them back in one at a time. When we
add them back, we re-call the register_hooks() function, thus adding
each function a second time. This was causing apache.org to log every
request twice in the access log. By calling apr_hook_deregister_all()
when we unload the module, the second call to register the hooks is the
only call that matters.
The changes required for the APR_FINFO_wanted argument to
apr_stat/lstat/getfileinfo. These are -NOT- optimal, they
are simply the required changes to get the server working.
The size of the patch is a warning about how we need to
really look at what we are trying to accomplish with all
of these stat/lstat calls.
Ryan Bloom [Sat, 20 Jan 2001 06:05:15 +0000 (06:05 +0000)]
Move initgroupgs, ap_uname2id and ap_gname2id from util.c to
mpm_common.c. These functions are only valid on some platforms,
so they should not be in the main-line code.
These functions are also not portable to non-unix platforms, so they don't
really belong in APR. Since they are only used in MPMs, for right now,
I am moving them to mpm_common.c
Ryan Bloom [Sat, 20 Jan 2001 05:18:06 +0000 (05:18 +0000)]
Remove ap_chdir_file. This function is not thread-safe, and nobody
is currently using it. The proper way to do this, is to use the
apr_create_process API.
Joshua Slive [Fri, 19 Jan 2001 19:44:45 +0000 (19:44 +0000)]
Remove the direct links to the Apache web site from the welcome pages
so that all the clueless people of the world can find someone else
to complain to about their missing porn site.
Ryan Bloom [Fri, 19 Jan 2001 17:19:51 +0000 (17:19 +0000)]
Stop checking to see if this is a pipelined request if we know
for a fact that it isn't. Basically, if r->connection->keepalive == 0.
This keeps us from making an extra read call when serving a 1.0
request.
Submitted by: Ryan Bloom and Greg Stein
Greg Ames [Fri, 19 Jan 2001 16:02:54 +0000 (16:02 +0000)]
updated to work with either prefork or the pthread mpms.
I've been using specialized versions of this for ages. Time to commit it.
If nobody objects, I'd like to rename it highperformance-std.conf, so
make install will find it and do Good Things.
PR:
Obtained from:
Submitted by:
Reviewed by:
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.
When is a void fn(void) not a void fn(void)? It's a win32'ism, since
the APR_DECLARE (excluding _NONSTD) uses the pascal convention. Really
irrelevant in a function that never needs to clean up (atexit), but
the compiler complains. Possible workarounds, but that would break
non-c lanaguge code from linking into apr.
Tony Finch [Thu, 18 Jan 2001 22:36:58 +0000 (22:36 +0000)]
Bring forward from 1.3:
I broke mod_rewrite by modifying strings in place when expanding them,
because variable lookups can cause subrequests which cause mod_rewrite
to do its stuff again including an expansion on the same string, which
is then syntactically invalid. So copy the lookup keys somewhere else
before using them in such a way that may cause recursion.
In addition to this, my parser could also be confused by complicated
nested rewrite map expansions like ${map1:${map2:key|dflt}|dflt} so
fix that too by keeping track of {} when looking for |.
This change eliminates the intermediate httpd.lib from the build of
libhttpd.dll - it was required for the support applications to avoid
linking to the libhttpd.dll, but those functions have all moved to
apr and apr-util.
This change also prepares us to eliminate libhttpd.def once all of the
appropriate AP_DECLARE tags are assigned.
Joshua Slive [Thu, 18 Jan 2001 19:42:15 +0000 (19:42 +0000)]
Add html versions of unix man pages. Clearly, some of the man pages
have not been updated for 2.0. I will regenerate these html files
after the man pages are updated.
Provide apr_pool_t arg to register_hooks, since anything they do in that
step -must- be done with a pool that will not outlive the cmd pool, from
which they may have been dynamically loaded.
This needs further review, it's committed only as a stopgap for those
who's builds I broke, sorry. Review tbc late this evening.
Provide apr_pool_t arg to register_hooks, since anything they do in that
step -must- be done with a pool that will not outlive the cmd pool, from
which they may have been dynamically loaded.
Jeff Trawick [Fri, 12 Jan 2001 14:28:17 +0000 (14:28 +0000)]
open_postfile():
fix some return codes along the lines of OtherBill's comment
fix some bad conditional logic for when to check if we read the
wrong number of bytes
Greg Stein [Fri, 12 Jan 2001 12:18:10 +0000 (12:18 +0000)]
Fix a problem found by Ryan when deleting collections, which triggered an
underlying (broad) bug. dav_add_response() was assuming the walk params were
a dav_walker_ctx. During the walker cleanup in Nov00, that assumption was
removed, so response errors that occurred in the cleaned sections (such as
dav_fs_delete_resource) could trigger a segfault.
Solution: add a pool to dav_walk_resource and alter dav_add_response to use
that, rather than assume the ctx is a dav_walker_ctx.
[ note there is also a pool in dav_walk_resource.resource, but that pool is
associated with the *resource* rather than the process of walking, so we
introduced another field. currently they are the same, however. ]
Ryan Bloom [Fri, 12 Jan 2001 00:56:13 +0000 (00:56 +0000)]
Stop using environment variables to set ONE_PROCESS and NO_DETACH. Now
we use the -D command line argument to Apache to configure these
options.
Submitted by: Greg Stein
Jim Jagielski [Thu, 11 Jan 2001 19:25:29 +0000 (19:25 +0000)]
Begining stub of NONAC_LDFLAGS and NONAC_CFLAGS stuff.
First of all, avoid re-adding values to the various hints
each time called (not a problem now, but could be later).
Then build up CFLAGS/LDFLAGS during Makefile generation.
Bill Stoddard [Thu, 11 Jan 2001 18:50:09 +0000 (18:50 +0000)]
It is not sufficient to reset the file pointer before each call to ap_send_fd. A better solution
is to make certain that only apr_sendfile() will be used to send content with a cached file handle.
This assumes that apr_sendfile() should not rely on the position of the file pointer. I suspect that
sendfile implementations that rely on the position of the file pointer are broken and we should not
use sendfile on those platforms.
Ryan Bloom [Tue, 9 Jan 2001 19:28:33 +0000 (19:28 +0000)]
Fix a compile break with the new APR libtool setup. Basically, we are
using a libtool library from MM, but it isn't getting linked into the
Apache executable, so we fail the link stage. This makes APR
publicize the libtool libraries that it uses, so that Apache can link
them in.