X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=webcit%2Fdav_options.c;h=f7687cf4ef347269c42029f79c50eb181e69c90f;hp=11b7088d3f5756507b0d35c5f66520a462c886e8;hb=HEAD;hpb=0f5bc3b629bba25e9a65a56d9c70ba907f668629 diff --git a/webcit/dav_options.c b/webcit/dav_options.c index 11b7088d3..cbb8f4421 100644 --- a/webcit/dav_options.c +++ b/webcit/dav_options.c @@ -1,25 +1,19 @@ /* * Handles DAV OPTIONS requests (experimental -- not required by GroupDAV) * - * Copyright (c) 2005-2010 by the citadel.org team + * Copyright (c) 2005-2012 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. + * 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. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "webcit.h" -#include "webserver.h" + #include "dav.h" /* @@ -42,10 +36,12 @@ void dav_options(void) StrBufExtract_token(dav_roomname, WCC->Hdr->HR.ReqLine, 0, '/'); StrBufExtract_token(dav_uid, WCC->Hdr->HR.ReqLine, 1, '/'); + syslog(LOG_DEBUG, "\033[35m%s (logged_in=%d)\033[0m", ChrPtr(WCC->Hdr->HR.ReqLine), WC->logged_in); /* * If the room name is blank, the client is doing an OPTIONS on the root. */ if (StrLength(dav_roomname) == 0) { + syslog(LOG_DEBUG, "\033[36mOPTIONS requested for root\033[0m"); hprintf("HTTP/1.1 200 OK\r\n"); dav_common_headers(); hprintf("Date: %s\r\n", datestring); @@ -65,6 +61,7 @@ void dav_options(void) } if (strcasecmp(ChrPtr(WC->CurRoom.name), ChrPtr(dav_roomname))) { + syslog(LOG_DEBUG, "\033[36mOPTIONS requested for invalid item\033[0m"); hprintf("HTTP/1.1 404 not found\r\n"); dav_common_headers(); hprintf("Date: %s\r\n", datestring); @@ -85,6 +82,7 @@ void dav_options(void) * a specific item in the room. */ if (StrLength(dav_uid) != 0) { + syslog(LOG_DEBUG, "\033[36mOPTIONS requested for specific item\033[0m"); dav_msgnum = locate_message_by_uid(ChrPtr(dav_uid)); if (dav_msgnum < 0) { hprintf("HTTP/1.1 404 not found\r\n"); @@ -121,6 +119,10 @@ void dav_options(void) * We got to this point, which means that the client is requesting * an OPTIONS on the room itself. */ + syslog(LOG_DEBUG, "\033[36mOPTIONS requested for room '%s' (%slogged in)\033[0m", + ChrPtr(WC->CurRoom.name), + ((WC->logged_in) ? "" : "not ") + ); hprintf("HTTP/1.1 200 OK\r\n"); dav_common_headers(); hprintf("Date: %s\r\n", datestring); @@ -130,13 +132,14 @@ void dav_options(void) */ if ( (WC->CurRoom.view == VIEW_CALENDAR) || (WC->CurRoom.view == VIEW_CALBRIEF) ) { hprintf("DAV: 1, calendar-access\r\n"); + syslog(LOG_DEBUG, "\033[36mDAV: 1, calendar-access\033[0m"); } else { hprintf("DAV: 1\r\n"); + syslog(LOG_DEBUG, "\033[36mDAV: 1\033[0m"); } - hprintf("Allow: OPTIONS, PROPFIND, GET, PUT\r\n"); + hprintf("Allow: OPTIONS, PROPFIND, GET, PUT, REPORT\r\n"); begin_burst(); - wc_printf("\r\n"); end_burst(); }