Hu Paul,
the attached patch doesn't change anything for me. WebDAV still isn't working through relayd.
# svn up
svn: Server sent unexpected return value (400 Bad Request) in response to OPTIONS request for '
https://www.<censored>.<tld>/svn/repo'
Regards,
Michael
> Paul Fariello <
pa...@fariello.eu> hat am 27. Juni 2016 um 21:19 geschrieben:
>
>
> Hi,
>
> here is an updated patch adding support for WebDAV Versioning Extensions
> RFC3253.
>
> Regards,
> Paul
>
> On Mon, Jun 27, 2016 at 09:35:20AM +0200, Paul Fariello wrote:
> > Hi,
> >
> > I've encountered the exact same issue. I think this is due to a miss
> > handling of message-body.
> >
> > RFC2616 states in chapter 4.3 that:
> >
> > > The presence of a message-body in a request is signaled by the
> > > inclusion of a Content-Length or Transfer-Encoding header field in
> > > the request's message-headers. A message-body MUST NOT be included in
> > > a request if the specification of the request method (section 5.1.1)
> > > does not allow sending an entity-body in requests. A server SHOULD
> > > read and forward a message-body on any request; if the request method
> > > does not include defined semantics for an entity-body, then the
> > > message-body SHOULD be ignored when handling the request.
> > >
> >
> > Thus we should not ignore message-body for unknown methods by forcing
> > cre->toread to TOREAD_HTTP_HEADER.
> >
> > Please find attached a patch that just allow http request to have a
> > message-body whatever the method is.
> >
> > Regards,
> > Paul
> >
> > > 2016-06-24 11:01:03
> > > <
re...@openbsd.org>:
> > >
> > > Hi,
> > >
> > > thanks, this is the second report regarding WebDAV since yesterday. I'll
> > > have a look \
> > > at this when I'm back home next week.
> > >
> > > Reyk
> > >
> > > > Am 24.06.2016 um 09:21 schrieb Michael Lechtermann
> > > > <
mic...@lechtermann.net>:
> > > >
> > > > Hi,
> > > >
> > > > I have recently configured relayd as SSL accelerator and it is working
> > > > really \
> > > > great. However it seems that not all http methods that are mentioned
> > > > in the man \
> > > > page are actually supported by the http protocol.
> > > > method name
> > > > Match the HTTP request method. The method is specified by name
> > > > and can be either CONNECT, COPY, DELETE, GET, HEAD, LOCK, MKCOL,
> > > > MOVE, OPTIONS, PATCH, POST, PROPFIND, PROPPATCH, PUT, TRACE, or
> > > > UNLOCK.
> > > >
> > > > The above list is from "man relayd.conf" and I would assume that those
> > > > methods, if \
> > > > mentioned, are fully supported, however when trying to use Apache2
> > > > with mod_dav_svn \
> > > > (ap2-subversion) relayd somehow breaks it:
> > > > # svn up
> > > > svn: Server sent unexpected return value (400 Bad Request) in response
> > > > to OPTIONS \
> > > > request for 'https://<url>/svn/repo'
> > > > This was tested using OpenBSD 5.9. If more information is required,
> > > > please say so.
> > > >
> > > > Regards,
> > > > Michael
> > > >
>
> > Index: relay_http.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/relayd/relay_http.c,v
> > retrieving revision 1.55
> > diff -r1.55 relay_http.c
> > 375a376
> > > default:
> > 385,389d385
> > < break;
> > < default:
> > < /* HTTP handler */
> > < cre->toread = TOREAD_HTTP_HEADER;
> > < bev->readcb = relay_read_http;
>
>
> --
> Paul Fariello
>
> PGP: 0x672CDD2031AAF49B