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.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94304 13f79535-47bb-0310-9956-ffa450edef68
of Jeff Trawick's style changes to the first patches. Doesn't include
the fixes to ssl [more complex], and we won't trap errors that involve
ap_serverroot, since we presume that was normalized on the way in.
Therefore, testing ap_server_root_relative(DEFAULT_FOO) cases
should never become necessary.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93965 13f79535-47bb-0310-9956-ffa450edef68
compiled and linked.
* there is no UNIX symbol, so go back to #ifndef WIN32. that other
platforms can pile on as needed until we have a proper mechanism.
* reinstate the liveprop callbacks and the dav_hooks_liveprop_fs
structure. since the latter structure is referred to elsewhere in
the file, it better be defined.
* use a "feature" name of DAV_FS_HAS_EXECUTABLE rather than
conditionally specifying the property. convert the tests over to
that symbol.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93012 13f79535-47bb-0310-9956-ffa450edef68
platforms fixes done by wrowe).
* dav_fs_get_parent_resource(): return NULL if we're at the root of
the URL (Location) space.
* dav_fs_dir_file_name(): make it return an error, in case we're
passed a bad path. adjusted callers [who just ignore it for now]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93009 13f79535-47bb-0310-9956-ffa450edef68
Divorce dav_fs from the DAV_PROPID_FS_executable property at the
very head of this module, and drop all references as soon as we
determine that 'our property' isn't supported.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93005 13f79535-47bb-0310-9956-ffa450edef68
* eliminate the get_pathname and free_file vtable functions. add the
deliver() function to have the provider deliver the content
straight into a filter [stack].
* eliminate readable streams -- they are now obsolete. this gets rid
of the read_stream vtable function and DAV_MODE_READ*
* implement a deliver() function for the FS provider. this simply
constructs a bucket and EOS and shoves them into the filter. note
that this is debug code only, so the "large file" issue handled by
the core's default handler doesn't count here.
* allow the provider to handle GET for any resource type and for
collections. this moves the checks into the provider.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92848 13f79535-47bb-0310-9956-ffa450edef68
mod_so, mod_win32 and the winnt mpm] into individual loadable
modules, so the administrator may individually disable the former
compiled-in modules by simply commenting out their LoadModule
directives. [William Rowe]
*) Saved Win32 module authors and porters many future headaches, by
duplicating the appropriate .h files such as os.h into the include
directory, including in the build tree. [William Rowe]
Also noticed that version stamp resources weren't generated for proxy
modules, this too is now fixed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92804 13f79535-47bb-0310-9956-ffa450edef68
providers. The old API was really based on how the FS stored properties, but
sucked for other types of providers (SQL databases, Subversion, etc). This
new code is overall much cleaner as it moves from a DBM style API to one
tuned for actual mod_dav operation; it also more flexible/clearer for future
improvements (e.g. dropping props directly to the wire rather than buffering
in memory).
This new API allows the provider to better define namespace handling during
the output of the values, how values are serialized and stored, the mapping
between elements' namespaces and the internalized namespace storage, a
clearer mechanism for naming properties (dav_prop_name), and an explicit
rollback mechanism to deal with PROPPATCH atomicity.
Updated the FS provider (fs/dbm.c) to the new API, mostly by moving code
from main/props.c. Of course, with the new semantics, some big changes in
the namespace mapping were made.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91065 13f79535-47bb-0310-9956-ffa450edef68
apr_datum_t (the two are equivalent).
Expose some of the DAVFS' internal DBM cover functions and have the locking
code use them directly, rather than thru the vtable. That vtable will be
changing shortly, so this shift is needed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91064 13f79535-47bb-0310-9956-ffa450edef68
Program Database (from Program Database for Modify on the fly debugging).
The net effect of this patch is to clean up all of the irrelevant entries
associated with either the debugging or release command line switches, and
generally straighten the projects as they would be exported from VC6/SP5.
The outcome of this patch is that VC5 users -should- be able to load and
build the workspace without any errors (as they used to have no symbols
database at all, the /ZI option doesn't work, they had to use cvtdsp.pl
to toggle these to /Zi.)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90269 13f79535-47bb-0310-9956-ffa450edef68
the dav/main config.m4. This script should make sure that dav is enabled
before turning on dav/fs, but I leave that for somebody else to do.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88828 13f79535-47bb-0310-9956-ffa450edef68
1) mismatches between printf format strings and arguments
2) wrong type for last parm to ap[r]_xml_to_text
3) missing time.h decls
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88603 13f79535-47bb-0310-9956-ffa450edef68
references using build/fixwin32mak.pl, and the latest #if APR_HAVE_FOO_H
fixes apparently worked, now that they no longer appear as dependencies
[which had broken the build entirely.]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88336 13f79535-47bb-0310-9956-ffa450edef68