/[Apache-SVN]/httpd/httpd/trunk/modules/dav/main/mod_dav.c
ViewVC logotype

Log of /httpd/httpd/trunk/modules/dav/main/mod_dav.c

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (download) (annotate)
Sticky Revision:

Revision 1923639 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 7 11:09:25 2025 UTC (2 months, 1 week ago) by jorton
File length: 190576 byte(s)
Diff to previous 1918815 (colored)
Add API exposing the DavBasePath setting for use by DAV repository
backend modules (mod_dav_svn needs this for POST method handling).

* modules/dav/main/mod_dav.c (dav_get_base_path): New function.

* include/ap_mmn.h: Bump MMN minor.

Github: closes #513


Revision 1918815 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 2 06:57:23 2024 UTC (9 months, 2 weeks ago) by rpluem
File length: 190380 byte(s)
Diff to previous 1918814 (colored)
* Follow up to r1918814: Always trust content types that we set literally

Revision 1918814 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 2 06:35:53 2024 UTC (9 months, 2 weeks ago) by rpluem
File length: 190368 byte(s)
Diff to previous 1911906 (colored)
* Always trust content types that we set literally

Revision 1911906 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 25 07:44:08 2023 UTC (19 months, 3 weeks ago) by jorton
File length: 190338 byte(s)
Diff to previous 1911651 (colored)
* modules/dav/main/mod_dav.c (dav_get_resource): Don't mask
  "conf" variable.


Revision 1911651 - (view) (download) (annotate) - [select for diffs]
Modified Mon Aug 14 14:40:00 2023 UTC (20 months ago) by jorton
File length: 190340 byte(s)
Diff to previous 1910811 (colored)
Add DAVBasePath directive to allow users to configure the real repos
root path, useful where the DAV repos is configured with a regex match.

* modules/dav/main/mod_dav.c
  (dav_get_resource): If available, pass the configured base path
  as the repos root to repos provider.
  On the error path for fetching a resource, detect and warn
  specifically when the location is configured via a regex.
  (dav_cmd_davbasepath): New function.

PR: 35077
Github: closes #376


Revision 1910811 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jul 6 08:28:08 2023 UTC (21 months, 2 weeks ago) by jorton
File length: 189162 byte(s)
Diff to previous 1907649 (colored)
Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
operation which removes a directory/file between apr_dir_read() and
apr_stat(). Current behaviour is to abort the connection which seems
inferior to tolerating (and logging) the error.

* modules/dav/fs/repos.c (dav_fs_walker): If DAV_WALKTYPE_TOLERANT is
  set, ignore ENOENT from stat() rather than aborting the response.
  Log the error from stat either way.

* modules/dav/main/mod_dav.c (dav_method_propfind): Set
  DAV_WALKTYPE_TOLERANT.

* modules/dav/main/mod_dav.h: Add DAV_WALKTYPE_TOLERANT.

Github: closes #369


Revision 1907649 - (view) (download) (annotate) - [select for diffs]
Modified Tue Feb 14 13:58:51 2023 UTC (2 years, 2 months ago) by manu
File length: 189138 byte(s)
Diff to previous 1907608 (colored)
Turn msext_opts into a bitfield


Revision 1907608 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 13 16:48:35 2023 UTC (2 years, 2 months ago) by manu
File length: 189243 byte(s)
Diff to previous 1905229 (colored)
Add MS-WDV support

MS-WDV specification:
https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-wdv

The changes introduces the DAVMSext directive, which is used to 
enable MS-WDV: DAVMSext +WDV

dav_get_timeout_string() is introduced as a variant of dav_get_timeout().
The former parses a string, the later parse the Timeout HTTP header.



Revision 1905229 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 11 01:46:28 2022 UTC (2 years, 5 months ago) by manu
File length: 187083 byte(s)
Diff to previous 1905206 (colored)
Open the lock database read-only when possible

The goal is to reduce lock contention, since a read access only
requires a shared lock. The improvement should not be significant 
since for now we open and close the lock database on each HTTP 
request. 

PR 36636 [Wilson Felipe <wfelipe gmail.com>]


Revision 1905206 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 9 16:50:06 2022 UTC (2 years, 5 months ago) by manu
File length: 187155 byte(s)
Diff to previous 1905170 (colored)
Initialize allow_lockdiscovery as unset

Removing the initialization means it is set as 0 by apr_pcalloc(), and
0 is DAV_ENABLED_UNSET 

That is required to inherit configuration in dav_merge_dir_config()
as pointed out by rpluem@

We only check for allow_lockdiscovery against DAV_ENABLED_OFF, hence
DAV_ENABLED_UNSET is equivalent to DAV_ENABLED_ON, which is required
for backware compatibility sake.


Revision 1905170 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 9 01:12:26 2022 UTC (2 years, 5 months ago) by manu
File length: 187204 byte(s)
Diff to previous 1904662 (colored)
Turn DavLockDiscovery into a flag

As requested on dev@httpd.apache.org, turn DavLockDiscovery into a Flag.
Expressions can still be used by enclosing the directive by 
<If "expr">...</If>



Revision 1904662 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 17 17:54:01 2022 UTC (2 years, 6 months ago) by ylavic
File length: 187917 byte(s)
Diff to previous 1904638 (colored)
mod_dav: Follow up to r1904638: Fix duplicated APLOGNO.

Revision 1904638 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 17 09:48:11 2022 UTC (2 years, 6 months ago) by ylavic
File length: 187917 byte(s)
Diff to previous 1897273 (colored)
mod_dav: Allow to disable lock discovery via an DAVLockDiscovery expression.

mod_dav-fs scales badly when a few clients run PROPFIND requests to discover
directory content. Each PROPFIND involves lockdiscovery, which in turn waits
for a locked access to the file containing the lock database. Performances
quickly drop because of lock contention on this file.

Add a DAVLockDiscovery configuration directive that allows lockdiscovery to be
disabled. Its argument is an Apache expression so that flexible configuration
are possible (per-request).

When lock discovery is disabled, an empty lockdiscovery property is returned on
POPRFIND methods, just like if no lock was set on the object. That should cause
no regression, since a client cannot rely on lockdiscovery to decide when a
file should be accessed, the LOCK methood must be used.

If DAVLockDiscovery is not specified, the behavior is unchanged.


PR 66313.
Submitted by: Emmanuel Dreyfus <manu netbsd.org>
Reviewed by: ylavic



Revision 1897273 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 20 22:13:24 2022 UTC (3 years, 2 months ago) by minfrin
File length: 186059 byte(s)
Diff to previous 1897183 (colored)
Revert 1897156.


Revision 1897183 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 18 20:51:42 2022 UTC (3 years, 3 months ago) by ylavic
File length: 188974 byte(s)
Diff to previous 1897156 (colored)
mod_dav: Follow up to r1897156: Fix warning.

