Subject: Problems with Intercepting WebDAV with IIS to simulate filesystem with a DB

From: "Simon Hill" <[email-masked]>
Date: Mon, 7 Jan 2002 23:13:31 -0000

Hi

I'm trying to use WebDAV to implement DB CMS that presents a filesystem view
to clients who connected to it, on IIS. I cannot find very much help on this
so here's hoping for a lead...

I use a header-rewriting ISAPI filter to forward HTTP requests, and I am
using Dreamweaver 4's new WebDAV site management client to create the WebDAV
traffic. At the moment I just want to analyse the HTTP headers so I can feel
comfortable before I implement the database side, but I can't get this far
because WebDAV seems to be trying to get the .asp script itself rather than
running it and logging out the GETs and POSTs etc. My script is a simple
one, it simply logs-out the server variables, at the moment. However on the
client side I get 'can't access/file locked' error, and on the server the
.asp file itself becomes locked.

This makes me think that my header-rewriting is actually resulting in PUTs
and GETs to that script itself rather than the execution of the script.

Anyone got any clues?

regards

Simon

---

From: "Steve Lomicka" <[email-masked]>
Date: Tue, 8 Jan 2002 09:56:45 -0500

At a basic level, I have done something similar to what you are trying to
accomplish.  If I understand you correctly, you are trying to interrogate
HTTP requests as they come into an IIS server using a IIS ISAPI filter.  I
wrote a simple ISAPI filter and implemented SF_NOTIFY_READ_RAW_DATA and
SF_NOTIFY_SEND_RAW_DATA.  I took the raw data, cast it as a string and used
::OutputDebugView to watch the requests.  Since the filter uses
SF_NOTIFY_READ_RAW_DATA and SF_NOTIFY_SEND_RAW_DATA it must be registered as
a global ISAPI filter.  Additionally you must give the directory where the
DLL resides READ & EXECUTE writes through explorer.  Ensure you give these
rights to the IWAM_XXX and I_URS_XXX user or it will not work.  If you want
to debug, you also have to make the filter low protection, which brings it
in process. Hope this helps.

Steve Lomicka
CTO
Maximal Systems, Inc.
727-539-7500 ex760
www.maximal.com