Checkout Tools
  • last updated 3 hours ago
Constraints: committers
Constraints: files
Constraints: dates
* 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.

  1. … 5 more files in changeset.
* modules/dav/main/props.c (dav_do_prop_subreq): Allocate escaped URI

out of propdb pool, fixing small per-resource leak during a PROPFIND


Submitted by: jorton, rpluem

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


(dav_propfind_walker): Switch to using dav_open_propdb

with scratchpool.

  1. … 2 more files in changeset.
* Doing a PROPFIND on a large collection e.g. 50.000 elements can easily

consume 1 GB of memory as the subrequests and propdb pools are not

destroyed and cleared after each element was handled.

Do this now. There is one case in dav_get_props where elem->priv

lives longer then the propdb pool. In this case allocate from r->pool.

Furthermore also recycle propdb's which allows to clear the propdb's

pools instead of destroying them and creating them again.

Allow other modules to become providers and add ACLs

to the DAV response. Requires apr-util v1.6+.

  1. … 5 more files in changeset.
Remove some useless 'return' statements.
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


* 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.

  1. … 3 more files in changeset.
Clarify the existing behavior.

Reverting as per veto in

  1. … 1 more file in changeset.
mod_dav: Do not segfault on PROPFIND with a zero length DBM. PR 52559

Submitted by: Diego Santa Cruz <diego.santaCruz>

Tested by William Lewis <wiml omnigroup com>

  1. … 1 more file in changeset.
mod_dav: PROPPATCH delete (svn propdel) silently discards errors. PR 53525

Submitted by Arwin Arni <arwin>

  1. … 1 more file in changeset.
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

  1. … 10 more files in changeset.
update license header text
  1. … 316 more files in changeset.
Update the copyright year in all .c, .h and .xml files

  1. … 497 more files in changeset.
fix 64bit build warnings in modules/dav
  1. … 5 more files in changeset.
* modules/dav/main/mod_dav.h: Wrap all public functions in


* 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>

Reviewed by: Justin Erenkrantz

  1. … 8 more files in changeset.
Update copyright year to 2005 and standardize on current copyright owner line.

  1. … 522 more files in changeset.
general property cleanup

  1. … 712 more files in changeset.
fix name of The Apache Software Foundation

  1. … 361 more files in changeset.
apply Apache License, version 2.0

  1. … 7 more files in changeset.
update license to 2004.

  1. … 281 more files in changeset.
finished that boring job:

update license to 2003.

Happy New Year! ;-))

  1. … 271 more files in changeset.
Missed a word in a comment.


Create a subpool when we open the propdb, but we can't clear it until the rest

of the lifetime issues within mod_dav are straightened out.

Detabbify. With extreme prejudice.

  1. … 8 more files in changeset.

The real pain. ap->apr xml and text types.

  1. … 6 more files in changeset.
Update our copyright for this year.

  1. … 260 more files in changeset.
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.

  1. … 2 more files in changeset.
Account for changes to the name of field "private" in struct apr_xml_elem.

PR: 7727

  1. … 1 more file in changeset.
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 <>

Reviewed by: Greg Stein

  1. … 3 more files in changeset.