In file included from mod_dav.c:51:
mod_dav.c: In function ‘uripath_is_canonical’:
mod_dav.c:774:38: error: passing argument 1 of ‘ap_strchr’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
  774 |             dot_pos = strchr(dot_pos + 1, '.')) {
      |                              ~~~~~~~~^~~
/home/travis/build/apache/httpd/include/httpd.h:2469:34: note: in definition of macro ‘strchr’
 2469 | # define strchr(s, c)  ap_strchr(s,c)
      |                                  ^
/home/travis/build/apache/httpd/include/httpd.h:2457:36: note: expected ‘char *’ but argument is of type ‘const char *’
 2457 | AP_DECLARE(char *) ap_strchr(char *s, int c);
      |                              ~~~~~~^



Revision 1897156 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 17 16:10:51 2022 UTC (3 years, 3 months ago) by minfrin
File length: 188969 byte(s)
Diff to previous 1893589 (colored)
core: Allow an optional expression to be specified for an effective
path in the DirectoryMatch and LocationMatch directives. This allows
modules like mod_dav to map URLs to URL spaces or to directories on
the filesystem.


Revision 1893589 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 24 06:42:04 2021 UTC (3 years, 6 months ago) by rpluem
File length: 186059 byte(s)
Diff to previous 1879522 (colored)
* Correctly handle errors returned by dav providers on REPORT requests.

Revision 1879522 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jul 5 11:52:06 2020 UTC (4 years, 9 months ago) by minfrin
File length: 186096 byte(s)
Diff to previous 1879466 (colored)
Extend method_precondition hook to be called during the PROPFIND
and LABEL walkers, once for each walked resource.


Revision 1879466 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 3 08:29:56 2020 UTC (4 years, 9 months ago) by minfrin
File length: 185578 byte(s)
Diff to previous 1879340 (colored)
mod_dav: Allow other DAV modules to use dav_get_resource().


Revision 1879340 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 29 16:29:58 2020 UTC (4 years, 9 months ago) by minfrin
File length: 185571 byte(s)
Diff to previous 1879339 (colored)
Begone foul tabs.


Revision 1879339 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 29 16:21:52 2020 UTC (4 years, 9 months ago) by minfrin
File length: 185493 byte(s)
Diff to previous 1879307 (colored)
mod_dav: Add method_precondition hook. WebDAV extensions define
conditions that must exist before a WebDAV method can be executed.
This hook allows a WebDAV extension to verify these preconditions.


Revision 1879307 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 28 13:28:19 2020 UTC (4 years, 9 months ago) by minfrin
File length: 180166 byte(s)
Diff to previous 1879306 (colored)
Add implementation of deliver_report and gather_reports to mod_dav.c.


Revision 1879306 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 28 13:17:26 2020 UTC (4 years, 9 months ago) by minfrin
File length: 179344 byte(s)
Diff to previous 1879305 (colored)
Add hooks deliver_report and gather_reports to mod_dav.h. Allows other
modules apart from versioning implementations to handle the REPORT method.


Revision 1879305 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 28 12:40:56 2020 UTC (4 years, 9 months ago) by minfrin
File length: 178570 byte(s)
Diff to previous 1877954 (colored)
Add dav_get_provider(), dav_open_lockdb() and dav_close_lockdb() mod_dav.h.


Revision 1877954 - (view) (download) (annotate) - [select for diffs]
Modified Wed May 20 14:01:17 2020 UTC (4 years, 11 months ago) by ylavic
File length: 178372 byte(s)
Diff to previous 1873985 (colored)
core,modules: provide/use ap_parse_strict_length() helper.

It helps simplifying a lot of duplicated code based on apr_strtoff(), while
also rejecting leading plus/minus signs which are dissalowed in Content-Length
and (Content-)Range headers.


Revision 1873985 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 13 18:15:57 2020 UTC (5 years, 2 months ago) by mrumph
File length: 178550 byte(s)
Diff to previous 1862270 (colored)
Fix spelling errors found by codespell.  [skip ci]


Revision 1862270 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 28 08:50:31 2019 UTC (5 years, 9 months ago) by rpluem
File length: 178548 byte(s)
Diff to previous 1862042 (colored)
* Replace apr_psprintf with apr_pstrcat where the format strings only
  contain %s to improve efficiency. Leave out error messages as they
  are not on a crtical code path and error message become less readable
  when taking out the format specifiers.


Revision 1862042 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 25 09:00:13 2019 UTC (5 years, 9 months ago) by jorton
File length: 178447 byte(s)
Diff to previous 1862039 (colored)
* modules/dav/main/mod_dav.c (dav_send_multistatus): Tag the pool.


Revision 1862039 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 25 08:54:01 2019 UTC (5 years, 9 months ago) by jorton
File length: 178397 byte(s)
Diff to previous 1846651 (colored)
Simplify handling of short-lived pool for dav_propdb in mod_dav.  No
functional change.

* modules/dav/main/props.c (dav_popen_propdb): Rename from
  dav_open_propdb, take a pool argument.
  (dav_open_propdb): Reimplement in terms of above, using
  r->pool.
  (dav_propfind_walker): Switch to using dav_open_propdb
  with scratchpool.


Revision 1846651 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 15 13:19:32 2018 UTC (6 years, 5 months ago) by jorton
File length: 178350 byte(s)
Diff to previous 1842010 (colored)
* modules/dav/main/mod_dav.c (dav_method_propfind): Tag the scratchpool.


Revision 1842010 - (view) (download) (annotate) - [select for diffs]
Modified Wed Sep 26 09:46:42 2018 UTC (6 years, 6 months ago) by rpluem
File length: 178296 byte(s)
Diff to previous 1837388 (colored)
* dav_stream_response processes data that has been allocated from the propdb
  pool. Hence close the propdb *after* dav_stream_response which clears thei
  probdb pool.


Revision 1837388 - (view) (download) (annotate) - [select for diffs]
Modified Fri Aug 3 17:22:57 2018 UTC (6 years, 8 months ago) by jailletc36
File length: 178296 byte(s)
Diff to previous 1824596 (colored)
Save a few cycles.
There is no need to check the first bytes, they are known to be "bytes ".

Revision 1824596 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 17 14:35:53 2018 UTC (7 years, 2 months ago) by minfrin
File length: 178288 byte(s)
Diff to previous 1824590 (colored)
Wire through the log message number.


Revision 1824590 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 17 13:56:44 2018 UTC (7 years, 2 months ago) by minfrin
File length: 178283 byte(s)
Diff to previous 1766998 (colored)
Make sure ACL API support in mod_dav is not dependent on the presence
or absence of apr-util v1.6. Log a message to note that ACL support
is disabled with apr-util <= 1.5.


Revision 1766998 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 28 10:56:03 2016 UTC (8 years, 5 months ago) by ylavic
File length: 178043 byte(s)
Diff to previous 1764040 (colored)
Follow up to r1739201.
These APR_TIMEUP special cases are now handled by ap_map_http_request_error().


Revision 1764040 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 10 09:40:06 2016 UTC (8 years, 6 months ago) by kotkov
File length: 178322 byte(s)
Diff to previous 1756611 (colored)
mod_dav: Fix a potential cause of unbounded memory usage or incorrect
behavior in a routine that sends <DAV:response>'s to the output filters.

The dav_send_one_response() function accepts the current head of the output
filter list as an argument, but the actual head can change between calls to
ap_pass_brigade().  This can happen with self-removing filters, e.g., with
the filter from mod_headers or mod_deflate.  Consequently, executing an
already removed filter can either cause unwanted memory usage or incorrect
behavior.

This patch changes the signature of the existing mod_dav's public API,
dav_send_one_response(), because this API is not yet a part of any 2.4.x
release.

* modules/dav/main/mod_dav.c
  (dav_send_one_response): Accept a request_rec instead of an ap_filter_t.
   Write the response to r->output_filters.
  (dav_send_multistatus, dav_stream_response): Update these calling sites
   of dav_send_one_response().

* modules/dav/main/mod_dav.h
  (dav_send_one_response): Adjust definition.


Revision 1756611 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 17 11:06:43 2016 UTC (8 years, 8 months ago) by ylavic
File length: 178239 byte(s)
Diff to previous 1748322 (colored)
mod_dav: follow up to r1746207:  fix typo (missing '/') for closing tag.



Revision 1748322 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 13 22:33:35 2016 UTC (8 years, 10 months ago) by minfrin
File length: 178238 byte(s)
Diff to previous 1748047 (colored)
Allow other modules to become providers and add ACLs
to the DAV response. Requires apr-util v1.6+.


Revision 1748047 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 12 20:23:21 2016 UTC (8 years, 10 months ago) by minfrin
File length: 176685 byte(s)
Diff to previous 1747946 (colored)
mod_dav: Add dav_begin_multistatus, dav_send_one_response,
dav_finish_multistatus, dav_send_multistatus, dav_handle_err, 
dav_failed_proppatch, dav_success_proppatch to mod_dav.h.


Revision 1747946 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 12 00:58:09 2016 UTC (8 years, 10 months ago) by minfrin
File length: 176536 byte(s)
Diff to previous 1747469 (colored)
mod_dav: Add dav_get_provider_name() function to obtain the name
of the provider from mod_dav.


Revision 1747469 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 9 00:06:42 2016 UTC (8 years, 10 months ago) by wrowe
File length: 176342 byte(s)
Diff to previous 1746207 (colored)
Rename ap_casecmpstr[n]() to ap_cstr_casecmp[n](), update with APR doxygen

Revision 1746207 - (view) (download) (annotate) - [select for diffs]
Modified Mon May 30 22:38:23 2016 UTC (8 years, 10 months ago) by minfrin
File length: 176336 byte(s)
Diff to previous 1725485 (colored)
mod_dav: Add support for childtags to dav_error.


Revision 1725485 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jan 19 12:02:41 2016 UTC (9 years, 3 months ago) by rjung
File length: 175791 byte(s)
Diff to previous 1715880 (colored)
Added many log numbers to log statements that
had none.

Those were not detected by the coccinelle script.


Revision 1715880 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 23 16:48:35 2015 UTC (9 years, 4 months ago) by ylavic
File length: 175754 byte(s)
Diff to previous 1683884 (colored)
More ap_casecmpstr[n]() usages (follow up to r1715876).


Revision 1683884 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jun 6 05:59:49 2015 UTC (9 years, 10 months ago) by jailletc36
File length: 175745 byte(s)
Diff to previous 1665625 (colored)
Save a few bytes in conf pool

Revision 1665625 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 10 17:25:17 2015 UTC (10 years, 1 month ago) by ylavic
File length: 175769 byte(s)
Diff to previous 1633529 (colored)
core, modules: like r1657897 but for core and other modules than mod_proxy.

More uses of ap_map_http_request_error() and AP_FILTER_ERROR so that we never
return an HTTP error status from a handler if some filter generated a response
already.

That is, from a handler, either ap_get_brigade() (an input filter) returned
AP_FILTER_ERROR and we must forward it to ap_die(), or ap_pass_brigade() (an
output filter) failed with any status and we must return AP_FILTER_ERROR in
any case for ap_die() to determine whether a response is needed or not.


Revision 1633529 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 22 05:24:05 2014 UTC (10 years, 6 months ago) by jailletc36
File length: 175750 byte(s)
Diff to previous 1602338 (colored)
tab vs space

Revision 1602338 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 13 08:34:05 2014 UTC (10 years, 10 months ago) by breser
File length: 175713 byte(s)
Diff to previous 1592655 (colored)
Fix PR 56480: PROPFIND walker doesn't encode hrefs properly

Reverts r1529559 partially (specifically the dav_xml_escape_uri) bit.
Reverts r1531505 entirely.

* modules/dav/main/mod_dav.c
  (dav_xml_escape_uri): Revert the piece of r1529559 that removes the URI
    escaping from this function.

* modules/dav/main/props.c
  (dav_do_prop_subreq): Escape the URI before doing a sub request with it.
    This resolves some properties like getcontenttype from failing to be
    returned for files that contain characters that require encoding in their
    path.

* modules/dav/main/mod_dav.h
  (dav_resource): Note the inconsistency in the documentation.

* modules/dav/fs/repos.c
  (dav_fs_get_resource): Don't use the unparsed_uri to set the uri field of
    the resource.  This is the correct fix for the double encoding in mod_dav_fs
    that led to the dav_xml_escape_uri() change and r1531505.
  (dav_fs_walker, dav_fs_append_uri): Revert r1531505 changes.


Revision 1592655 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 6 05:00:21 2014 UTC (10 years, 11 months ago) by breser
File length: 175659 byte(s)
Diff to previous 1529559 (colored)
mod_dav: Fix invalid Location header when a resource is created by passing an
absolute URI on the request line.

Using r->unparsed_uri is wrong since it might contain a scheme, hostname and
port.  See section 5.1.2 of RFC 2616, an absolute URI is allowed.  The
unparsed_uri field is absolutely unparsed.  The current code causes the
Location header to end up having the scheme, host and port included twice.

* modules/dav/main/mod_dav.c
  (dav_created): Call ap_escape_uri() on r->uri when caller doesn't provide a
    location.


Revision 1529559 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 6 01:08:51 2013 UTC (11 years, 6 months ago) by breser
File length: 175644 byte(s)
Diff to previous 1528718 (colored)
Fix PR 55397: dav_resource->uri treated as an unparsed uri.

The change made for PR 54611 caused this field to be treated as
unescaped.  mod_dav_svn however, provided escaped URIs.  Essentially
breaking support for paths with non-URI safe characters in SVN.

Adjust the code so that dav_resource->uri is assumed to be escaped and
adjust mod_dav_fs so that it uses escaped URIs in this field.

* modules/dav/fs/repos.c
  (dav_fs_get_resource): Use the unparsed_uri to contruct the resource uri.

* modules/dav/main/mod_dav.c
  (dav_xml_escape_uri): Do not uri escape, just handle xml escaping.
  (dav_created): Assume that locn if provided is escaped.
  (dav_method_copymove, dav_method_bind): Use the unparsed_uri on the request
    when calling dav_created() to adjust to locn assuming it is escaped.

* modules/dav/main/mod_dav.h
  (dav_resource): Document that uri is escaped.


Revision 1528718 - (view) (download) (annotate) - [select for diffs]
Modified Thu Oct 3 05:29:35 2013 UTC (11 years, 6 months ago) by breser
File length: 175691 byte(s)
Diff to previous 1527509 (colored)
mod_dav: Fix PR 55306.

Makes mod_dav no longer require that the lock token be provided when the
source of a COPY is locked.  The prior behavior was in violating of
RFC 4918 which says that the lock token is only required on resources
that may be modified by the method.

* modules/dav/main/mod_dav.h
  (DAV_VALIDATE_NO_MODIFY): New flag to be passed to dav_validate_* functions.

* modules/dav/main/mod_dav.c
  (dav_method_copymove): Use the new flag when calling dav_validate_request()
    on the COPY source.

* modules/dav/main/util.c
  (dav_validate_resource_state): Use the flag to decide to ignore if the lock
    token is not provided.


Revision 1527509 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 30 10:35:52 2013 UTC (11 years, 6 months ago) by jkaluza
File length: 175619 byte(s)
Diff to previous 1506714 (colored)
mod_dav: set r->status_line in dav_error_response.
It's used as argument in next ap_rvputs call. PR 55426.


Revision 1506714 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 24 21:09:38 2013 UTC (11 years, 8 months ago) by gstein
File length: 175570 byte(s)
Diff to previous 1485668 (colored)
Fix bug #55304 with the provided patch, slightly reformatted.

In short: do not validate conditions of a COPY source's parent since
it is not modified during the operation.

* modules/dav/main/mod_dav.c:
  (dav_method_copymove): adjust params to dav_validate_request()


Revision 1485668 - (view) (download) (annotate) - [select for diffs]
Modified Thu May 23 12:52:06 2013 UTC (11 years, 11 months ago) by minfrin
File length: 175492 byte(s)
Diff to previous 1482522 (colored)
CVE-2013-1896

mod_dav: Sending a MERGE request against a URI handled by mod_dav_svn with
the source href (sent as part of the request body as XML) pointing to a
URI that is not configured for DAV will trigger a segfault.

Submitted by: Ben Reser <ben reser.org>


Revision 1482522 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 14 18:58:06 2013 UTC (11 years, 11 months ago) by minfrin
File length: 175443 byte(s)
Diff to previous 1477687 (colored)
core: Stop the HTTP_IN filter from attempting to write error buckets
to the output filters, which is bogus in the proxy case. Create a
clean mapping from APR codes to HTTP status codes, and use it where
needed.


Revision 1477687 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 30 15:28:57 2013 UTC (11 years, 11 months ago) by minfrin
File length: 175359 byte(s)
Diff to previous 1476621 (colored)
mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981.


Revision 1476621 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 27 16:55:44 2013 UTC (11 years, 11 months ago) by minfrin
File length: 175263 byte(s)
Diff to previous 1476604 (colored)
mod_dav: Ensure URI is correctly uriencoded on return. PR 54611
Patch submitted by Timothy Wood <tjw omnigroup com>
Tested by William Lewis <wiml omnigroup com>


Revision 1476604 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 27 15:40:18 2013 UTC (11 years, 11 months ago) by minfrin
File length: 175196 byte(s)
Diff to previous 1464241 (colored)
mod_dav: Sending an If or If-Match header with an invalid ETag doesn't
result in a 412 Precondition Failed for a COPY operation.

PR: 54610
Submitted by: Timothy Wood <tjw omnigroup.com>


Revision 1464241 - (view) (download) (annotate) - [select for diffs]
Modified Thu Apr 4 00:22:52 2013 UTC (12 years ago) by trawick
File length: 175188 byte(s)
Diff to previous 1209766 (colored)
mod_dav: Improve error handling in dav_method_put(), add new
dav_join_error() function.

PR: 54145

Submitted by: Ben Reser <ben reser.org>
Reviewed by: trawick


Revision 1209766 - (view) (download) (annotate) - [select for diffs]
Modified Fri Dec 2 23:02:04 2011 UTC (13 years, 4 months ago) by sf
File length: 175113 byte(s)
Diff to previous 1199532 (colored)
Add lots of unique tags to error log messages


Revision 1199532 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 8 23:37:13 2011 UTC (13 years, 5 months ago) by sf
File length: 174438 byte(s)
Diff to previous 1199444 (colored)
Remove some ap_add_version_component() calls that don't provide any information
because the modules don't have separate version numbers anymore


Revision 1199444 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 8 20:36:03 2011 UTC (13 years, 5 months ago) by sf
File length: 174481 byte(s)
Diff to previous 1174929 (colored)
Don't send a 500 if there is a timeout


Revision 1174929 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 23 18:08:42 2011 UTC (13 years, 6 months ago) by sf
File length: 174122 byte(s)
Diff to previous 1174751 (colored)
More cleanup: Expand tabs and some more indentation fixes
No functional change


Revision 1174751 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 23 13:39:32 2011 UTC (13 years, 7 months ago) by jim
File length: 173996 byte(s)
Diff to previous 1138627 (colored)
Cleanup effort in prep for GA push:
Trim trailing whitespace... no func change



Revision 1138627 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 22 20:45:34 2011 UTC (13 years, 10 months ago) by sf
File length: 174023 byte(s)
Diff to previous 1135084 (colored)
Various code cleanup

PR: 51398
Submitted by: Christophe Jaillet <christophe jaillet wanadoo fr>


Revision 1135084 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jun 13 11:04:29 2011 UTC (13 years, 10 months ago) by sf
File length: 174015 byte(s)
Diff to previous 1103459 (colored)
Avoid some memory allocations by using apr_table_setn where the string arguments
are allocated from the request pool and not modified later on.

Submitted by: Christophe JAILLET <christophe jaillet wanadoo fr>
PR: 51358


Revision 1103459 - (view) (download) (annotate) - [select for diffs]
Modified Sun May 15 16:58:45 2011 UTC (13 years, 11 months ago) by sf
File length: 174012 byte(s)
Diff to previous 1070061 (colored)
Improvements found by cppcheck:
remove some unused variables and dead assignments, reduce the scope of some
variables, add some parens to improve readability


Revision 1070061 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 12 12:16:18 2011 UTC (14 years, 2 months ago) by sf
File length: 174010 byte(s)
Diff to previous 1026746 (colored)
revert r1026746:

    If an unknown Content-* header is received for a PUT request, we must not
    ignore it but reply with 501 per RFC 2616 9.6.
    
    PR: 42978

Vetoed by Roy T. Fielding:
http://mail-archives.apache.org/mod_mbox/httpd-dev/201102.mbox/%3C9A5A8B62-ED16-4BD3-97DA-8475026BB81D@gbiv.com%3E


Revision 1026746 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 24 08:32:10 2010 UTC (14 years, 5 months ago) by sf
File length: 175334 byte(s)
Diff to previous 1026743 (colored)
If an unknown Content-* header is received for a PUT request, we must not
ignore it but reply with 501 per RFC 2616 9.6.

PR: 42978


Revision 1026743 - (view) (download) (annotate) - [select for diffs]
Modified Sun Oct 24 08:17:26 2010 UTC (14 years, 5 months ago) by sf
File length: 174010 byte(s)
Diff to previous 982016 (colored)
If a malformed Content-Range header is received for a PUT request, we
must not use the supplied content per RFC 2616 14.16. Send 400 response
instead of ignoring the Content-Range.

PR: 49825


Revision 982016 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 3 19:45:21 2010 UTC (14 years, 8 months ago) by sf
File length: 173610 byte(s)
Diff to previous 951895 (colored)
- Remove a load of unused variables (or variables that are set but never read).
- Move some declarations into the correct #ifdef scope.

I couldn't compile/test netware, but the changes look obvious enough.


Revision 951895 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 6 16:59:50 2010 UTC (14 years, 10 months ago) by sf
File length: 173679 byte(s)
Diff to previous 882274 (colored)
Use the new APLOG_USE_MODULE/AP_DECLARE_MODULE macros everywhere to take
advantage of per-module loglevels


Revision 882274 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 19 20:09:27 2009 UTC (15 years, 5 months ago) by trawick
File length: 173655 byte(s)
Diff to previous 834245 (colored)
Remove errno from dav_error interface.  Calls to dav_new_error()
and dav_new_error_tag() must be adjusted to add an apr_status_t parameter.

Reviewed by: jorton


Revision 834245 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 9 21:32:10 2009 UTC (15 years, 5 months ago) by sf
File length: 173850 byte(s)
Diff to previous 834230 (colored)
mod_dav_fs: Include uri when logging a PUT error due to connection abort.

PR: 38149


Revision 834230 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 9 21:04:28 2009 UTC (15 years, 5 months ago) by sf
File length: 173453 byte(s)
Diff to previous 814832 (colored)
Return 409 instead of 500 for a LOCK request if the parent resource does not
exist or is not a collection.

PR: 43465


Revision 814832 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 14 20:31:18 2009 UTC (15 years, 7 months ago) by minfrin
File length: 172750 byte(s)
Diff to previous 809938 (colored)
mod_dav: Allow other modules to add things to the DAV or Allow headers
of an OPTIONS request.
Submitted by: Brian France <brian brianfrance.com>


Revision 809938 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 1 09:42:16 2009 UTC (15 years, 7 months ago) by pquerna
File length: 171419 byte(s)
Diff to previous 644050 (colored)
Remove unused conf variable.


Revision 644050 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 2 20:55:16 2008 UTC (17 years ago) by rpluem
File length: 171573 byte(s)
Diff to previous 606693 (colored)
* Prevent a segfault if the destination URI of a copy / move operation is
  not under DAV control. Return 405 (Method not allowed) instead.

PR: 44734


Revision 606693 - (view) (download) (annotate) - [select for diffs]
Modified Mon Dec 24 11:45:22 2007 UTC (17 years, 4 months ago) by rpluem
File length: 171380 byte(s)
Diff to previous 420983 (colored)
* Set character set for HTML outputs generated by mod_ldap,
  mod_proxy_balancer, mod_proxy_ftp, mod_info, mod_dav without a character
  set to ISO-8859-1.

Submitted by: jorton


Revision 420983 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 11 20:33:53 2006 UTC (18 years, 9 months ago) by fielding
File length: 171360 byte(s)
Diff to previous 395228 (colored)
update license header text

Revision 395228 - (view) (download) (annotate) - [select for diffs]
Modified Wed Apr 19 12:11:27 2006 UTC (19 years ago) by colm
File length: 171213 byte(s)
Diff to previous 377292 (colored)
Update the copyright year in all .c, .h and .xml files


Revision 377292 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 13 02:34:26 2006 UTC (19 years, 2 months ago) by rooneg
File length: 171213 byte(s)
Diff to previous 332306 (colored)
Clean up some code in mod_dav.

Submitted by: Dan Rall <dlr collab.net>

* modules/dav/main/mod_dav.c
  (dav_error_response, dav_error_response_tag): Remove redundant assignment
   of r->status_line which is handled by basic_http_header_check().


Revision 332306 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 10 15:11:44 2005 UTC (19 years, 5 months ago) by jim
File length: 171442 byte(s)
Diff to previous 331041 (colored)
No functional Change: Removing trailing whitespace. This also
means that "blank" lines consisting of just spaces or
tabs are now really blank lines


Revision 331041 - (view) (download) (annotate) - [select for diffs]
Modified Sat Nov 5 22:37:30 2005 UTC (19 years, 5 months ago) by rpluem
File length: 171470 byte(s)
Diff to previous 155345 (colored)
* Fix a null pointer dereference in dav_method_mkcol during the handling of
  errors from dav_auto_checkin.

Submitted by: Ghassan Misherghi <ghassanm ucdavis.edu>


Revision 155345 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 25 16:57:14 2005 UTC (20 years, 1 month ago) by jerenkrantz
File length: 171469 byte(s)
Diff to previous 153754 (colored)
* modules/dav/main/mod_dav.h: Wrap all public functions in
  DAV_DECLARE or DAV_DECLARE_NONSTD.
* modules/dav/main/liveprop.c, modules/dav/main/props.c,
  modules/dav/main/util_lock.c, modules/dav/main/mod_dav.c,
  modules/dav/main/std_liveprop.c, modules/dav/main/util.c:
  Update function definitions.

Submitted by: Branko Čibej <brane xbc.nu>
Reviewed by:  Justin Erenkrantz


Revision 153754 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 14 09:46:19 2005 UTC (20 years, 2 months ago) by striker
File length: 171386 byte(s)
Diff to previous 151408 (colored)
Improve interaction with caches in mod_dav.

* modules/dav/main/mod_dav.c

  (dav_method_get): Check for conditionals.


Revision 151408 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 4 20:28:49 2005 UTC (20 years, 2 months ago) by jerenkrantz
File length: 171249 byte(s)
Diff to previous 106103 (colored)
Update copyright year to 2005 and standardize on current copyright owner line.


Revision 106103 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 21 18:50:36 2004 UTC (20 years, 5 months ago) by nd
File length: 171213 byte(s)
Diff to previous 103762 (colored)
general property cleanup


Revision 103762 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 25 17:13:07 2004 UTC (20 years, 11 months ago) by nd
File length: 171213 byte(s)
Diff to previous 103723 (colored)
use new apr_strtoff function to parse PUT ranges correctly.


Revision 103723 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 21 20:42:56 2004 UTC (20 years, 11 months ago) by jorton
File length: 170964 byte(s)
Diff to previous 102933 (colored)
* modules/dav/main/mod_dav.c (dav_method_put): Fix segfault
in auto-versioning error handling path.

PR: 29148


Revision 102933 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 11 13:46:48 2004 UTC (21 years, 1 month ago) by jorton
File length: 170963 byte(s)
Diff to previous 102618 (colored)
* modules/dav/main/mod_dav.c (dav_finish_multistatus): New function;
factored out, sends an EOS bucket after the response body.
(dav_send_multistatus, dav_method_propfind): Use it.

[might be related to PR 27576 if there is a real issue described
there]


Revision 102618 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 9 20:31:03 2004 UTC (21 years, 2 months ago) by nd
File length: 170735 byte(s)
Diff to previous 102523 (colored)
fix name of The Apache Software Foundation


Revision 102523 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 6 22:13:20 2004 UTC (21 years, 2 months ago) by nd
File length: 170731 byte(s)
Diff to previous 102224 (colored)
apply Apache License, version 2.0


Revision 102224 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 8 13:08:57 2004 UTC (21 years, 3 months ago) by jorton
File length: 172757 byte(s)
Diff to previous 102135 (colored)
* modules/dav/main/mod_dav.c (dav_handler): Reject request if the
Request-URI includes a fragment part, i.e. an unescaped #.

PR: 21779
Submitted by: Amit Athavale <amit_athavale@lycos.com>


Revision 102135 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jan 1 13:26:26 2004 UTC (21 years, 3 months ago) by nd
File length: 172257 byte(s)
Diff to previous 101885 (colored)
update license to 2004.


Revision 101885 - (view) (download) (annotate) - [select for diffs]
Modified Tue Nov 25 14:17:55 2003 UTC (21 years, 4 months ago) by jorton
File length: 172257 byte(s)
Diff to previous 101788 (colored)
* modules/dav/main/mod_dav.c (dav_method_copymove): For a 401 on the
destination resource, propagate the WWW-Auth header from the
subrequest back to the client.

PR: 15571


Revision 101788 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 16 02:09:14 2003 UTC (21 years, 5 months ago) by jwoolley
File length: 171807 byte(s)
Diff to previous 100924 (colored)
get rid of _FOREACH


Revision 100924 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 6 21:38:58 2003 UTC (21 years, 8 months ago) by nd
File length: 171701 byte(s)
Diff to previous 100919 (colored)
drop the test, whether apr_brigade_create returns NULL. It does never
(dumps core instead :-)

Submitted by: Cliff Woolley


Revision 100919 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 6 14:46:48 2003 UTC (21 years, 8 months ago) by nd
File length: 172094 byte(s)
Diff to previous 100647 (colored)
use bucket brigades directly when reading PUT data. This avoids
problems with content-length-modifying input filter (like deflate).

PR: 22104
Some stuff submitted by: tim@robbins.dropbear.id.au (Tim Robbins)


Revision 100647 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 16 06:31:53 2003 UTC (21 years, 9 months ago) by gstein
File length: 171582 byte(s)
Diff to previous 100309 (colored)
Switch ap_filter_flush() to ap_pass_brigade(). This removes a layer of
function calls, provides type safety for the ap_filter_t*, and
clarifies what is really going on (i.e. we aren't sending a FLUSH
bucket of any kind).

* mod_dav.c (dav_send_multistatus, dav_method_propfind): change the
    ap_filter_flush call to ap_pass_brigade; flip the params to match
    the prototype.


Revision 100309 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 19 21:24:10 2003 UTC (21 years, 10 months ago) by gstein
File length: 171458 byte(s)
Diff to previous 100308 (colored)
Have mod_dav deal with errors that happen during a streamy provider
response.

* mod_dav.c (dav_method_propfind, dav_method_report): if the dav
    provider throws an error in the middle of streaming a response,
    have mod_dav log an error and abort the connection.

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


Revision 100308 - (view) (download) (annotate) - [select for diffs]
Modified Thu Jun 19 21:21:15 2003 UTC (21 years, 10 months ago) by gstein
File length: 170209 byte(s)
Diff to previous 100164 (colored)
Fix a crasher introduced on June 3.

* mod_dav.c (dav_method_propfind): the PROPFIND request might not have
    a body. Therefore, we cannot dereference 'doc' unconditionally.
    Test it to decide what to pass on to dav_begin_multistatus().

Submitted by: Ben Collins-Sussman <sussman@collab.net>,
              David Waite <mass@akuma.org>


Revision 100164 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jun 3 22:09:24 2003 UTC (21 years, 10 months ago) by gstein
File length: 170170 byte(s)
Diff to previous 99966 (colored)
mod_dav improvement: make dav_method_propfind stream its response,
rather than cache every <response> object and send the whole 207 at once.

Note:  this patch doesn't affect the mod_dav provider API at all.
Providers still return property results in text-buffers, but mod_dav
then streams them out immediately.

Submitted by: Ben Collins-Sussman <sussman@collab.net>
Reviewed by: gstein, jerenkrantz, sander

* mod_dav.h (dav_walker_ctx): add a brigade field and a scratchpool field.

* mod_dav.c (dav_send_one_response): new helper function to write a
    <DAV:response> into a brigade/filter.  this code has been factorized
    out of dav_send_multistatus.

  (dav_begin_multistatus): new factorized helper func; creates brigade
    and sends initial <multistatus> tag.

  (dav_send_multistatus): create brigade, call dav_begin_multistatus,
    and switch all ap_rputs calls to ap_fputs instead.  call
    dav_send_one_response when looping over response list.  use a
    subpool when iterating.

  (dav_method_propfind): initialize walker ctx's brigade.  initialize
    ctx's scratchpool as a subpool of r->pool.  Send a <multistatus> tag
    before calling the provider's walk() function, and a </multistatus>
    tag afterwards.

  (dav_stream_response): new function, originally based on
    dav_add_repsonse.  don't build linked list of responses in memory;
    just spew each response object into the brigade via
    dav_send_one_response().  take an incoming pool argument to do the
    temporary allocation and streaming.

  (dav_propfind_walker): pass ctx->scratchpool to dav_stream_response,
    and clear the pool when finished.


Revision 99966 - (view) (download) (annotate) - [select for diffs]
Modified Tue May 20 23:09:00 2003 UTC (21 years, 11 months ago) by striker
File length: 167442 byte(s)
Diff to previous 98573 (colored)
mod_dav providers define a 'can_be_activity' callback.  Unfortunately,
mod_dav isn't calling it before creating an activity.  This is a
required precondition (along with the resource not existing), as
defined in the deltaV RFC (3253), section 13.5.

* mod_dav.c (dav_method_make_activity): if available, call provider's
  'can_be_activity' callback as a precondition to making an activity.

Submitted by: Ben Collins-Sussman <sussman@apache.org>
Reviewed by: Sander Striker


Revision 98573 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 3 17:53:28 2003 UTC (22 years, 2 months ago) by nd
File length: 167057 byte(s)
Diff to previous 97233 (colored)
finished that boring job:
update license to 2003.

Happy New Year! ;-))


