Yang Tse [Fri, 20 Jun 2008 18:09:48 +0000 (18:09 +0000)]
Modified configuration script to actually verify if the compiler is good
enough at detecting compilation errors or at least it has been properly
configured to do so. Configuration heavily depends on this capability, so
if this compiler sanity check fails the configuration process will now fail.
Daniel Stenberg [Fri, 20 Jun 2008 11:15:54 +0000 (11:15 +0000)]
- Phil Pellouchoud found a case where libcurl built with NSS failed to
handshake with a SSLv2 server, and it turned out to be because it didn't
recognize the cipher named "rc4-md5". In our list that cipher was named
plainly "rc4". I've now added rc4-md5 to work as an alias as Phil reported
that it made things work for him again.
Daniel Stenberg [Fri, 20 Jun 2008 10:43:32 +0000 (10:43 +0000)]
- Hans-Jurgen May pointed out that trying SCP or SFTP over a SOCKS proxy
crashed libcurl. This is now addressed by making sure we use "plain send"
internally when doing the socks handshake instead of the Curl_write()
function which is designed to use the "target" protocol. That's then SCP or
SFTP in this case. I also took the opportunity and cleaned up some ssh-
related #ifdefs in the code for readability.
Daniel Stenberg [Thu, 19 Jun 2008 21:32:51 +0000 (21:32 +0000)]
- Christopher Palow fixed a curl_multi_socket() issue which previous caused
libcurl to not tell the app properly when a socket was closed (when the name
resolve done by c-ares is done) and then immediately re-created and put to
use again (for the actual connection). Since the closure will make the
"watch status" get lost in several event-based systems libcurl will need to
tell the app about this close/re-create case.
Daniel Stenberg [Thu, 19 Jun 2008 08:31:22 +0000 (08:31 +0000)]
- Dengminwen found a bug in the connection re-use function when using the
multi interface with pipelining enabled as it would wrongly check for,
detect and close "dead connections" even though that connection was already
in use!
Daniel Stenberg [Thu, 19 Jun 2008 05:47:27 +0000 (05:47 +0000)]
Removed the #define of ciphernum since keeping a define updated to be the
number of entries in a provided table is doomed to fail in the long run. Now
we use the NUM_OF_CIPHERS define instead to figure out the amount.
Daniel Stenberg [Wed, 18 Jun 2008 22:01:55 +0000 (22:01 +0000)]
- Rob Crittenden brought a fix for the NSS layer that makes libcurl no longer
always fire up a new connection rather than using the existing one when the
multi interface is used. Original bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=450140
Daniel Stenberg [Wed, 18 Jun 2008 21:48:51 +0000 (21:48 +0000)]
check_issuer_cert() now builds and there's one warning less. Still one compiler
warning in the code though but we need NSS' base64.h header for that and we
don't currently have a suitable way to include it as our own base64.h header
kind of "blocks" it.
Daniel Stenberg [Fri, 13 Jun 2008 21:16:10 +0000 (21:16 +0000)]
In checkPendPipeline() we can't be setting the TIMER_CONNECT correctly as that
is for the TCP connect. I changed it to TIMER_PRETRANSFER which seems to be
what was intended here.
Daniel Stenberg [Thu, 12 Jun 2008 21:03:16 +0000 (21:03 +0000)]
My first attempt at documenting what we try to support and make curl run with
in regard to C standard, third party libraries and operating systems etc.
Daniel Stenberg [Wed, 11 Jun 2008 17:01:58 +0000 (17:01 +0000)]
- I did a cleanup of the internal generic SSL layer and how the various SSL
libraries are supported. Starting now, each underlying SSL library support
code does a set of defines for the 16 functions the generic layer (sslgen.c)
uses (all these new function defines use the prefix "curlssl_"). This
greatly simplified the generic layer in readability by involving much less
#ifdefs and other preprocessor stuff and should make it easier for people to
make libcurl work with new SSL libraries.
Hopefully I can later on document these 16 functions somewhat as well.
I also made most of the internal SSL-dependent functions (using Curl_ssl_
prefix) #defined to nothing when no SSL support is requested - previously
they would unnecessarily call mostly empty functions.
Daniel Stenberg [Sun, 8 Jun 2008 20:53:49 +0000 (20:53 +0000)]
- curl the tool now deals with its command line options somewhat differently!
All boolean options (such as -O, -I, -v etc), both short and long versions,
now always switch on/enable the option named. Using the same option multiple
times thus make no difference. To switch off one of those options, you need
to use the long version of the option and type --no-OPTION. Like to disable
verbose mode you use --no-verbose!
- Added --remote-name-all to curl, which if used changes the default for all
given URLs to be dealt with as if -O is used. So if you want to disable that
for a specific URL after --remote-name-all has been used, you muse use -o -
or --no-remote-name.
Daniel Stenberg [Fri, 6 Jun 2008 17:33:35 +0000 (17:33 +0000)]
- Added CURLINFO_PRIMARY_IP as a new information retrievable with
curl_easy_getinfo. It returns a pointer to a string with the most recently
used IP address. Modified test case 500 to also verify this feature. The
implementing of this feature was sponsored by Lenny Rachitsky at NeuStar.
Daniel Stenberg [Sun, 1 Jun 2008 17:59:53 +0000 (17:59 +0000)]
(committed this for Marty Kuhrt:)
- Updated main.c to return CURLE_OK if PARAM_HELP_REQUESTED was returned
from getparameter instead of CURLE_FAILED_INIT. No point in returning
an error if --help or --version were requested.
Daniel Stenberg [Wed, 28 May 2008 20:56:19 +0000 (20:56 +0000)]
- Emil Romanus found a problem and helped me repeat it. It occured when using
the curl_multi_socket() API with HTTP pipelining enabled and could lead to
the pipeline basically stalling for a very long period of time until it took
off again.
Daniel Stenberg [Wed, 28 May 2008 20:31:28 +0000 (20:31 +0000)]
- Jeff Weber reported memory leaks with aborted SCP and SFTP transfers and
provided excellent repeat recipes. I fixed the cases I managed to reproduce
but Jeff still got some (SCP) problems even after these fixes:
http://curl.haxx.se/mail/lib-2008-05/0342.html
Yang Tse [Tue, 27 May 2008 16:10:51 +0000 (16:10 +0000)]
Known bug #55, libcurl fails to build with MIT Kerberos for Windows (KfW)
due to KfW's library header files exporting symbols/macros that should be
kept private to the KfW library. See ticket #5601 at http://krbdev.mit.edu/rt/
Daniel Stenberg [Mon, 26 May 2008 20:39:41 +0000 (20:39 +0000)]
- Bug report #1973352 (http://curl.haxx.se/bug/view.cgi?id=1973352) identified
how the HTTP redirect following code didn't properly follow to a new URL if
the new url was but a query string such as "Location: ?moo=foo". Test case
1031 was added to verify this fix.
Daniel Stenberg [Fri, 23 May 2008 21:52:56 +0000 (21:52 +0000)]
list all local sources the (demo) tools need, add a few missing scripts to
the dist tarball and remove a two duplicate file names from EXTRA_DIST
(most of it pointed out by Yang Tse)
Patrick Monnerat [Tue, 20 May 2008 10:21:50 +0000 (10:21 +0000)]
Adapting last changes to OS400:
_ Updated packages/OS400/curl.inc.in with new definitions.
_ New connect/bind/sendto/recvfrom wrappers to support AF_UNIX sockets.
_ Include files line length shortened below 100 chars.
_ Const parameter in lib/qssl.[ch].
_ Typos in packages/OS400/initscript.sh.
Daniel Stenberg [Mon, 19 May 2008 20:58:12 +0000 (20:58 +0000)]
- When trying to repeat a multi interface problem I fell over a few multi
interface problems:
o with pipelining disabled, the state should never be set to WAITDO but
rather go straight to DO
o we had multiple states for which the internal function returned no socket
at all to wait for, with the effect that libcurl calls the socket callback
(when curl_multi_socket() is used) with REMOVE prematurely (as it would be
added again within very shortly)
o when in DO and DOING states, the HTTP and HTTPS protocol handler functions
didn't return that the socket should be waited for writing, but instead it
was treated as if no socket was needing monitoring so again REMOVE was
called prematurely.