// and pass control back down to the HTTP layer to output the response back to
// the client.
//
-// Copyright (c) 1996-2022 by the citadel.org team
+// Copyright (c) 1996-2023 by the citadel.org team
//
// This program is open source software. Use, duplication, or
// disclosure are subject to the GNU General Public License v3.
// WebDAV methods like OPTIONS and PROPFIND *require* a logged-in session,
// even if the Citadel server allows anonymous access.
if (IsEmptyStr(c->auth)) {
- if ( (!strcasecmp(h->method, "OPTIONS"))
+ if ( (!strcasecmp(h->method, "OPTIONS"))
|| (!strcasecmp(h->method, "PROPFIND"))
|| (!strcasecmp(h->method, "REPORT"))
|| (!strcasecmp(h->method, "DELETE"))
+ || (!strcasecmp(h->method, "MOVE"))
+ || (!strcasecmp(h->method, "COPY"))
) {
request_http_authenticate(h);
disconnect_from_citadel(c);
// Room functions
//
-// Copyright (c) 1996-2022 by the citadel.org team
+// Copyright (c) 1996-2023 by the citadel.org team
//
// This program is open source software. Use, duplication, or
// disclosure are subject to the GNU General Public License v3.
else if (!strcasecmp(h->method, "PUT")) {
dav_put_message(h, c, unescaped_euid, msgnum);
}
+ else if (!strcasecmp(h->method, "MOVE")) {
+ do_404(h); // FIXME write this
+ }
+ else if (!strcasecmp(h->method, "COPY")) {
+ do_404(h); // FIXME write this
+ }
else {
do_404(h); // Got this far but the method made no sense? Bummer.
}
else {
add_response_header(h, strdup("DAV"), strdup("1")); // ordinary WebDAV for all other room types
}
- add_response_header(h, strdup("Allow"), strdup("OPTIONS, PROPFIND, GET, PUT, REPORT, DELETE"));
+ add_response_header(h, strdup("Allow"), strdup("OPTIONS, PROPFIND, GET, PUT, REPORT, DELETE, MOVE, COPY"));
}