Revision 97233 - (view) (download) (annotate) - [select for diffs]
Modified Tue Oct 15 23:23:15 2002 UTC (22 years, 6 months ago) by gstein
File length: 167057 byte(s)
Diff to previous 97016 (colored)
Code a bit more defensively. If dav_lookup_uri() ever placed user
input into lookup.err.desc for the HTTP_BAD_REQUEST case, then we
could have problems (via a format string attack). This change frees us
from *future* worries.


Revision 97016 - (view) (download) (annotate) - [select for diffs]
Modified Mon Sep 30 05:10:07 2002 UTC (22 years, 6 months ago) by rbb
File length: 167033 byte(s)
Diff to previous 96903 (colored)
Allow CGI scripts that use POST and mod_dav to exist in the same location.

Mod_Dav was always setting the r->handler field to "dav_handler", but
this means that mod_cgi won't run the script.  According to my reading
of the DAV RFC, mod_dav shouldn't do anything at all with a POST request,
because it is impossible to know if the POST was meant for DAV or for some
other resource.  We used to excuse POST from DAV processing, so I have
re-enabled that behavior.

PR:	13025


Revision 96903 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 19 02:36:08 2002 UTC (22 years, 7 months ago) by gstein
File length: 166620 byte(s)
Diff to previous 96853 (colored)
If a body arrives with an OPTIONS request, and it contains an
<options> tag, as defined by RFC 3253, and we don't recognize the
option as a builtin one, then we pass that off to the versioning hooks
of the DAV provider for it to process. However, we neglected to check
whether the provider actually *had* versioning hooks first.

