X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fdav_main.c;h=31cbfafffe1399af58ecc6876a1404b7515c2374;hb=HEAD;hp=8f16c0b24d4954786be1e62ea2827d41924f575d;hpb=e75e8817291f1504a58c70d721075d82293c9e72;p=citadel.git diff --git a/webcit/dav_main.c b/webcit/dav_main.c index 8f16c0b24..acabf94f6 100644 --- a/webcit/dav_main.c +++ b/webcit/dav_main.c @@ -5,23 +5,18 @@ * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 3. - * - * * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * - * - * - * */ #include "webcit.h" -#include "webserver.h" + #include "dav.h" +CtxType CTX_DAVNS = CTX_NONE; extern HashList *HandlerHash; HashList *DavNamespaces = NULL; @@ -277,7 +272,7 @@ int Conditional_DAV_NSCURRENT(StrBuf *Target, WCTemplputParams *TP) wcsession *WCC = WC; void *vHandler; - vHandler = CTX; + vHandler = CTX(CTX_NONE); return WCC->Hdr->HR.Handler == vHandler; } @@ -288,8 +283,9 @@ void tmplput_DAV_NAMESPACE(StrBuf *Target, WCTemplputParams *TP) if (TP->Filter.ContextType == CTX_DAVNS) { WebcitHandler *H; - H = (WebcitHandler*) CTX; - StrBufAppendTemplate(Target, TP, H->Name, 0); + H = (WebcitHandler*) CTX(CTX_DAVNS); + if (H != NULL) + StrBufAppendTemplate(Target, TP, H->Name, 0); } else if (WCC->Hdr->HR.Handler != NULL) { StrBufAppendTemplate(Target, TP, WCC->Hdr->HR.Handler->Name, 0); @@ -338,6 +334,7 @@ void InitModule_GROUPDAV (void) { + RegisterCTX(CTX_DAVNS); RegisterDAVNamespace(HKEY("groupdav"), HKEY("GroupDAV"), dav_main, GroupdavDispatchREST, XHTTP_COMMANDS|COOKIEUNNEEDED|FORCE_SESSIONCLOSE @@ -345,16 +342,16 @@ InitModule_GROUPDAV RegisterNamespace("DAV:HOSTNAME", 0, 0, tmplput_dav_HOSTNAME, NULL, CTX_NONE); - RegisterConditional(HKEY("COND:DAV:NS"), 0, Conditional_DAV_NS, CTX_NONE); + RegisterConditional("COND:DAV:NS", 0, Conditional_DAV_NS, CTX_NONE); RegisterIterator("DAV:NS", 0, DavNamespaces, NULL, NULL, NULL, CTX_DAVNS, CTX_NONE, IT_NOFLAG ); - RegisterConditional(HKEY("COND:DAV:NSCURRENT"), 0, Conditional_DAV_NSCURRENT, CTX_DAVNS); + RegisterConditional("COND:DAV:NSCURRENT", 0, Conditional_DAV_NSCURRENT, CTX_DAVNS); RegisterNamespace("DAV:NAMESPACE", 0, 1, tmplput_DAV_NAMESPACE, NULL, CTX_NONE); RegisterHeaderHandler(HKEY("IF-MATCH"), Header_HandleIfMatch); RegisterHeaderHandler(HKEY("DEPTH"), Header_HandleDepth); - RegisterConditional(HKEY("COND:DAV:DEPTH"), 1, Conditional_DAV_DEPTH, CTX_NONE); + RegisterConditional("COND:DAV:DEPTH", 1, Conditional_DAV_DEPTH, CTX_NONE); }