Daniel Stenberg [Thu, 3 Apr 2008 21:44:49 +0000 (21:44 +0000)]
- Setting CURLOPT_NOBODY to FALSE will now switch the HTTP request method to
GET simply because previously when you set CURLOPT_NOBODY to TRUE first and
then FALSE you'd end up in a broken state where a HTTP request would do a
HEAD by still act a lot like for a GET and hang waiting for the content etc.
Daniel Stenberg [Mon, 31 Mar 2008 10:02:23 +0000 (10:02 +0000)]
- Added CURLFORM_STREAM as a supported option to curl_formadd() to allow an
application to provide data for a multipart with the read callback. Note
that the size needs to be provided with CURLFORM_CONTENTSLENGTH when the
stream option is used. This feature is verified by the new test case
554. This feature was sponsored by Xponaut.
Dan Fandrich [Mon, 31 Mar 2008 03:01:13 +0000 (03:01 +0000)]
Changed the makefile so the doc/examples/ programs are never built in a
normal build/install (only with the 'make check' target), so that a
build failure in the examples isn't fatal.
Daniel Stenberg [Thu, 27 Mar 2008 13:07:12 +0000 (13:07 +0000)]
- As found out and reported by Dan Petitt, libcurl didn't show progress/call
the progress callback for the first (potentially huge) piece of body data
sent together with the POST request headers in the initial send().
Daniel Stenberg [Tue, 25 Mar 2008 19:19:49 +0000 (19:19 +0000)]
- Made setting the CURLOPT_SSL_CTX_FUNCTION option return a failure in case
libcurl wasn't built to use OpenSSL as that is a prerequisite for this
option to function!
Dan Fandrich [Thu, 20 Mar 2008 20:08:44 +0000 (20:08 +0000)]
Fixed a problem where curl-config --protocols could erroneously show LDAPS
support when curl didn't even have regular LDAP support. It looks like
this could happen when the --enable-ldaps configure switch is given but
configure couldn't find the LDAP headers or libraries.
Gunter Knauf [Thu, 20 Mar 2008 16:10:54 +0000 (16:10 +0000)]
added --extvercmd parameter which can be used to specify an external command to display 'curl --version', f.e. with MinW32 crosscompile --extvercmd=/usr/bin/wine can be used.
Michal Marek [Thu, 20 Mar 2008 08:09:23 +0000 (08:09 +0000)]
- Added --with-ca-path=DIRECTORY configure option to use an openSSL CApath by
default instead of a ca bundle. The configure script will also look for a
ca path if no ca bundle is found and no option given.
- Fixed detection of previously installed curl-ca-bundle.crt
Michal Marek [Mon, 17 Mar 2008 14:22:10 +0000 (14:22 +0000)]
Mark the statement expr with __extension__ so that gcc -pedantic doesn't emit
any hard-to-grasp warnings in curl_easy_setopt() calls in applications.
Also delete superfluous semicolons.
Dan Fandrich [Thu, 13 Mar 2008 22:51:39 +0000 (22:51 +0000)]
Added tests 622-625 to test SFTP/SCP uploads. Test 625 was an attempt to
reproduce the --ftp-create-dirs problem reported by Brian Ulm, but that
seems to need a call curl_easy_reset() which this test case doesn't do.
Daniel Stenberg [Thu, 13 Mar 2008 21:43:39 +0000 (21:43 +0000)]
- Brian Ulm figured out that if you did an SFTP upload with
CURLOPT_FTP_CREATE_MISSING_DIRS to create a directory, and then re-used the
handle and uploaded another file to another directory that needed to be
created, the second upload would fail. Another case of a state variable that
wasn't properly reset between requests.
- I rewrote the 100-continue code to use a single state variable instead of
the previous two ones. I think it made the logic somewhat clearer.
Daniel Stenberg [Thu, 13 Mar 2008 21:43:30 +0000 (21:43 +0000)]
- Brian Ulm figured out that if you did an SFTP upload with
CURLOPT_FTP_CREATE_MISSING_DIRS to create a directory, and then re-used the
handle and uploaded another file to another directory that needed to be
created, the second upload would fail. Another case of a state variable that
wasn't properly reset between requests.
Daniel Stenberg [Tue, 11 Mar 2008 22:55:23 +0000 (22:55 +0000)]
- Dmitry Popov filed bug report #1911069
(http://curl.haxx.se/bug/view.cgi?id=1911069) that identified a race
condition in the name resolver code when the DNS cache is shared between
multiple easy handles, each running in simultaneous threads that could cause
crashes.
Daniel Stenberg [Tue, 11 Mar 2008 13:14:16 +0000 (13:14 +0000)]
- Added a macro for curl_easy_setopt() that accepts three arguments and simply
does nothing with them, just to make sure libcurl users always use three
arguments to this function. Due to its use of ... for the third argument, it
is otherwise hard to detect abuse.
Daniel Stenberg [Tue, 11 Mar 2008 12:18:00 +0000 (12:18 +0000)]
Recommend passing a 1 as parameter to CURLOPT_SSLENGINE_DEFAULT rather than
a "dummy" just to get things as fixed as possible in case we ever get the urge
to change this to actually mean something.
Michal Marek [Tue, 11 Mar 2008 07:37:40 +0000 (07:37 +0000)]
- Added a type checking macro for curl_easy_setopt(), needs gcc-4.3 and only
works in C mode atm (http://curl.haxx.se/mail/lib-2008-02/0267.html ,
http://curl.haxx.se/mail/lib-2008-02/0292.html )
Daniel Stenberg [Sun, 9 Mar 2008 11:37:48 +0000 (11:37 +0000)]
- Brian Ulm reported a crash when doing a second SFTP transfer on a re-used
easy handle if curl_easy_reset() was used between them. I fixed it and Brian
verified that it cured his problem.
- Brian Ulm reported that if you first tried to download a non-existing SFTP
file and then fetched an existing one and re-used the handle, libcurl would
still report the second one as non-existing as well! I fixed it abd Brian
verified that it cured his problem.
Dan Fandrich [Thu, 6 Mar 2008 01:15:28 +0000 (01:15 +0000)]
Added tests 616 and 617 to see how SFTP and SCP cope with zero-length
files, as questioned by Mike Protts. SFTP does for me but SCP doesn't
so test 617 is disabled for now.
Yang Tse [Fri, 29 Feb 2008 17:13:39 +0000 (17:13 +0000)]
Force AIX xlc to fail and not generate object code if the source code has
compiled with errors. This behaviour is needed for autoconf macros which
rely on the ability to compile with or without errors, and is safer than
xlc's default of failing only upon severe errors.
Daniel Stenberg [Thu, 28 Feb 2008 21:25:00 +0000 (21:25 +0000)]
Removed:
121 - Kaspar Brand's and Guenter Knauf's work on the TLS extension Server Name
Indication is now committed
122 - Progress callback not called during failed socket connect with the multi
interface, is now simply pending a closure since no feedback has been
received lately.
Gunter Knauf [Wed, 27 Feb 2008 01:43:12 +0000 (01:43 +0000)]
a couple of small fixes to the makefile:
fixed comments; fixed INSTDIR define, simplified rules;
changed to use get_ver.awk in current dir rather than the curl one.
Daniel Stenberg [Sat, 23 Feb 2008 12:27:45 +0000 (12:27 +0000)]
- Sam Listopad provided a patch in feature-request #1900014
http://curl.haxx.se/bug/feature.cgi?id=1900014 that makes libcurl (built to
use OpenSSL) support a full chain of certificates in a given PKCS12
certificate.
Daniel Stenberg [Thu, 21 Feb 2008 17:52:16 +0000 (17:52 +0000)]
- Zmey Petroff found a crash when libcurl accessed a NULL pointer, which
happened if you set the connection cache size to 1 and for example failed to
login to an FTP site. Bug report #1896698
(http://curl.haxx.se/bug/view.cgi?id=1896698)
Daniel Stenberg [Wed, 20 Feb 2008 09:56:26 +0000 (09:56 +0000)]
- Based on initial work done by Gautam Kachroo to address a bug, we now keep
better control at the exact state of the connection's SSL status so that we
know exactly when it has completed the SSL negotiation or not so that there
won't be accidental re-uses of connections that are wrongly believed to be
in SSL-completed-negotiate state.