The fix: simply check for versioning hooks before using them.

Problem found by: Ryan Bloom <rbb@apache.org>


Revision 96853 - (view) (download) (annotate) - [select for diffs]
Modified Tue Sep 17 00:41:28 2002 UTC (22 years, 7 months ago) by gstein
File length: 166599 byte(s)
Diff to previous 96658 (colored)
We need to set r->handler to indicate that we'll be handling the
request. Otherwise, other modules may attempt to do "funny stuff" with
the request (specifically: mod_dir will map /some/path/ into an
index.html document if found).

This reinstalls a fixups hook to set the r->handler value. Most of the
checks in the dav_handler() function are now moved to the fixups hook.
We just don't bother to set the handler unless all conditions are met.


Revision 96658 - (view) (download) (annotate) - [select for diffs]
Modified Fri Sep 6 00:26:10 2002 UTC (22 years, 7 months ago) by gstein
File length: 165882 byte(s)
Diff to previous 96641 (colored)
Simplify mod_dav's handler.

The old mechanism would jam a handler name in whenever DAV was
configured for a directory. i.e. there weren't really any tests other
than "is DAV handling this directory?" The name was just a marker
which was tested later.

The new mechanism simplies performs the test right in the handler.
This is now possible since all handlers are called (before, you *had*
to set your own name so that your handler would be called). Since the
test is actually quite straightforward, we actually gain overall: no
more fixups hook, and a couple integer comparisons (rather than a
string compare).

