[OpenAFS] HOWTO: mod_dav (apache 1.x) and afs
Adam Megacz
megacz@cs.berkeley.edu
Wed, 17 Jan 2007 20:05:41 -0800
In case anybody else is trying to do this, here's what worked for me.
The patch below is essentially the same thing as this:
http://www.lyra.org/pipermail/dav-dev/2002-June/003647.html
Except that patch doesn't seem to apply cleanly. Usage for debianites
would go something like this (with the patch in mod-dav-afs.patch):
apt-get source libapache-mod-dav
cd libapache-mod-dav-1.0.3
patch -p0 < ../mod-dav-afs.patch
dpkg-buildpackage
dpkg -i ../libapache-mod-dav-1.0.3*.deb
And, in httpd.conf,
BrowserMatch "^WebDAVFS/" redirect-carefully
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "Microsoft-WebDAV-MiniRedir/5.1.2600" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS" redirect-carefully
DAVLockDB /var/lock/DAV/
LimitXMLRequestBody 0
<Location ****>
DAV On
Patch is below.
- a
--- dav_fs_repos.c Sun Nov 4 21:20:32 2001
+++ dav_fs_repos.c Wed Jan 17 19:53:34 2007
@@ -1362,8 +1362,8 @@
/* open and scan the directory */
if ((dirp = opendir(fsctx->path1.buf)) == NULL) {
/* ### need a better error */
- return dav_new_error(wctx->pool, HTTP_NOT_FOUND, 0, NULL);
- }
+ /* return dav_new_error(wctx->pool, HTTP_NOT_FOUND, 0, NULL); */
+ } else {
while ((ep = readdir(dirp)) != NULL) {
size_t len = strlen(ep->d_name);
@@ -1471,6 +1471,7 @@
if (err != NULL)
return err;
+ }
/* don't walk lock null resources for depth 0 */
if (depth != 0 && wctx->walk_type & DAV_WALKTYPE_LOCKNULL) {