[Cyberduck-trac] [Cyberduck] #2268: Uploads fail with digest access authentication

Cyberduck trac at trac.cyberduck.ch
Mon Dec 15 23:24:44 CET 2008


#2268: Uploads fail with digest access authentication
----------------------------------+-----------------------------------------
 Reporter:  deubeulyou@…          |        Owner:  dkocher
     Type:  defect                |       Status:  closed 
 Priority:  normal                |    Milestone:  3.1    
Component:  webdav                |      Version:  3.0.1  
 Severity:  normal                |   Resolution:  fixed  
 Keywords:                        |  
----------------------------------+-----------------------------------------
Changes (by dkocher):

  * status:  assigned => closed
  * resolution:  => fixed
  * milestone:  3.2 => 3.1


Comment:

 This has been resolved using the `Use of the 100 (Continue) Status`
 feature of `HTTP 1.1`. Before sending the entity request body, we check if
 the server accepts the authentication credentials and only continue if
 `100 Continue` is returned. It looks like this running against Apache2:

 {{{
 PUT /dav/digest/DSC01446.JPG HTTP/1.1[\r][\n]
 Content-Type: application/octet-stream[\r][\n]
 User-Agent: Cyberduck/_VERSION_ (_REVISION_)[\r][\n]
 Host: sudo.ch[\r][\n]
 Expect: 100-continue[\r][\n]
 Content-Length: 3061257[\r][\n]
 [\r][\n]
 HTTP/1.1 401 Authorization Required[\r][\n]
 HTTP/1.1 401 Authorization Required[\r][\n]
 Date: Mon, 15 Dec 2008 22:22:26 GMT[\r][\n]
 Server: Apache/2.2.9 (FreeBSD) mod_ssl/2.2.9 OpenSSL/0.9.7e-p1
 mod_python/3.3.1 Python/2.5.2 DAV/2 PHP/5.2.6 with Suhosin-Patch
 SVN/1.5.4[\r][\n]
 WWW-Authenticate: Digest realm="DAV Access Digest",
 nonce="HqASRx1eBAA=dd9bc6679274a1d2f53bd30600ebdeb07b6b2207",
 algorithm=MD5, qop="auth"[\r][\n]
 Content-Length: 581[\r][\n]
 Content-Type: text/html; charset=iso-8859-1[\r][\n]
 [\r][\n]
 PUT /dav/digest/DSC01446.JPG HTTP/1.1[\r][\n]
 Content-Type: application/octet-stream[\r][\n]
 User-Agent: Cyberduck/_VERSION_ (_REVISION_)[\r][\n]
 Expect: 100-continue[\r][\n]
 Content-Length: 3061257[\r][\n]
 Authorization: Digest username="dkocher", realm="DAV Access Digest",
 nonce="HqASRx1eBAA=dd9bc6679274a1d2f53bd30600ebdeb07b6b2207",
 uri="/dav/digest/DSC01446.JPG",
 response="44556a020fcf61f3cb1c5a2cf13f932b", qop=auth, nc=00000001,
 cnonce="ac25dbf481fd659a01a6965daf173268", algorithm="MD5"[\r][\n]
 Host: sudo.ch[\r][\n]
 [\r][\n]
 HTTP/1.1 100 Continue[\r][\n]
 HTTP/1.1 100 Continue[\r][\n]
 [\r][\n]
 HTTP/1.1 204 No Content[\r][\n]
 HTTP/1.1 204 No Content[\r][\n]
 }}}

-- 
Ticket URL: <http://trac.cyberduck.ch/ticket/2268#comment:12>
Cyberduck <http://cyberduck.ch>
FTP, SFTP, WebDAV and Amazon S3 Browser for Mac OS X.


More information about the Cyberduck-trac mailing list