And hoo... the code is simpler, too.

This code has been verified with "litmus 0.8", my own little
regression script, and some hand testing of static pages and CGIs. DAV
continues to work, and it doesn't appear that the changes interfered
with other operation.


Revision 96641 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 5 06:26:07 2002 UTC (22 years, 7 months ago) by jerenkrantz
File length: 166641 byte(s)
Diff to previous 96640 (colored)
Switch hook from type_checker to fixups.

(This hook may be able to removed entirely in favor of being in dav_handler,
but that is left as an exercise to the reader.)


Revision 96640 - (view) (download) (annotate) - [select for diffs]
Modified Thu Sep 5 06:24:38 2002 UTC (22 years, 7 months ago) by jerenkrantz
File length: 166742 byte(s)
Diff to previous 96299 (colored)
Allow mod_dav to be involved with sub-requests.


Revision 96299 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 3 19:36:33 2002 UTC (22 years, 8 months ago) by wrowe
File length: 166708 byte(s)
Diff to previous 96179 (colored)
  catch up with the apr_atoll -> apr_atoi64 rename


Revision 96179 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jul 24 20:47:28 2002 UTC (22 years, 9 months ago) by wsanchez
File length: 166704 byte(s)
Diff to previous 95862 (colored)
Replace atol() calls which should return long long with apr_atoll() calls.
Submitted by: Shantonu Sen <ssen@apple.com>


