httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian J. France" <br...@brianfrance.com>
Subject DAV Option Patch
Date Mon, 14 Sep 2009 14:11:24 GMT
I would like to get some form of mod_dav_acl[1] added to httpd.  My  
end goal with all of this is to get a mod_caldav and mod_cardav  
accepted down the line or at least be able to build the module with  
out hacking the core httpd source.

I am going to start by splitting up the Jari's mod_dav_acl patches to  
httpd into small patches with detailed explanation on why they are  
needed and first up is the DAV options patch.

Currently there is no way for other dav modules to add things do the  
DAV or Allow headers of a OPTIONS request, only the mod_dav module can  
output those items.  This patch:

   http://www.brianfrance.com/software/apache/dav/dav-options.diff

allows other mod_dav modules to add options to those headers.  The  
next patch is only an example usage of the above patch and should not  
be added to the svn tree.  This patch will add a mod_dav_acl module to  
the build:

   http://www.brianfrance.com/software/apache/dav/dav-options-acl.diff

The patch will require you to run ./buildconf to regenerate configure  
and:

     --enable-dav --enable-dav-acl

to enable it.  This example skeleton acl module using the options  
patch will add access-control to the DAV header and REPORT and ACL to  
the Allow header:

   DAV: 1,2,access-control
   Allow:  
OPTIONS 
,GET 
,HEAD 
,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,LOCK,UNLOCK,REPORT,ACL

This is the first step in getting a working mod_dav_acl module and  
with that allow a mod_caldav module to do something like this:

   DAV: 1,2,access-control,calendar-access
   Allow:  
OPTIONS 
,GET 
,HEAD 
,POST 
,DELETE 
,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,LOCK,UNLOCK,REPORT,ACL,MKCALENDAR

and a mod_carddav module to do something like:

   DAV: 1,2,access-control,addressbook,extended-mkcol
   Allow:  
OPTIONS 
,GET 
,HEAD 
,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,LOCK,UNLOCK,REPORT,ACL

There is one draw back to this patch in that there could be duplicated  
values in the headers.  Both mod_dav_acl and mod_caldav want to add  
the REPORT in the Allow header, so it would show up twice in the  
list.  I am not sure if this is a major problem, but wanted to make a  
note of it.

Thoughts, comments, questions?

These patches are based off of 2.2.13, but if you would rather have  
patch against a branch or head, please let me know.

Brian

[1] http://sourceforge.net/projects/moddavacl/


Mime
View raw message