CURL hangs trying to upload file from stdin

command linecurlhttpputupload

I'm trying to PUT a file with cURL. This hangs:

curl -vvv --digest -u user -T - https://example.com/file.txt < file

This does not:

curl -vvv --digest -u user -T file https://example.com/file.txt

What's going on?


* About to connect() to example.com port 443 (#0)
*   Trying 0.0.0.0... connected
* Connected to example.com (0.0.0.0) port 443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using DHE-RSA-AES256-SHA
* Server certificate:
*    subject: serialNumber=jJakwdOewDicmqzIorLkKSiwuqfnzxF/, C=US, O=*.example.com, OU=GT01234567, OU=See www.example.com/resources/cps (c)10, OU=Domain Control Validated - ExampleSSL(R), CN=*.example.com
*    start date: 2010-01-26 07:06:33 GMT
*    expire date: 2011-01-28 11:22:07 GMT
*    common name: *.example.com (matched)
*    issuer: C=US, O=Equifax, OU=Equifax Secure Certificate Authority
*    SSL certificate verify ok.
* Server auth using Digest with user 'user'
> PUT /file.txt HTTP/1.1
> User-Agent: curl/7.19.4 (universal-apple-darwin10.0) libcurl/7.19.4 OpenSSL/0.9.8l zlib/1.2.3
> Host: example.com
> Accept: */*
> Transfer-Encoding: chunked
> Expect: 100-continue
> 
< HTTP/1.1 100 Continue

Best Answer

After discussing the issue with Bagder in the cURL IRC channel, it appears to be a bug, which has now been filed.

Related Question