Revision 95862 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 23 06:42:13 2002 UTC (22 years, 10 months ago) by wrowe
File length: 166745 byte(s)
Diff to previous 95857 (colored)
  The real pain.  ap->apr xml and text types.


Revision 95857 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jun 23 06:12:09 2002 UTC (22 years, 10 months ago) by wrowe
File length: 166639 byte(s)
Diff to previous 95576 (colored)
  That's apr, not ap (any longer)


Revision 95576 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jun 7 22:31:34 2002 UTC (22 years, 10 months ago) by rbb
File length: 166636 byte(s)
Diff to previous 95151 (colored)
Call ap_discard_request_body from ap_finalize_request.  Remove the call
from all other modules that do not use it to determine the response for
the request.


Revision 95151 - (view) (download) (annotate) - [select for diffs]
Modified Fri May 17 11:33:10 2002 UTC (22 years, 11 months ago) by trawick
File length: 166981 byte(s)
Diff to previous 94486 (colored)
stop using APLOG_NOERRNO in calls to ap_log_[pr]error()


Revision 94486 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 6 01:11:50 2002 UTC (23 years ago) by striker
File length: 167701 byte(s)
Diff to previous 94056 (colored)
Add DASL(SEARCH) support to mod_dav.

Submitted by:	Sung Kim <hunkim@cse.ucsc.edu>


Revision 94056 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 20 17:41:55 2002 UTC (23 years, 1 month ago) by stoddard
File length: 165068 byte(s)
Diff to previous 94027 (colored)
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


Revision 94027 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 20 01:58:47 2002 UTC (23 years, 1 month ago) by stoddard
File length: 165075 byte(s)
Diff to previous 94015 (colored)
First commit to introduce accessor function to set r->content_type..


Revision 94015 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 19 10:11:33 2002 UTC (23 years, 1 month ago) by gstein
File length: 165026 byte(s)
Diff to previous 94003 (colored)
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.


Revision 94003 - (view) (download) (annotate) - [select for diffs]
Modified Mon Mar 18 22:25:01 2002 UTC (23 years, 1 month ago) by gstein
File length: 166241 byte(s)
Diff to previous 93918 (colored)
Change the REPORT handling APIs to deliver the content directly into
the filter stack, rather than buffering everything into memory(!).


Revision 93918 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 13 20:48:07 2002 UTC (23 years, 1 month ago) by fielding
File length: 166438 byte(s)
Diff to previous 93786 (colored)
Update our copyright for this year.


Revision 93786 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 8 01:22:20 2002 UTC (23 years, 1 month ago) by gstein
File length: 166438 byte(s)
Diff to previous 93773 (colored)
* 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>


Revision 93773 - (view) (download) (annotate) - [select for diffs]
Modified Thu Mar 7 19:53:31 2002 UTC (23 years, 1 month ago) by striker
File length: 166223 byte(s)
Diff to previous 93651 (colored)
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.


Revision 93651 - (view) (download) (annotate) - [select for diffs]
Modified Fri Mar 1 03:25:49 2002 UTC (23 years, 1 month ago) by gstein
File length: 152126 byte(s)
Diff to previous 93348 (colored)
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>


Revision 93348 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 9 01:57:38 2002 UTC (23 years, 2 months ago) by gstein
File length: 150260 byte(s)
Diff to previous 92937 (colored)
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)


Revision 92937 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jan 20 03:17:12 2002 UTC (23 years, 3 months ago) by gstein
File length: 151237 byte(s)
Diff to previous 92848 (colored)
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.


Revision 92848 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 14 13:43:24 2002 UTC (23 years, 3 months ago) by gstein
File length: 151252 byte(s)
Diff to previous 92764 (colored)
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.


Revision 92764 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 7 22:36:15 2002 UTC (23 years, 3 months ago) by gstein
File length: 153828 byte(s)
Diff to previous 92144 (colored)
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>


Revision 92144 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 23 16:35:22 2001 UTC (23 years, 5 months ago) by ianh
File length: 152696 byte(s)
Diff to previous 91860 (colored)
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)


Revision 91860 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 11 22:31:04 2001 UTC (23 years, 5 months ago) by ianh
File length: 152682 byte(s)
Diff to previous 91732 (colored)
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


Revision 91732 - (view) (download) (annotate) - [select for diffs]
Modified Fri Nov 2 19:25:50 2001 UTC (23 years, 5 months ago) by gstein
File length: 152646 byte(s)
Diff to previous 91374 (colored)
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.


Revision 91374 - (view) (download) (annotate) - [select for diffs]
Modified Tue Oct 9 00:48:51 2001 UTC (23 years, 6 months ago) by gstein
File length: 152881 byte(s)
Diff to previous 91372 (colored)
Get rid of some byterange handling code; it doesn't apply in Apache 2.0.


Revision 91372 - (view) (download) (annotate) - [select for diffs]
Modified Mon Oct 8 23:10:37 2001 UTC (23 years, 6 months ago) by gstein
File length: 154999 byte(s)
Diff to previous 90566 (colored)
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(!).


Revision 90566 - (view) (download) (annotate) - [select for diffs]
Modified Thu Aug 23 19:00:07 2001 UTC (23 years, 8 months ago) by wrowe
File length: 155067 byte(s)
Diff to previous 90090 (colored)
  Canonicalization will now occur on all sub_req_lookup_file() calls,
  and the ap_server_root_relative() will handle canonicalization as well.


Revision 90090 - (view) (download) (annotate) - [select for diffs]
Modified Sat Aug 11 04:04:13 2001 UTC (23 years, 8 months ago) by rbb
File length: 155171 byte(s)
Diff to previous 89835 (colored)
Fix the new method code.  We need to cast 1 to an apr_int64_t or it will
be treated as a 32-bit integer, and it will wrap after being shifted
32 times.
Submitted by:	Cody Sherr <csherr@covalent.net> and
		Ryan Morgan <rmorgan@covalent.net>


Revision 89835 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 31 17:01:34 2001 UTC (23 years, 8 months ago) by wrowe
File length: 155015 byte(s)
Diff to previous 89656 (colored)
  Clean up mod_dav error reporting to HTML/XHTML cross-compliance.


Revision 89656 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 23 16:16:29 2001 UTC (23 years, 9 months ago) by orlikowski
File length: 155001 byte(s)
Diff to previous 88876 (colored)
Fix a couple of compiler warnings, since these are macros, not functions.

Submitted by: Justin Erenkrantz <jerenkrantz@ebuilt.com>
Reviewed by: Victor Orlikowski <orlikowski@apache.org>


Revision 88876 - (view) (download) (annotate) - [select for diffs]
Modified Tue Apr 17 11:07:09 2001 UTC (24 years ago) by gstein
File length: 155003 byte(s)
Diff to previous 88856 (colored)
allow non-absolute URIs to occur in some of the requests. RFC 2518 states
that the Destination: header (used in MOVE/COPY) must be an absolute URI, so
it keeps that constraint.


Revision 88856 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 14 13:10:23 2001 UTC (24 years ago) by gstein
File length: 154899 byte(s)
Diff to previous 88855 (colored)
Fix up the auto-versioning stuff. The new scheme more closely matches the
intent of DeltaV draft 14, simplifying some previous assumptions.

Includes some heavy fixes to MOVE/COPY in a versioning world.

Fix to CHECKOUT when a working resource is not created (checkout in place)

Submitted by: John Vasta <jvasta@rational.com>


Revision 88855 - (view) (download) (annotate) - [select for diffs]
Modified Sat Apr 14 12:45:30 2001 UTC (24 years ago) by gstein
File length: 153029 byte(s)
Diff to previous 88603 (colored)
Implement the MERGE method: fill in dav_method_merge(); add merge() function
to dav_hooks_vsn.


Revision 88603 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 28 16:34:05 2001 UTC (24 years ago) by trawick
File length: 148041 byte(s)
Diff to previous 88599 (colored)
clean up some warnings dealing with
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


Revision 88599 - (view) (download) (annotate) - [select for diffs]
Modified Wed Mar 28 07:37:25 2001 UTC (24 years ago) by gstein
File length: 148034 byte(s)
Diff to previous 88508 (colored)
Patch to sync with some changes to mod_dav 1.1:

*) revamp the set_target stuff -- latest draft calls this UPDATE
*) update the CHECKIN method handling
*) liveprop providers can catch/define "core" properties before the core
   gets a chance.

Submitted by: John Vasta <jvasta@rational.com>
Reviewed by: Greg Stein


Revision 88508 - (view) (download) (annotate) - [select for diffs]
Modified Tue Mar 13 02:13:55 2001 UTC (24 years, 1 month ago) by gstein
File length: 148264 byte(s)
Diff to previous 88390 (colored)
*) mod_dav.c: allow PUT to a WORKING resource (this actually the only valid
   place to do a PUT(!))

*) util.c: add a comment. allow validation to proceed without a lock
   database (the rest of the code supported it; one erroneous check disabled
   that work)

*) util_lock.c: allow dav_unlock() to be a no-op when a lock provide isn't
   present; this allows DELETE to work.


Revision 88390 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 28 15:24:09 2001 UTC (24 years, 1 month ago) by wrowe
File length: 148209 byte(s)
Diff to previous 88288 (colored)
  Goodbye ap_send_http_header


