Index | Thread | Search

From:
Kirill A. Korinsky <kirill@korins.ky>
Subject:
Re: relayd: add support for the MKCALENDAR HTTP method
To:
Rafael Sadowski <rafael@sizeofvoid.org>
Cc:
tech@openbsd.org
Date:
Sat, 16 May 2026 22:25:50 +0200

Download raw body.

Thread
On Sat, 16 May 2026 15:34:44 +0200,
Rafael Sadowski <rafael@sizeofvoid.org> 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