1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-26 19:01:35 +03:00
Commit Graph

211 Commits

Author SHA1 Message Date
Cliff Woolley
3e2ce19baf BUCKET FREELISTS
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
2002-03-29 08:17:26 +00:00
Sander Striker
b2bb3f6764 Update callers of apr_explode_gmt to apr_time_exp_gmt. The
function was renamed in apr.

Submitted by: Thom May <thom@planetarytramp.net>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94081 13f79535-47bb-0310-9956-ffa450edef68
2002-03-21 10:10:41 +00:00
Bill Stoddard
d5c24720dc Commit 1 of 2 to:
1. rename ap_rset_content_type to ap_set_content_type
2. reverse the arguments on the call to aligh with ap_set_content_length


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94056 13f79535-47bb-0310-9956-ffa450edef68
2002-03-20 17:41:55 +00:00
Bill Stoddard
470edb9dd8 First commit to introduce accessor function to set r->content_type..
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94027 13f79535-47bb-0310-9956-ffa450edef68
2002-03-20 01:58:47 +00:00
Greg Stein
b9514876c3 The underlying change here was to add the new WebDAV/DeltaV methods
now that it has an RFC. At the same time, I revamped a good chunk of
the name <-> number mapping code in http_protocol.c

* add M_FOO constants for the new RFC 3253 (DeltaV) methods. label
  where each of the builtin methods comes from.

* moved METHOD_NUMBER_FIRST/LAST from http_protocol.h into
  http_protocol.c since they weren't used anywhere else and they
  weren't namespace-protected.

* create register_one_method() and use it to insert all builtin
  methods (at _init() time) and extended methods into the registry.

* add a lookup_builtin_method() to quickly map a method name to a
  builtin method number.

* rebuild ap_method_number_of() to use the new lookup function.

* revamp ap_method_name_of() to use the registry to locate the name
  for any method number. add a pool argument (no callers in the core
  code needed to be updated)

* revamp make_allow() to deal with the new method numbers and all
  extended methods.

* in mod_dav, use the new method numbers rather than registering the
  DeltaV methods.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94015 13f79535-47bb-0310-9956-ffa450edef68
2002-03-19 10:11:33 +00:00
Greg Stein
f39844f2e6 Change the REPORT handling APIs to deliver the content directly into
the filter stack, rather than buffering everything into memory(!).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94003 13f79535-47bb-0310-9956-ffa450edef68
2002-03-18 22:25:01 +00:00
William A. Rowe Jr
65a37752ec Eliminate potential ap_server_root_relative segfaults, with the input
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
2002-03-16 18:26:58 +00:00
Bradley Nicholes
5fe463a540 Import file for NetWare
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93938 13f79535-47bb-0310-9956-ffa450edef68
2002-03-14 21:10:22 +00:00
Roy T. Fielding
845cbfd508 Update our copyright for this year.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93918 13f79535-47bb-0310-9956-ffa450edef68
2002-03-13 20:48:07 +00:00
Greg Stein
987b098777 * mod_dav.c (dav_handle_err): look through the error stack for some
kind of errortag.  any buried errortag is better than a generic
    response.

Submitted by: Ben Collins-Sussman <sussman@collab.net>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93786 13f79535-47bb-0310-9956-ffa450edef68
2002-03-08 01:22:20 +00:00
Sander Striker
fc9cd645c6 Big style patch.
Mostly detab, but also changed some comments from:
/*
**
*/

to:

/*
 *
 */

The latter is the dominant style in apache.  The only
other places they can be found (AFAIK) are mod_ssl and
mod_rewrite.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93773 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 19:53:31 +00:00
Ian Holsman
da35725071 apr-utils rename apr_ansi_time_to_apr_time and
apr_exploded_time_t.

PR:
Obtained from:
Submitted by:	Thom May <thom@planetarytramp.net>
Reviewed by:	Ian Holsman


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93733 13f79535-47bb-0310-9956-ffa450edef68
2002-03-06 17:55:38 +00:00
Bradley Nicholes
e6d10bff2d Switching from a project build file to GNU make files
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93665 13f79535-47bb-0310-9956-ffa450edef68
2002-03-01 22:21:25 +00:00
Greg Stein
317cd14108 Give mod_dav the ability to output both standard and customized
<D:error> responses.  It's crucial for marshalling svn error messages
back over to the client; and someday it will be needed to return
specific <DAV:> errors as dictated by the DeltaV spec.

* mod_dav.h (dav_error): add two new fields -- an optional error
    namespace, and an error-tag-name.  Remove the 'delayed computation'
    function and cxt ptrs in this struct;  they were never used.

  (dav_new_error_tag):  new alternative constructor that takes new
    fields.

* util.c (dav_new_error_tag):  implement constructor.

