projects
/
citadel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8c2d12e
)
calendar.ics auth tweaks
author
Art Cancro
<ajc@uncensored.citadel.org>
Mon, 14 Nov 2011 16:40:28 +0000
(11:40 -0500)
committer
Wilfried Goesgens
<dothebart@citadel.org>
Mon, 5 Dec 2011 21:58:14 +0000
(22:58 +0100)
webcit/dav_main.c
patch
|
blob
|
history
diff --git
a/webcit/dav_main.c
b/webcit/dav_main.c
index 93e114c8d54fcf6c13a3a9862ab3517ebeab9696..91610ac993a34247f43918630b00056ffa1effac 100644
(file)
--- a/
webcit/dav_main.c
+++ b/
webcit/dav_main.c
@@
-105,6
+105,8
@@
void dav_main(void)
wcsession *WCC = WC;
int i, len;
wcsession *WCC = WC;
int i, len;
+ syslog(LOG_DEBUG, "dav_main() called, logged_in=%d", WCC->logged_in );
+
StrBufUnescape(WCC->Hdr->HR.ReqLine, 0);
StrBufStripSlashes(WCC->Hdr->HR.ReqLine, 0);
StrBufUnescape(WCC->Hdr->HR.ReqLine, 0);
StrBufStripSlashes(WCC->Hdr->HR.ReqLine, 0);
@@
-133,15
+135,13
@@
void dav_main(void)
switch (WCC->Hdr->HR.eReqType)
{
/*
switch (WCC->Hdr->HR.eReqType)
{
/*
- * The OPTIONS method is not required by GroupDAV. This is an
- * experiment to determine what might be involved in supporting
- * other variants of DAV in the future.
+ * The OPTIONS method is not required by GroupDAV but it will be
+ * needed for future implementations of other DAV-based protocols.
*/
case eOPTIONS:
dav_options();
break;
*/
case eOPTIONS:
dav_options();
break;
-
/*
* The PROPFIND method is basically used to list all objects in a
* room, or to list all relevant rooms on the server.
/*
* The PROPFIND method is basically used to list all objects in a
* room, or to list all relevant rooms on the server.
@@
-211,6
+211,7
@@
void Header_HandleIfMatch(StrBuf *Line, ParsedHttpHdrs *hdr)
hdr->HR.dav_ifmatch = Line;
}
hdr->HR.dav_ifmatch = Line;
}
+
void Header_HandleDepth(StrBuf *Line, ParsedHttpHdrs *hdr)
{
if (!strcasecmp(ChrPtr(Line), "infinity")) {
void Header_HandleDepth(StrBuf *Line, ParsedHttpHdrs *hdr)
{
if (!strcasecmp(ChrPtr(Line), "infinity")) {
@@
-223,6
+224,8
@@
void Header_HandleDepth(StrBuf *Line, ParsedHttpHdrs *hdr)
hdr->HR.dav_depth = 1;
}
}
hdr->HR.dav_depth = 1;
}
}
+
+
int Conditional_DAV_DEPTH(StrBuf *Target, WCTemplputParams *TP)
{
return WC->Hdr->HR.dav_depth == GetTemplateTokenNumber(Target, TP, 2, 0);
int Conditional_DAV_DEPTH(StrBuf *Target, WCTemplputParams *TP)
{
return WC->Hdr->HR.dav_depth == GetTemplateTokenNumber(Target, TP, 2, 0);
@@
-248,6
+251,7
@@
void RegisterDAVNamespace(const char * UrlString,
Put(DavNamespaces, UrlString, UrlSLen, vHandler, reference_free_handler);
}
Put(DavNamespaces, UrlString, UrlSLen, vHandler, reference_free_handler);
}
+
int Conditional_DAV_NS(StrBuf *Target, WCTemplputParams *TP)
{
wcsession *WCC = WC;
int Conditional_DAV_NS(StrBuf *Target, WCTemplputParams *TP)
{
wcsession *WCC = WC;
@@
-270,6
+274,7
@@
int Conditional_DAV_NSCURRENT(StrBuf *Target, WCTemplputParams *TP)
return WCC->Hdr->HR.Handler == vHandler;
}
return WCC->Hdr->HR.Handler == vHandler;
}
+
void tmplput_DAV_NAMESPACE(StrBuf *Target, WCTemplputParams *TP)
{
wcsession *WCC = WC;
void tmplput_DAV_NAMESPACE(StrBuf *Target, WCTemplputParams *TP)
{
wcsession *WCC = WC;
@@
-284,6
+289,7
@@
void tmplput_DAV_NAMESPACE(StrBuf *Target, WCTemplputParams *TP)
}
}
}
}
+
int GroupdavDispatchREST(RESTDispatchID WhichAction, int IgnoreFloor)
{
wcsession *WCC = WC;
int GroupdavDispatchREST(RESTDispatchID WhichAction, int IgnoreFloor)
{
wcsession *WCC = WC;
@@
-310,9
+316,9
@@
ServerStartModule_DAV
{
DavNamespaces = NewHash(1, NULL);
{
DavNamespaces = NewHash(1, NULL);
-
}
}
+
void
ServerShutdownModule_DAV
(void)
void
ServerShutdownModule_DAV
(void)
@@
-321,8
+327,6
@@
ServerShutdownModule_DAV
}
}
-
-
void
InitModule_GROUPDAV
(void)
void
InitModule_GROUPDAV
(void)
@@
-346,5
+350,4
@@
InitModule_GROUPDAV
RegisterHeaderHandler(HKEY("IF-MATCH"), Header_HandleIfMatch);
RegisterHeaderHandler(HKEY("DEPTH"), Header_HandleDepth);
RegisterConditional(HKEY("COND:DAV:DEPTH"), 1, Conditional_DAV_DEPTH, CTX_NONE);
RegisterHeaderHandler(HKEY("IF-MATCH"), Header_HandleIfMatch);
RegisterHeaderHandler(HKEY("DEPTH"), Header_HandleDepth);
RegisterConditional(HKEY("COND:DAV:DEPTH"), 1, Conditional_DAV_DEPTH, CTX_NONE);
-
}
}