<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div><div>Am 03.06.2013 um 11:51 schrieb Klaas Freitag:</div><br><blockquote type="cite"><div>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.<br><br></div></blockquote><div><br></div><div>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.</div><div><br></div><div>OC_FOO_BAR and OC-foo-bar</div><div><br></div><div>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.</div><br><blockquote type="cite"><div>[1] <a href="https://github.com/owncloud/core/wiki/spec:-big-file-chunking">https://github.com/owncloud/core/wiki/spec:-big-file-chunking</a><br></div></blockquote></div><div><br></div><div>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 <a href="http://wiki.nginx.org/Pitfalls#Missing_.28disappearing.29_HTTP_headers">http://wiki.nginx.org/Pitfalls#Missing_.28disappearing.29_HTTP_headers</a>, make sure to set the variable in the default server{}'s scope when using virtual hosts !)</div><div><br></div><div>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).</div><div><br></div><div>Cheers,</div><div>  Daniel</div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>--</div><div><a href="http://www.owncloud.com">www.owncloud.com</a> - Your Data, Your Cloud, Your Way!</div><div><br>ownCloud GmbH, GF: Markus Rex, Holger Dyroff<br>Schloßäckerstrasse 26a, 90443 Nürnberg, HRB 28050 (AG Nürnberg)</div></div></span></div></span></span>
</div>
<br></div></body></html>