]> git.ipfire.org Git - thirdparty/apache/httpd.git/commit
Allow mod_dav_fs to tolerate race conditions between PROPFIND and an
authorJoe Orton <jorton@apache.org>
Thu, 6 Jul 2023 08:28:08 +0000 (08:28 +0000)
committerJoe Orton <jorton@apache.org>
Thu, 6 Jul 2023 08:28:08 +0000 (08:28 +0000)
commit88db699b4d5935d8dcce4daf90b1aa2b28b2a48b
tree16b45f414b72c52f67bed033e778a7a84b4b63d3
parentf3c57a99a8d4ebe026b2e0e5f7ee6ec1965e9df0
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

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910811 13f79535-47bb-0310-9956-ffa450edef68
modules/dav/fs/repos.c
modules/dav/main/mod_dav.c
modules/dav/main/mod_dav.h