Chris Pepper [Sun, 3 Dec 2000 16:44:09 +0000 (16:44 +0000)]
Cleaned "index.html" out of a bunch of <a href>s.
Quoted size in a bunch of <font>s.
Wrapped and fixed mismatched <p>s in index.html.en.
Wrapped and encoded > in index.html.it.
Ryan Bloom [Sat, 2 Dec 2000 07:15:32 +0000 (07:15 +0000)]
Note the patch submitted today by Jon Travis about cleaning up inet_ntoa.
This patch is waiting until IPv6 is settled, and we can really see what
we are left with. I don't want us to forget that inet_ntoa has thread-
safeness issues, so I am noting this patch here.
Ryan Bloom [Sat, 2 Dec 2000 07:08:12 +0000 (07:08 +0000)]
MPMs that require multiple segments of shared memory now just use two
shared memory blocks to ensure that all of the memory is available. This
removes the hack that added 80 bytes to each shared memory block. We
end up needing two apr_shmem_t variables, because it is difficult to
determine exactly how much memory will be needed. MM automatically tries
to align the shared memory allocations, so we either need to pad the
shared memory segments, or just use two different segments. This also
changes APR and MM to take into account whatever memory those packages
need to allocate when creating a shared memory segment. Any memory that
APR and MM need is automatically added to the size requested by the
program.
Greg Ames [Fri, 1 Dec 2000 21:31:47 +0000 (21:31 +0000)]
Use APR_LOCKALL in dexter and mpmt_pthread to serialize poll and accept. This
allows APR to optimize when a platform has locks that work for both threads and
processes.
Ryan Bloom [Fri, 1 Dec 2000 07:32:11 +0000 (07:32 +0000)]
Get Apache to use the new generated exports list. This works on my
Linux machine, but I am pretty sure there are going to be problems for
others. The idea here, is to be able to generate a list of the exported
functions from APR. This list needs to be correct, we can not list
functions that are not exported on the platform being built on. To
accomplish this, we generate a list of the exported symbols when we
configure APR. As a part of this list, we also include all of the
#if macros that surround those symbols. Apache then uses this list
of functions and macros to generate a file that refers to each of those
symbols. Because we have the macros, when we compile this file, the
compiler ignores any symbols that aren't valid on this platform.
XXX note that 1.3.13 grew the xmethods in some recent patch:
typedef struct {
table *action_types; /* Added with Action... */
char *scripted[METHODS]; /* Added with Script... */
array_header *xmethods; /* Added with Script -- extension methods */
} action_dir_config;
XXx seems like whoever applied needs to port forward to 2.0 :-)
Greg Stein [Wed, 29 Nov 2000 17:33:03 +0000 (17:33 +0000)]
Use "const char * const *" for process->argv (which is the correct
const-ness since we sometimes put "some string" in there, and also the CRT's
argv). propagate this change within http_main and mpm/winnt/ (also correct
some other const type usage within the MPM).
fix ab's call to parse_url() which removed a const to actually manipulate an
arg from the CRT's argv (indirectly via opt->arg). no idea how this has
avoided segfaulting.
clean up some really bad typedefs - and move one into mpm_winnt.c since
that's the only module remaining that needs it. Should be an apr type,
but we aren't using the apr accessors to handle them.
Ryan Bloom [Tue, 28 Nov 2000 23:07:01 +0000 (23:07 +0000)]
First step towards extracting the SSI handling from mod_include so that
it is extensible by modules
Submitted by: Paul J. Reder <rederpj@raleigh.ibm.com>
Reviewed by: Ryan Bloom
Ryan Bloom [Tue, 28 Nov 2000 21:31:51 +0000 (21:31 +0000)]
Split the hints file into two files, one in APR and one in Apache. The APR
hints file just sets build variables, the Apache hints file just sets
Apache variables. This is meant to clean up parts of APR, so that they
don't include Apache information.
Greg Stein [Tue, 28 Nov 2000 12:09:50 +0000 (12:09 +0000)]
add --with-dbm switch to configure, allowing the user to set the type of DBM
that apu_dbm will use (defaults to builtin sdbm). first pass at gdbm
config support (seems to work fine in my simple test).
- added src/lib/aputil/apu_private.h.in to hold aputil config info
- apu_dbm.c now uses #if for the config values (rather than #ifdef)
- cleared out temp hack in configure.in to force sdbm usage
Jeff Trawick [Mon, 27 Nov 2000 22:32:50 +0000 (22:32 +0000)]
Tweak the logic to avoid "make distclean" inside APR directories so that
it works on Tru64. On that platform, when grep failed (because we weren't
in an APR directory), the non-zero exit status failed the entire operation.
Greg Stein [Mon, 27 Nov 2000 22:30:34 +0000 (22:30 +0000)]
*) sprinkle a little magic "const" dust around (specifically, to compensate
for the prototype change to ap_os_create_privileged_process())
*) wrap some long lines
Jeff Trawick [Mon, 27 Nov 2000 16:32:45 +0000 (16:32 +0000)]
Always include lib/sdbm in INCLUDES (until somebody that can spell
lbi/aputil teaches the configure to be a little smarter). This
lets apu_dbm compile, which in turns lets us build httpd again.
Jeff Trawick [Mon, 27 Nov 2000 15:50:26 +0000 (15:50 +0000)]
use the APR feature test macro to check for sys/uio.h; it is the
only one defined and it is used in other Apache code;
this gets mod_rewrite to compile on RedHat 6.0 (and perhaps some
other systems)
Greg Stein [Mon, 27 Nov 2000 12:54:28 +0000 (12:54 +0000)]
*) make find_liveprop() hook take a dav_resource rather than "r"
*) repos.c: liveprop hooks shouldn't respond if the resource is not an FS
resource.
*) std_liveprop.c: use empty-elem form if value=="". return NOTDEF for the
properties that we aren't ready to insert yet
Greg Stein [Sun, 26 Nov 2000 15:27:33 +0000 (15:27 +0000)]
*) Put lib/aputil/ into the INCLUDES path
*) add a Makefile.in to test/ to help with building test programs (these are
not part of the build; just manual compiles right now)
*) add test/dbu.c as a quick test of apu_dbm
[ dbu.c originally came from the SDBM package ]
Greg Stein [Thu, 23 Nov 2000 12:50:31 +0000 (12:50 +0000)]
shift some processing of "core" WebDAV properties out of the generic
property handling code, and into a new, core liveprop handler.
*) add std_liveprop.c to deal with the core DAV properties
*) move DAV:resourcetype, DAV:supported-method-set,
DAV:supported-live-property-set, and DAV:supported-report-set over to the
new handler
*) props.c::dav_get_allprops() should not look in the deadprop database for
the DAV:resourcetype -- it is readonly, so should never be in there.
*) strip vsn_hooks from the propdb; only the core liveprops need it now
*) mod_dav.c: register the core liveprop hooks and URIs
*) fs/repos.c: stripped DAV:displayname and DAV:source, in favor of letting
the core handler deal with them.
Greg Stein [Thu, 23 Nov 2000 10:37:00 +0000 (10:37 +0000)]
More revamping of live properties. Focused around the fact that a provider's
hooks are only called if that provider defines the prop (e.g. NOTME return
values are no longer needed). Also refactored some code to simplify liveprop
management for providers (assuming they don't have "funny" stuff).
*) enumerate all known DAV properties (DAV_PROPID_* in mod_dav.h)
- use these in fs/repos.c rather than DAV_PROPID_FS_*
- will use in SVN and a second-round whack on the "core" props in props.c
*) refactor dav_fs_liveprop_name to dav_liveprop_spec and add a writeable
flag
*) add dav_liveprop_group to hold a number of "top-level" items to pass to
the new liveprop utility functions
*) add dav_do_find_liveprop() as a util for the find_liveprop hook function
- toss repos.c::dav_fs_find_prop
- use the new function for repos.c::dav_fs_find_liveprop
*) rebuild dav_register_liveprop_namespace() as a full "group" registration
which will handle all the namespaces in a liveprop provider. The new func
is called dav_register_liveprop_group().
*) add dav_get_liveprop_info() to look up liveprop info given a provider's
propid. used in dav_fs_insert_prop() and dav_fs_is_writeable()
*) fold dav_fs_insert_all() directly into dav_fs_insert_all_liveprops()
since the former wasn't called by anything else
*) rename var in dav_fs_insert_prop() to "global_ns" to clarify its purpose.
torch a couple out-of-date comments in there.
*) toss dav_prop_rw type and simplify is_writeable hook. fix up calling of
hook in props.c::dav_rw_liveprop(). dav_rw_liveprop() should also call
the provider *first*, if one has stated it is handling the property.
*) toss DAV_PROP_INSERT_NOTME since we can't call a provider's insert_prop
with somebody else's liveprop
*) remove DAV_IS_CORE_PROP() in props.c. a core prop is not defined by its
propid, but by provider==NULL. add comments to clarify when that happens.
*) fix sub-request creation to include new next-filter arg
Ryan Bloom [Wed, 22 Nov 2000 20:35:56 +0000 (20:35 +0000)]
Add the ability for apxs to install both libtool generated and non-libtool
generated shared objects.
Submitted by: Jon Travis <jtravis@covalent.net>
Reviewed by: Ryan Bloom
Ryan Bloom [Wed, 22 Nov 2000 19:49:20 +0000 (19:49 +0000)]
A complete re-write of mod_include. This has served the entire manual
now. This makes mod_include a filter that uses buckets directly.
Submitted by: Paul J. Reder <rederpj@raleigh.ibm.com>
Reviewed by: Ryan Bloom
Ryan Bloom [Wed, 22 Nov 2000 19:38:07 +0000 (19:38 +0000)]
Allow modules to specify the first module for a sub-request. This allows
modules to not have to muck with the output_filter after it creates the
sub-request. Without this change, modules that create a sub-request have
to manually edit the output_filters, and therefore skip the sub-request
output_filter. If they skip the sub-request output_filter, then we end
up sending multiple EOS buckets to the core_output_filter.
Joshua Slive [Wed, 22 Nov 2000 05:46:40 +0000 (05:46 +0000)]
A little more general MPM documentation.
Feeback welcome.
Note the comment at the bottom:
<!-- XXX: Needed here: a brief discussion or reference to instructions
on how to choose and load an MPM, how to figure out what MPM you are
currently using, and what MPMs are the defaults on various
platforms. -->