From: Kirill A. Korinsky Subject: Re: relayd: add support for the MKCALENDAR HTTP method To: Rafael Sadowski Cc: tech@openbsd.org Date: Sat, 16 May 2026 22:25:50 +0200 On Sat, 16 May 2026 15:34:44 +0200, Rafael Sadowski wrote: > > 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? > make sense, OK kirill@ > > 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 , > -- wbr, Kirill