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.
Daniel Stenberg [Mon, 19 May 2008 20:58:01 +0000 (20:58 +0000)]
with pipelining disabled, the state should never be set to WAITDO but rather
go straight to DO
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)
Daniel Stenberg [Mon, 19 May 2008 20:57:28 +0000 (20:57 +0000)]
when the multi handle was 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 REMOVE
was called prematurely
Yang Tse [Sun, 18 May 2008 20:13:13 +0000 (20:13 +0000)]
on winsock systems linking is done using library 'ws2_32' when
winsock2.h is available, and library 'winsock' is used when only
winsock.h is available.