Revision 88288 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 23 13:16:51 2001 UTC (24 years, 2 months ago) by gstein
File length: 148686 byte(s)
Diff to previous 88184 (colored)
use apr_off_t and APR_OFF_T_FMT (for portability to 64-bit off_t systems)

Submitted by: Jeff Trawick
Reviewed by: Greg Stein


Revision 88184 - (view) (download) (annotate) - [select for diffs]
Modified Fri Feb 16 04:26:53 2001 UTC (24 years, 2 months ago) by fielding
File length: 148432 byte(s)
Diff to previous 88060 (colored)
Update copyright to 2001


Revision 88060 - (view) (download) (annotate) - [select for diffs]
Modified Sat Feb 10 13:05:29 2001 UTC (24 years, 2 months ago) by gstein
File length: 148427 byte(s)
Diff to previous 88024 (colored)
Clean up some of the includes:
- explicitly include apr_lib.h since ap_config.h doesn't
- use apr_want.h where possible
- use APR_HAVE_ where possible
- remove some unneeded includes


Revision 88024 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 8 16:38:11 2001 UTC (24 years, 2 months ago) by trawick
File length: 148378 byte(s)
Diff to previous 88021 (colored)
apr_make_array->apr_array_make
(if only it were apr_rename.py instead of apr_rename.pl)


Revision 88021 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 8 11:31:02 2001 UTC (24 years, 2 months ago) by gstein
File length: 148378 byte(s)
Diff to previous 88019 (colored)
*) make sure the status line is set on custom responses
*) allow CHECKOUT on version resources


Revision 88019 - (view) (download) (annotate) - [select for diffs]
Modified Thu Feb 8 07:45:33 2001 UTC (24 years, 2 months ago) by dougm
File length: 148194 byte(s)
Diff to previous 88007 (colored)
renaming various functions for consistency sake
see: http://apr.apache.org/~dougm/apr_rename.pl
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 88007 - (view) (download) (annotate) - [select for diffs]
Modified Wed Feb 7 12:33:17 2001 UTC (24 years, 2 months ago) by gstein
File length: 148195 byte(s)
Diff to previous 87980 (colored)
Revamp the CHECKOUT method handling and various support functions for it.
Basically, the original CHECKOUT was based on a really old draft of the
DeltaV specification. This brings it up to date.

*) get_resource hook now takes an optional label name and/or a flag on
   whether to use the DAV:checked-in property; if either one is provided,
   then a version resource is looked up and returned.

   WARNING: the parameter types are now the same, but have very different
	    semantics. this means you won't get a compile error to figure
	    out that something needs to be changed here.

*) mod_dav.c::dav_get_resource no longer cahces the fetched resource in the
   request userdata. Some requests will call this function multiple times,
   for different resources -- we don't want to keep returning the same
   resource (no idea how this ended up working).

*) dav_get_resource()'s parameters have been updated. target_allowed is old
   terminology; it is now label_allowed. The target paramter is obsoleted by
   the simple use_checked_in flag.

*) dav_get_target_selector() is obsolete. XML element processing is done
   within the CHECKOUT method (i.e. only where it occurs). The other half of
   the old function was to simply fetch the Label: header.

*) DAV_TARGET_SELECTOR_HDR is now DAV_LABEL_HDR

*) dav_method_checkout() now processes all the various options for a
   CHECKOUT method and either modifies the initial resource lookup, or
   passes the data to the checkout hook function.

*) the checkout hook grew a bunch of new parameters

*) new utility function: dav_xml_get_cdata() to gather up all the CDATA from
   an XML element. this is used to extract DAV:href values.
   (probably move to util_xml.c at some point)


Revision 87980 - (view) (download) (annotate) - [select for diffs]
Modified Mon Feb 5 12:34:39 2001 UTC (24 years, 2 months ago) by gstein
File length: 145314 byte(s)
Diff to previous 87852 (colored)
*) add activity handling: OPTIONS and MKACTIVITY
*) fix HTTP status code in MKWORKSPACE handling
*) add can_be_activity and make_activity hooks to dav_hooks_vsn


Revision 87852 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 26 11:44:51 2001 UTC (24 years, 2 months ago) by gstein
File length: 143509 byte(s)
Diff to previous 87847 (colored)
Provide a way to allow get_resource and get_parent_resource to return errors
that might occur during the parsing of the URI and/or the lookup of the
resource in the repository.

Specifically: return a dav_error* and move the returned dav_resource* to an
"out" parameter of the hook function.


Revision 87847 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 26 02:24:16 2001 UTC (24 years, 2 months ago) by gstein
File length: 142331 byte(s)
Diff to previous 87758 (colored)
we only need to worry about infinite-depth PROPFINDs if they are targeting a
collection. allow them on plain resources.


Revision 87758 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 20 11:29:35 2001 UTC (24 years, 3 months ago) by gstein
File length: 142307 byte(s)
Diff to previous 87752 (colored)
some stylistic tweaks post- John's patch


Revision 87752 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jan 20 02:00:01 2001 UTC (24 years, 3 months ago) by gstein
File length: 142162 byte(s)
Diff to previous 87731 (colored)
- implement DeltaV OPTIONS extensions
- let live prop providers get first crack at PROPFIND
- work around MS Web Folders limit on DAV header length

Submitted by: John Vasta <jvasta@rational.com>
Reviewed by: Greg Stein


Revision 87731 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 19 07:04:36 2001 UTC (24 years, 3 months ago) by wrowe
File length: 128877 byte(s)
Diff to previous 87697 (colored)
  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.


Revision 87697 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jan 17 15:52:12 2001 UTC (24 years, 3 months ago) by wrowe
File length: 128839 byte(s)
Diff to previous 87670 (colored)
  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.


Revision 87670 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jan 12 12:18:10 2001 UTC (24 years, 3 months ago) by gstein
File length: 128866 byte(s)
Diff to previous 87617 (colored)
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. ]

Found by: Ryan Bloom


Revision 87617 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jan 8 23:55:12 2001 UTC (24 years, 3 months ago) by dougm
File length: 128910 byte(s)
Diff to previous 87087 (colored)
adjust remaining modules to use the new handler hook method (Alan Edwards)

bring back the old handler prototype by reusing r->handler (dougm)
PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 87087 - (view) (download) (annotate) - [select for diffs]
Modified Mon Nov 27 12:54:28 2000 UTC (24 years, 4 months ago) by gstein
File length: 128907 byte(s)
Diff to previous 87075 (colored)
*) 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


Revision 87075 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 23 12:50:31 2000 UTC (24 years, 5 months ago) by gstein
File length: 128886 byte(s)
Diff to previous 87072 (colored)
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.


Revision 87072 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 23 10:08:19 2000 UTC (24 years, 5 months ago) by gstein
File length: 128614 byte(s)
Diff to previous 86979 (colored)
*) fix subtle crasher in COPY method
*) update sub-request-creation calls to include new "next filter" arg


Revision 86979 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 16 07:13:43 2000 UTC (24 years, 5 months ago) by gstein
File length: 128600 byte(s)
Diff to previous 86972 (colored)
use apr_size_t and a few minor tweaks


Revision 86972 - (view) (download) (annotate) - [select for diffs]
Modified Wed Nov 15 02:05:12 2000 UTC (24 years, 5 months ago) by gstein
File length: 128495 byte(s)
Diff to previous 86887 (colored)
Apply a patch from John Vasta for adding (some/more) DeltaV support to
mod_dav. The patch applied and compiled cleanly, so I'm committing. Any
necessary changes from a review will come later, so that we can easily track
what needed to change (and can be back-ported to mod_dav 1.1).

Submitted by: John Vasta <jvasta@rational.com>


Revision 86887 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 9 13:08:06 2000 UTC (24 years, 5 months ago) by gstein
File length: 102175 byte(s)
Diff to previous 86884 (colored)
final round of walker cleanup: fix the provider API to match what is Right.


Revision 86884 - (view) (download) (annotate) - [select for diffs]
Modified Thu Nov 9 11:23:39 2000 UTC (24 years, 5 months ago) by gstein
File length: 102126 byte(s)
Diff to previous 86836 (colored)
first round whack at cleaning up the walker interface


Revision 86836 - (view) (download) (annotate) - [select for diffs]
Modified Sun Nov 5 01:40:57 2000 UTC (24 years, 5 months ago) by gstein
File length: 102035 byte(s)
Diff to previous 86542 (colored)
oops. only do the slash management if dir != NULL


Revision 86542 - (view) (download) (annotate) - [select for diffs]
Modified Wed Oct 11 17:23:55 2000 UTC (24 years, 6 months ago) by wrowe
File length: 101940 byte(s)
Diff to previous 86499 (colored)
  Here it is, mod_dav should build quite nicely on Win32 (two last mild
  warnings to contend with.)


Revision 86499 - (view) (download) (annotate) - [select for diffs]
Modified Tue Oct 10 08:25:44 2000 UTC (24 years, 6 months ago) by gstein
File length: 101732 byte(s)
Diff to previous 86425 (colored)
*) fix GET handling: cache the provider; test through the provider rather
   than the handle_get config member (which is now gone)

*) use "DAV/2" for the server token rather than dup'ing the apache vsn


