Review Request: Broken redirections in handling of webdav when server requests a redirection from http to https

Dawit Alemayehu adawit at kde.org
Fri Jan 29 19:57:34 GMT 2010


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/2760/#review3971
-----------------------------------------------------------

Ship it!


Looks ok... You probably need the fallback in case the protocol of the redirection/response url is "webdav" and not "http" ??  Alternatively you can simply replace "http" with "webdav" to avoid having to deal with those checks:

QString protocol (u.protocol());
u.setProtocol(protocol.replace(QLatin1String("http"), QLatin1String("webdav"));

Either way it seems fine and should be back ported since it is a fix...

- Dawit


On 2010-01-29 15:52:47, Matthew Dawson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/2760/
> -----------------------------------------------------------
> 
> (Updated 2010-01-29 15:52:47)
> 
> 
> Review request for kdelibs.
> 
> 
> Summary
> -------
> 
> When a website holding a webdav repository automatically redirects all http requests to https, the webdav handler in kio_http forces the request back to http.  The problem occurs as the code assumes the webdav protocol will not change.
> 
> This patch fixes the issue by analyzing the returned url, and sets webdav/webdavs based on whether the server requested a redirection to http/https respectively (it also will handle redirects from webdavs to webdav).  It also includes a fallback to the old behaviour if no protocol is specified, or the protocol is not http/https (is that even a legal request?  If not I can remove the fallback).
> 
> Also, is it ok to backport this patch for KDE SC 4.4?
> 
> 
> Diffs
> -----
> 
>   /trunk/KDE/kdelibs/kioslave/http/http.cpp 1082000 
> 
> Diff: http://reviewboard.kde.org/r/2760/diff
> 
> 
> Testing
> -------
> 
> Locally against a remote server running lighttpd that auto redirects all requests from http to https.  The webdav implementation used comes from webcit, included in the citadel mail server.  Url was:
> 
> webdav://mail.mjdsystems.ca/groupdav
> 
> Tested using kioclient (running kioclient get $url and checking debug output).
> 
> 
> Thanks,
> 
> Matthew
> 
>





More information about the kde-core-devel mailing list