From: Rafael Sadowski Subject: relayd: add support for the MKCALENDAR HTTP method To: tech@openbsd.org Date: Sat, 16 May 2026 15:34:44 +0200 The following diff adds support for the MKCALENDAR HTTP method to relayd. Currently, relayd is missing this method from the WebDAV/CalDAV extensions. This causes issues when using relayd as a reverse proxy in front of CalDAV servers like Nextcloud. OK? diff --git a/http.h b/http.h index b9784ad..01b79e1 100644 --- a/http.h +++ b/http.h @@ -72,6 +72,9 @@ enum httpmethod { /* WebDAV Search, RFC 5323 */ HTTP_METHOD_SEARCH, + /* WebDAV Calendaring Extensions, RFC 4791 */ + HTTP_METHOD_MKCALENDAR, + /* PATCH, RFC 5789 */ HTTP_METHOD_PATCH, @@ -115,6 +118,7 @@ struct http_method { { HTTP_METHOD_MKREDIRECTREF, "MKREDIRECTREF" }, \ { HTTP_METHOD_UPDATEREDIRECTREF, "UPDATEREDIRECTREF" }, \ { HTTP_METHOD_SEARCH, "SEARCH" }, \ + { HTTP_METHOD_MKCALENDAR, "MKCALENDAR" }, \ { HTTP_METHOD_PATCH, "PATCH" }, \ { HTTP_METHOD_NONE, NULL } \ } diff --git a/relay_http.c b/relay_http.c index 3ac5028..4221392 100644 --- a/relay_http.c +++ b/relay_http.c @@ -645,6 +645,7 @@ relay_read_http(struct bufferevent *bev, void *arg) case HTTP_METHOD_MKREDIRECTREF: case HTTP_METHOD_UPDATEREDIRECTREF: case HTTP_METHOD_SEARCH: + case HTTP_METHOD_MKCALENDAR: case HTTP_METHOD_PATCH: /* HTTP request payload */ if (cre->toread > 0) { diff --git a/relayd.conf.5 b/relayd.conf.5 index a63dd4e..545b18e 100644 --- a/relayd.conf.5 +++ b/relayd.conf.5 @@ -1204,6 +1204,7 @@ and can be either .Ic LOCK , .Ic MERGE , .Ic MKACTIVITY , +.Ic MKCALENDAR , .Ic MKCOL , .Ic MKREDIRECTREF , .Ic MKWORKSPACE ,