* mod_dav.c (dav_error_response_tag):  new function to output
    'standard' xml error response based on error struct.

  (dav_handle_err): if no multistatus response is passed in, and if an
    error-tag is defined, then call our new xml-output routine.

Submitted by: Ben Collins-Sussman <sussman@collab.net>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93651 13f79535-47bb-0310-9956-ffa450edef68
2002-03-01 03:25:49 +00:00
Greg Stein
06fc145f72 Get rid of the DAVParam support. That was a concept to help out
mod_dav providers in the 1.0.x series. Nowadays, the providers are
full-fledged Apache modules and can define their own directives and
set up per-server and per-directory parameters. (for example,
mod_dav_fs and the DAVLockDB directive)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93348 13f79535-47bb-0310-9956-ffa450edef68
2002-02-09 01:57:38 +00:00
Greg Stein
11fd7f61e8 APR might not return everything we're asking for. Let that slide...
Submitted by: Kenny Sy <itc_kennysy@hotmail.com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93049 13f79535-47bb-0310-9956-ffa450edef68
2002-01-27 12:39:25 +00:00
Greg Stein
b1e2262cff Fix some serious, hard-core breakage :-( I don't even know how it
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
2002-01-25 00:17:31 +00:00
Greg Stein
a3a951a576 Some extra tweaks to the DAV code file/path handling (to continue the
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
2002-01-24 23:11:27 +00:00
William A. Rowe Jr
883384fb1a The clean solution.
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
2002-01-24 17:04:42 +00:00
William A. Rowe Jr
3e7735a5ec If you only mean to ask one question, why ask a dozen?
Submitted by:	Greg Stein


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93000 13f79535-47bb-0310-9956-ffa450edef68
2002-01-24 15:31:31 +00:00
William A. Rowe Jr
33d15cf0b9 Omitted this argument and const'ness. All looks well now.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92999 13f79535-47bb-0310-9956-ffa450edef68
2002-01-24 15:27:46 +00:00
William A. Rowe Jr
c7b3faf368 Cause dav_fs_get_parent_resource to fail if the file path is entirely
invalid or incomplete, or if it is root [determined by the platform's
  apr implemention].  Identified by Greg Stein.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92998 13f79535-47bb-0310-9956-ffa450edef68
2002-01-24 15:23:58 +00:00
Jeff Trawick
5ec0e43963 set the variable before looking at it
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92988 13f79535-47bb-0310-9956-ffa450edef68
2002-01-23 20:55:10 +00:00
William A. Rowe Jr
da1c1e7323 Eliminate a large number of Win32-isms. In large part, these can apply
to other one-off platforms such as OS2, and immediately impact a new port
  which played by all the APR rules.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92983 13f79535-47bb-0310-9956-ffa450edef68
2002-01-23 18:28:05 +00:00
Greg Stein
710eb1ccd4 dav_xml_get_cdata() is an exported function, so mark it as such with
the DAV_DECLARE macro. [ Barry Pederson <barryp@yahoo.com> ]

Apache's handling of ports is broken. Temporarily disable the port
checking in the Destination: header. [ Greg Stein ]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92971 13f79535-47bb-0310-9956-ffa450edef68
2002-01-22 19:00:22 +00:00
Greg Stein
9c1b8fe015 If the provider returns an error, then we should propagate it (rather
than override it with HTTP_INTERNAL_SERVER_ERROR).

The specific case observed was a provider issuing a redirect.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92937 13f79535-47bb-0310-9956-ffa450edef68
2002-01-20 03:17:12 +00:00
Greg Stein
a065e197e4 Revamp how mod_dav asks its provider to generate a GET response.
* 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
2002-01-14 13:43:24 +00:00
William A. Rowe Jr
aff1454d34 *) Split all Win32 modules [excluding the core components mod_core,
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
2002-01-10 08:47:23 +00:00
Greg Stein
e312a3c306 Fix how mod_dav examines methods in the request -- use the method number
from the request. To do this, we also need to register all of the new/custom
methods that mod_dav recognizes.

Note: this fixes a bug where a method (e.g. REPORT) would appear in a
Limit(Except) directive and Apache would register the method. The method
number in the request would then be something *other* than M_INVALID, which
threw off mod_dav's tests.

Submitted by: Sander Striker <striker@apache.org>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92764 13f79535-47bb-0310-9956-ffa450edef68
2002-01-07 22:36:15 +00:00
Victor J. Orlikowski
8672f1c7bb Remove old kludge for AIX, since the rtl flags handles this nicely now.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92505 13f79535-47bb-0310-9956-ffa450edef68
2001-12-17 23:34:35 +00:00
Ian Holsman
86b792b21c Modify post_config hook so that it can return a error,
causing the server not to start.
previous method was to call exit(1) which would not fail
gracefully

PR:
Obtained from:
Submitted by:
Reviewed by:	(Idea only Jeff Trawick)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92144 13f79535-47bb-0310-9956-ffa450edef68
2001-11-23 16:35:22 +00:00
Greg Ames
04054671f1 include the appropriate header files for ntohs and htons to prevent
OS/390 build failures.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92095 13f79535-47bb-0310-9956-ffa450edef68
2001-11-21 18:09:27 +00:00
Ian Holsman
eea38d7c2e This patch changes the apr_table_elts macro so that it provides
access to the internals of an apr_table_t via a const pointer
instead of the current non-const pointer.


Submitted by:	Brian Pane <BPane@pacbell.net>
Reviewed by:	Ian Holsman


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91860 13f79535-47bb-0310-9956-ffa450edef68
2001-11-11 22:31:04 +00:00
Greg Stein
6c14efd9c8 Don't change the type of the new resource. The provider will update it
when the copy/move takes place.

Specifically, the new location might imply a different type from the
original, so updating the type is bad mojo. In the observed case, a
resource was copied into a working collection; the type of the new
resource is supposed to be WORKING. Copying the type would be wrong if
the source was REGULAR.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91732 13f79535-47bb-0310-9956-ffa450edef68
2001-11-02 19:25:50 +00:00
Greg Stein
3c43502494 Get rid of some byterange handling code; it doesn't apply in Apache 2.0.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91374 13f79535-47bb-0310-9956-ffa450edef68
2001-10-09 00:48:51 +00:00
Greg Stein
900a4ce759 Don't set r->status_line. Apache uses that in preference to any other status
line, thinking we've set a custom status. Of course, it says "200 OK" no
matter what error we happen to return(!).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91372 13f79535-47bb-0310-9956-ffa450edef68
2001-10-08 23:10:37 +00:00
Greg Stein
eb8af5844e Simplify dav_propdb_define_namespaces(); since we're putting the value in
the pool (now), forget the stack-based buffer altogether.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91067 13f79535-47bb-0310-9956-ffa450edef68
2001-09-18 08:40:25 +00:00
Greg Stein
6585f132a5 Revamp the API that mod_dav uses to talk to back end deadprop (propdb)
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
2001-09-18 04:09:19 +00:00
Greg Stein
110091997c Now that we have apr_datum_t, convert some uses of dav_datum over to
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
2001-09-18 03:55:41 +00:00
Greg Stein
cda0c40674 Need to store the pool into the xmlns structure.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91063 13f79535-47bb-0310-9956-ffa450edef68
2001-09-18 03:46:13 +00:00
Greg Stein
184f20d86e Add an opaque datatype for managing a set of XML namespace declarations.
Part of an upcoming propdb API improvement.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91004 13f79535-47bb-0310-9956-ffa450edef68
2001-09-11 12:29:28 +00:00
William A. Rowe Jr
f0362ccc07 Toggle the /Zi flag to allow all supportd versions of VC (5, 6, 7) to
build 'out of the box' in debugging mode.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90686 13f79535-47bb-0310-9956-ffa450edef68
2001-08-26 05:21:50 +00:00
William A. Rowe Jr
b977a59852 Canonicalization will now occur on all sub_req_lookup_file() calls,
and the ap_server_root_relative() will handle canonicalization as well.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90566 13f79535-47bb-0310-9956-ffa450edef68
2001-08-23 19:00:07 +00:00
Doug MacEachern
2090fa8748 adjust to apr_uri_ rename
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90361 13f79535-47bb-0310-9956-ffa450edef68
2001-08-19 16:01:05 +00:00
Doug MacEachern
d40f9b24be adjust to UNP_ -> APR_URI_UNP_ rename
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90359 13f79535-47bb-0310-9956-ffa450edef68
2001-08-19 15:52:59 +00:00
William A. Rowe Jr
6d654c07cd Based on the VC6 switch - and pulling the win32 make files from cvs
- some more ignores are in order.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90274 13f79535-47bb-0310-9956-ffa450edef68
2001-08-17 07:19:08 +00:00
William A. Rowe Jr
9062307073 The purpose of this patch is to toggle the debugging mode (default) to
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
2001-08-17 03:45:35 +00:00
William A. Rowe Jr
9bd41098dd Given a choice between chasing my tail to keep these updated, and rolling
a set when we actually roll a tarball, I'll take the later, thank you.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90268 13f79535-47bb-0310-9956-ffa450edef68
2001-08-17 03:23:58 +00:00
William A. Rowe Jr
ebf7a3fe03 Ignore goodness
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90250 13f79535-47bb-0310-9956-ffa450edef68
2001-08-16 23:14:06 +00:00
William A. Rowe Jr
b0b0649108 More Versioning
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90208 13f79535-47bb-0310-9956-ffa450edef68
2001-08-16 07:54:43 +00:00