Hi Michael,

Do you know which http method svn is using ?
Do you have some logs from relayd ?

Regards,
Paul

On Tue, Jul 26, 2016 at 02:29:26PM +0200, Michael Lechtermann wrote:
> 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 <p...@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
> > > > <r...@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
> > > > > <mich...@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

-- 
Paul Fariello

PGP: 0x672CDD2031AAF49B

Reply via email to