mod_dav_fs: Retrieve minimal system information about directory
entries when walking a DAV fs, resolving a performance degradation on
Windows.
PR: 45464
* modules/dav/fs/repos.c (DAV_FINFO_MASK): Define macro.
(dav_fs_walker): Use DAV_FINFO_MASK when stat'ing the
directory member during the walk.
Reviewed by: jim
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@686395 13f79535-47bb-0310-9956-ffa450edef68
* 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
Submitted by: rpluem
Reviewed by: rpluem, niq, trawick
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@660571 13f79535-47bb-0310-9956-ffa450edef68
mod_dav: Fix evaluation of If-Match * and If-None-Match * conditionals.
PR 38034
Patch by Paritosh Shah
Explanation by Werner Baumann
* Style police. No functional changes.
* Avoid SEGFAULT as hooks->set_headers can be NULL. Furthermore do not set the
ETag header permanently as setting it may not be desired for all responses.
Submitted by: niq, rpluem
Reviewed by: niq, rpluem, chrisd
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@609113 13f79535-47bb-0310-9956-ffa450edef68
* Adjust etag generation to produce identical results on 32-bit and 64-bit
platforms and avoid a regression with conditional PUT's on lock and etag.
Add a warning to the documentation of FileETAG that changes of the ETAG
format can cause conditionals to fail on mod_dav_fs provided backends.
PR: 44152
Submitted by: Michael Clark <michael metaparadigm.com>
eviewed by: rpluem, niq, wrowe
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@608059 13f79535-47bb-0310-9956-ffa450edef68
(Studio 2005, 'free' Express or full edition) command line builds.
Backports 495126, adjusted for debugging/debug path change between
trunk and 2.2 branch.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@495130 13f79535-47bb-0310-9956-ffa450edef68
of switching linkers from the x86 (default linker) to x64 or other
possible target platforms. (Also this commit cleans up lingering
/GX switches from the 'BASE' options that are supposed to be unused.)
Backports: 397407
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@397649 13f79535-47bb-0310-9956-ffa450edef68
win32 builders, eliminate platform-specific use of 'awk' to create
our .rc resources. (Deliberately waited until a clean 2.2.2 was
pulled from the branch.) The end goal is to make building simpler
for our 'free' VisualStudio 2005 Express users, to encourage more
end users to explore the source code. Eliminating thousands of
lines of build-script is a nice side effect.
Backports: 395418
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@396974 13f79535-47bb-0310-9956-ffa450edef68
Reviewed by all active win32 contributors, and committed as an arch
maintenance fix. This permits Win32 VisualStudio 2005 users to build
httpd without extranious 'deprectated option' emits.
Reviewed by: wrowe, colm
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@395961 13f79535-47bb-0310-9956-ffa450edef68
* 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>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@332657 13f79535-47bb-0310-9956-ffa450edef68
Fix handling of unknown state tokens in If headers:
* modules/dav/main/mod_dav.h: Add dav_if_unknown to dav_if_state_type
enum.
* modules/dav/main/util.c (dav_add_if_state): Set returned type to
dav_if_unknown for an unknown state token.
(dav_validate_resource_state): Evaluate dav_if_unknown to fail
match unless in a Not condition.
PR: 37288
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@331600 13f79535-47bb-0310-9956-ffa450edef68
however backporting these doxygen fixes makes it significantly easier to diff
trunk and the 2.2.x branch, to sort out what's what. And we might as well
release with nicer doxygen markup.
Submitted by: Neale Ranns <neale ranns.org>
Reviewed by: Ian Holsman
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@292540 13f79535-47bb-0310-9956-ffa450edef68
This makes binaries far easier to debug, during operation and for post-crash
.dmp analysis. Do not alter /Gs optimizations per brane.
Reviewed by: stoddard, brane
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@170253 13f79535-47bb-0310-9956-ffa450edef68
Bumped mmn, and ap module cookie, for this function rename.
It's not a deprecation, as ap_http_method would be a lovely function
name sometime in the future: to determine what the function name implies.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@123882 13f79535-47bb-0310-9956-ffa450edef68
locks on some platforms.
crashes seen on Sparc when the integer copied out of the database
was not aligned properly
also, sizeof(int) not necessarily sizeof(apr_size_t), so that could
be a concern; we copy in sizeof(apr_size_t field) so we should copy
out sizeof(apr_size_t field)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103027 13f79535-47bb-0310-9956-ffa450edef68
* modules/dav/main/util.c (dav_validate_resource_state): Fix a 2617
violation: if the lock user validation fails, rather than giving a 401
without a WWW-Authenticate header, give a 403.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102958 13f79535-47bb-0310-9956-ffa450edef68
with 409 on missing intermediates:
* modules/dav/fs/repos.c (dav_fs_create_collection): Give a 409 rather
than a 403 if apr_dir_make fails with ENOENT.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102946 13f79535-47bb-0310-9956-ffa450edef68
across COPY and MOVE:
* modules/dav/fs/repos.c (dav_fs_copymove_file): Take src_info,
dst_info arguments and set permissions on dst if necessary.
(dav_fs_copymove_state, dav_fs_copymove_walker,
dav_fs_copymove_resource): Update accordingly.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102945 13f79535-47bb-0310-9956-ffa450edef68
(dav_fs_copymove_file): Use it to give a 507 if open() returns ENOSPC,
and use it to handle apr_file_write_full() return code.
(dav_fs_open_stream): Use MAP_IO2HTTP.
(dav_fs_create_collection): Use APR_STATUS_IS_ENOSPC.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102944 13f79535-47bb-0310-9956-ffa450edef68
that apr_file_read() has guaranteed len == 0 at EOF for a looong time;
and avoid a redundant call to write(,,0) when EOF is reached.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102934 13f79535-47bb-0310-9956-ffa450edef68
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]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102933 13f79535-47bb-0310-9956-ffa450edef68