Opened on Jan 14, 2009 at 12:19:53 AM
Closed on Jun 17, 2011 at 9:46:23 AM
Last modified on Jun 29, 2011 at 11:35:41 AM
#2896 closed defect (fixed)
No fallback for Expectation Failure
Reported by: | anonymous | Owned by: | dkocher |
---|---|---|---|
Priority: | low | Milestone: | 4.1 |
Component: | webdav | Version: | 3.7 |
Severity: | normal | Keywords: | webdav expected rfc2616 |
Cc: | Architecture: | ||
Platform: |
Description (last modified by dkocher)
I am using webdav with popular HTTP servers lighttpd and nginx. Latest version of Cyberduck breaks uploading, giving 417 HTTP error.
In fact lighttpd really does not support "Expect:" field. The problem is that there are no fallback (to HTTP/1.0). Switching to HTTP/1.0 after receiving 417 error would be the best solution.
I/O Error: Upload failed /file.html null (417)
PUT /file.html HTTP/1.1[\r][\n] Content-Type: text/html[\r][\n] User-Agent: Cyberduck/3.1.1 (4457)[\r][\n] Host: anonymous.host:8080[\r][\n] Expect: 100-continue[\r][\n] Content-Length: 889[\r][\n] [\r][\n] HTTP/1.1 417 Expectation Failed[\r][\n] HTTP/1.1 417 Expectation Failed[\r][\n] Connection: close[\r][\n] Content-Length: 0[\r][\n] Date: Wed, 14 Jan 2009 00:04:13 GMT[\r][\n] Server: lighttpd/1.4.20[\r][\n] [\r][\n]
Change History (12)
comment:1 Changed on Jan 14, 2009 at 8:35:49 AM by dkocher
- Description modified (diff)
- Resolution set to wontfix
- Status changed from new to closed
comment:2 follow-up: ↓ 5 Changed on Oct 29, 2010 at 1:34:43 AM by https://www.google.com/accounts/o8/id?id=aitoawkgh5nrdkuu4brr1gol37zddvisyqhuui0
- Keywords rfc2616 added
- Milestone 3.1.2 deleted
- Resolution wontfix deleted
- Status changed from closed to reopened
- Version changed from 3.1.1 to 3.7
I strongly disagree with your view here. Older servers, embedded boxes, etc will not be able to upgrade quickly to newer, compliant, http servers. Thus rendering Cyberduck incompatible with any outdated web server.
As per the rfc 2616 8.2.3:
Because of the presence of older implementations, the protocol allows ambiguous situations in which a client may send "Expect: 100- continue" without receiving either a 417 (Expectation Failed) status or a 100 (Continue) status
Cyberduck is awesome, I see no reason if it complies with the above for it not to ignore the 417 lighttpd, or other servers, might return.
comment:3 Changed on Nov 20, 2010 at 11:46:42 AM by dkocher
#4384 closed as duplicate.
comment:4 Changed on Nov 20, 2010 at 2:13:34 PM by dkocher
- Priority changed from high to normal
- Summary changed from WebDAV upload failed (Expect: 100-continue) to No fallback for Expectation Failure
comment:5 in reply to: ↑ 2 Changed on Nov 20, 2010 at 2:15:42 PM by dkocher
Replying to https://www.google.com/accounts/o8/id?id=aitoawkgh5nrdkuu4brr1gol37zddvisyqhuui0:
I strongly disagree with your view here. Older servers, embedded boxes, etc will not be able to upgrade quickly to newer, compliant, http servers. Thus rendering Cyberduck incompatible with any outdated web server.
As per the rfc 2616 8.2.3:
Because of the presence of older implementations, the protocol allows ambiguous situations in which a client may send "Expect: 100- continue" without receiving either a 417 (Expectation Failed) status or a 100 (Continue) status
Cyberduck is awesome, I see no reason if it complies with the above for it not to ignore the 417 lighttpd, or other servers, might return.
The reason that we require support for continuation is that the user experience for failed uploads is very bad otherwise. All data is transmitted before any error about possible problems is displayed.
comment:6 Changed on Nov 29, 2010 at 9:52:34 PM by dkocher
- Priority changed from normal to low
comment:7 Changed on Dec 3, 2010 at 4:23:55 PM by dkocher
- Resolution set to wontfix
- Status changed from reopened to closed
comment:8 Changed on May 2, 2011 at 8:05:34 AM by dkocher
#5928 closed as duplicate.
comment:9 Changed on Jun 17, 2011 at 9:40:17 AM by dkocher
- Milestone set to 4.1
- Resolution wontfix deleted
- Status changed from closed to reopened
#6012 closed as duplicate.
comment:10 Changed on Jun 17, 2011 at 9:44:12 AM by dkocher
Fixed in Sardine.
comment:11 Changed on Jun 17, 2011 at 9:46:23 AM by dkocher
- Resolution set to fixed
- Status changed from reopened to closed
In r8805.
comment:12 Changed on Jun 29, 2011 at 11:35:41 AM by dkocher
Actual fix in r8830.
See http://redmine.lighttpd.net/issues/show/1017. Apparently this is fixed in the 1.5 branch of lighthttpd.