Revision 86425 - (view) (download) (annotate) - [select for diffs]
Modified Sat Oct 7 01:29:39 2000 UTC (24 years, 6 months ago) by gstein
File length: 101167 byte(s)
Diff to previous 86424 (colored)
clean up the provider stuff some more: don't allow pick-and-choose of
pieces, but just a complete provider. they aren't really separable anyways.


Revision 86424 - (view) (download) (annotate) - [select for diffs]
Modified Sat Oct 7 00:50:42 2000 UTC (24 years, 6 months ago) by gstein
File length: 101914 byte(s)
Diff to previous 86413 (colored)
forward-port John Vasta's checkin to mod_dav 1.1.x (on Sep 25, 2000). this
begins some work to upgrade the versioning support to some of the more
recent drafts.

- get_resource hook has new params
- create_collection hook no longer takes a pool
- new dav_auto_version_info structure to group up autoversion
  rollback/commit handling data
- new functions for getting workspace, target-selector, etc
- supportedlock hook now takes the resource in question (since different
  resources may have different locks)
- new resource types; tweaks in props.c to support them
- some tweaks with resource creation, Location header, etc.


Revision 86413 - (view) (download) (annotate) - [select for diffs]
Modified Fri Oct 6 12:49:21 2000 UTC (24 years, 6 months ago) by gstein
File length: 101424 byte(s)
Diff to previous 86195 (colored)
*) convert fs/lock.c to use APR UUIDs for the opaque locktokens.
*) blow away opaquelock.c and dav_opaquelock.h since direct use of APR UUIDs
   is quite easy.
*) toss the uuid_state from the per-server config in mod_dav.c


Revision 86195 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 9 23:23:42 2000 UTC (24 years, 7 months ago) by gstein
File length: 101920 byte(s)
Diff to previous 86194 (colored)
The "get resource" functionality is no longer a hook. Instead, providers
register themselves by name with mod_dav. The user configures a particular
provider for a location/directory. mod_dav looks up that provider and uses
it explicitly. (the prior behavior simply asked "anybody" to satisfy the
get_resource, but it did not mesh well with user-specified providers)

*) add providers.c to deal with provider registration
*) rejigger mod_dav.c to toss the hook and use the provider
*) clean out dav/fs/ of the old scheme and have it register itself


Revision 86194 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 9 22:55:09 2000 UTC (24 years, 7 months ago) by gstein
File length: 102130 byte(s)
Diff to previous 86186 (colored)
the DAV directive now takes the name of a repository provider


Revision 86186 - (view) (download) (annotate) - [select for diffs]
Modified Sat Sep 9 09:25:22 2000 UTC (24 years, 7 months ago) by gstein
File length: 101324 byte(s)
Diff to previous 86029 (colored)
update the WebDAV versioning support:
- recognize and dispatch the latest set of DeltaV methods
- refine the CHECKOUT provider hook
- add avail_reports provider hook
- fix the "target" resolution mechanism


Revision 86029 - (view) (download) (annotate) - [select for diffs]
Modified Tue Aug 8 20:03:52 2000 UTC (24 years, 8 months ago) by stoddard
File length: 97426 byte(s)
Diff to previous 86008 (colored)
Updated patch to fix compile warnings from not including apr_strings.h

Submitted by:	Joe Orton <joe@orton.demon.co.uk>
Reviewed by:	Bill Stoddard


Revision 86008 - (view) (download) (annotate) - [select for diffs]
Modified Sun Aug 6 06:07:53 2000 UTC (24 years, 8 months ago) by wrowe
File length: 97401 byte(s)
Diff to previous 85976 (colored)
  Remaining cleanup of ap_ -> apr_ and AP_ -> APR_ transformation...
  see src/lib/apr/apr_compat.h for most details.
  Also a few minor nits to get Win32 to build.

PR:
Obtained from:
Submitted by:
Reviewed by:


Revision 85976 - (view) (download) (annotate) - [select for diffs]
Modified Wed Aug 2 05:27:38 2000 UTC (24 years, 8 months ago) by dougm
File length: 97398 byte(s)
Diff to previous 85858 (colored)
prefix libapr functions and types with apr_


Revision 85858 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 17 05:17:02 2000 UTC (24 years, 9 months ago) by keith
File length: 97302 byte(s)
Diff to previous 85816 (colored)
Fix copy/move depth infinity lock propagation problem.
Submitted by: Joe Orton <joe@orton.demon.co.uk>


Revision 85816 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 11 00:06:22 2000 UTC (24 years, 9 months ago) by gstein
File length: 97278 byte(s)
Diff to previous 85803 (colored)
shift the LimitXMLRequestBody directive to the core. use it from util_xml.


Revision 85803 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 10 07:49:48 2000 UTC (24 years, 9 months ago) by gstein
File length: 98655 byte(s)
Diff to previous 85801 (colored)
complete the removal of the old dav_dyn crap. dav plugins are now
    implemented entirely through standard Apache modules, hooks, and some
    additional registration.


Revision 85801 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 10 04:16:51 2000 UTC (24 years, 9 months ago) by gstein
File length: 99357 byte(s)
Diff to previous 85790 (colored)
torch just about all of the old dav_dyn stuff. temporarily hard-wire the
    liveprop provider setup. this will go away momentarily (another pass).


Revision 85790 - (view) (download) (annotate) - [select for diffs]
Modified Sat Jul 8 13:22:14 2000 UTC (24 years, 9 months ago) by gstein
File length: 99690 byte(s)
Diff to previous 85786 (colored)
get rid of more of the old module/provider mechanisms -- use ap_hooks to
look up the plugins' function hook tables.


Revision 85786 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 7 10:38:23 2000 UTC (24 years, 9 months ago) by gstein
File length: 99626 byte(s)
Diff to previous 85783 (colored)
do the "get resource" via a hook rather than through the repository hook
    structure. once the resource is retrieved, then we have the relevant
    repository hooks and can dispatch through those.
some additional tweaks to use lockdb->hooks rather than fetching them


Revision 85783 - (view) (download) (annotate) - [select for diffs]
Modified Fri Jul 7 07:58:14 2000 UTC (24 years, 9 months ago) by gstein
File length: 99932 byte(s)
Diff to previous 85762 (colored)
turn dav/fs/ into a real module
move the DAVLockDB directive to the dav_fs module


Revision 85762 - (view) (download) (annotate) - [select for diffs]
Modified Tue Jul 4 00:28:25 2000 UTC (24 years, 9 months ago) by gstein
File length: 100724 byte(s)
Diff to previous 85761 (colored)
add ap_get_status_line() so that modules can get a standardized
    Status-Line value for their response.

Submitted by: Joe Orton <joe@orton.demon.co.uk>
Reviewed by: Greg Stein


Revision 85761 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 3 22:51:03 2000 UTC (24 years, 9 months ago) by gstein
File length: 100615 byte(s)
Diff to previous 85751 (colored)
Joe Orton writes:

This updates mod_dav for the util_xml changes posted previously:

* dav_xml -> ap_xml, and dav_text -> ap_text renaming
* Add 'dav_elem_private' to hook mod_dav-specific info up to the
  parsed XML tree. Initialize this in several places, I think I got
  all necessary?  [gjs: yes, you did]
* Removal of the old "gross_hack", and all the XML code that was
  moved into util_xml

Submitted by: Joe Orton <joe@orton.demon.co.uk>
Reviewed by: Greg Stein


Revision 85751 - (view) (download) (annotate) - [select for diffs]
Modified Mon Jul 3 08:54:54 2000 UTC (24 years, 9 months ago) by gstein
File length: 100612 byte(s)
Diff to previous 85748 (colored)
misc const cleanups and others issues found using maintainer-mode
    (initial errors found by Ryan Bloom).
also switch to use new command table initializer macros.


Revision 85748 - (view) (download) (annotate) - [select for diffs]
Modified Sun Jul 2 09:08:46 2000 UTC (24 years, 9 months ago) by gstein
File length: 100345 byte(s)
Diff to previous 85720 (colored)
run DAV's type_checker first so that it can grab the non-GET methods (it
    will pass thru GET for normal processing)
fix the DBGn() macros for Apache 2.0


Revision 85720 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 28 11:23:53 2000 UTC (24 years, 9 months ago) by gstein
File length: 100334 byte(s)
Diff to previous 85718 (colored)
get the DAV stuff to compile for Apache 2.0. some unpleasantries are in
    there, but it *does* compile.


Revision 85718 - (view) (download) (annotate) - [select for diffs]
Modified Wed Jun 28 09:21:40 2000 UTC (24 years, 9 months ago) by gstein
File length: 100853 byte(s)
Diff to previous 85717 (colored)
first, obvious step: alter the license/copyright on all mod_dav files.


Revision 85717 - (view) (download) (annotate) - [select for diffs]
Added Wed Jun 28 08:55:58 2000 UTC (24 years, 9 months ago) by gstein
File length: 98701 byte(s)
initial checkin of the new Apache DAV code. this is a pristine copy of
mod_dav 1.0.1 (tag "V1_0_1" in the mod_dav CVS repository).

For historical information about these files, see the (old) mod_dav web
site at http://www.webdav.org/mod_dav/. CVS repository information can
be located from those pages.


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26