diff options
author | Daniel Stenberg <daniel@haxx.se> | 2011-10-16 01:07:29 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2011-10-16 01:09:56 +0200 |
commit | 840eff44f2bea71acaa2a227998a97d01aacdc1f (patch) | |
tree | 2f0eddc19f513a85c8077b247ca090a548fccfd3 /tests/data/test587 | |
parent | ff03ee2a3c958065ad5fec657963deefb9b37ac0 (diff) | |
download | curl-840eff44f2bea71acaa2a227998a97d01aacdc1f.tar.gz |
formdata: ack read callback abort
When doing a multipart formpost with a read callback, and that callback
returns CURL_READFUNC_ABORT, that return code must be properly
propagated back and handled accordingly. Previously it would be handled
as a zero byte read which would cause a hang!
Added test case 587 to verify. It uses the lib554.c source code with a
small ifdef.
Reported by: Anton Bychkov
Bug: http://curl.haxx.se/mail/lib-2011-10/0097.html
Diffstat (limited to 'tests/data/test587')
-rw-r--r-- | tests/data/test587 | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/data/test587 b/tests/data/test587 new file mode 100644 index 000000000..6e1239a6a --- /dev/null +++ b/tests/data/test587 @@ -0,0 +1,51 @@ +<testcase> +# +# Server-side +<reply> +<data> +</data> +</reply> + +# Client-side +<client> +<server> +http +</server> +# tool is what to use instead of 'curl' +<tool> +lib587 +</tool> + + <name> +HTTP multi-part formpost with aborted read callback + </name> + <command> +http://%HOSTIP:%HTTPPORT/587 +</command> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<strippart> +s/^------------------------------[a-z0-9]*/------------------------------/ +s/boundary=----------------------------[a-z0-9]*/boundary=----------------------------/ +</strippart> +<protocol> +POST /587 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+Content-Length: 732
+Expect: 100-continue
+Content-Type: multipart/form-data; boundary=----------------------------
+
+------------------------------
+Content-Disposition: form-data; name="sendfile"; filename="postit2.c"
+
+</protocol> +# CURLE_ABORTED_BY_CALLBACK (42) +<errorcode> +42 +</errorcode> +</verify> +</testcase> |