[Owncloud] Chunked Upload Problem

Daniel Molkentin danimo at owncloud.com
Mon Jun 3 16:59:38 UTC 2013


Am 03.06.2013 um 11:51 schrieb Klaas Freitag:

> Problems happen if there are proxies or whatever gangsters on the way between client and server that filter out these headers without further notice. Than the server has no chance to detect that chunked upload is in progress.
> 

I found the reason: nginx (natively and when used as a reverse proxy, potentially also IIS, would need more investigation) do not deal properly with headers using underscores by default. The reason is that when transforming this to CGI variables, all underscores are dashes converted into underscores, i.e.

OC_FOO_BAR and OC-foo-bar

are both represented as HTTP_OC_FOO_BAR in the server environment (i.e. PHP's _SERVER map). Yes, header fields are also case insensitive.

> [1] https://github.com/owncloud/core/wiki/spec:-big-file-chunking


I propose do deprecate OC_CHUNKING, and introduce org.owncloud.chunked: 1 (as per RFC6648, such notation is recommended for headers not subject to standardization efforts and superseeds the X- vendor prefix). We will keep sendind OC_CHUNKING in the client and accept it in the server implementation. For existing setups, I will also amend the server documentation for nginx to point out this trap (set http://wiki.nginx.org/Pitfalls#Missing_.28disappearing.29_HTTP_headers, make sure to set the variable in the default server{}'s scope when using virtual hosts !)

For maximum data safety, we have now fixed csync to not lose data if the header is missing (only an issue to 1.3.0 beta testers).

Cheers,
  Daniel

--
www.owncloud.com - Your Data, Your Cloud, Your Way!

ownCloud GmbH, GF: Markus Rex, Holger Dyroff
Schloßäckerstrasse 26a, 90443 Nürnberg, HRB 28050 (AG Nürnberg)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/owncloud/attachments/20130603/1c12bf6b/attachment.html>


More information about the Owncloud mailing list