Daniel Stenberg [Tue, 5 Jun 2007 13:42:23 +0000 (13:42 +0000)]
if we read zero bytes from the proxy, the connection is broken and we need
to bail out
Daniel Stenberg [Tue, 5 Jun 2007 13:41:50 +0000 (13:41 +0000)]
mark connect failures as non-connected when ConnectPlease() fails, like when
a connection through a socks proxy doesn't work
Daniel Stenberg [Mon, 4 Jun 2007 21:33:02 +0000 (21:33 +0000)]
Revered Ashish Sharma's multiple entries patch, as it caused memory madness
Daniel Stenberg [Mon, 4 Jun 2007 21:26:30 +0000 (21:26 +0000)]
minor edit since getting an ID seems pointless when failure happens
Daniel Stenberg [Mon, 4 Jun 2007 21:04:14 +0000 (21:04 +0000)]
fix the bad bad bad mess this caused on name resolves returning more than
one name... Reported by James Bursa
Daniel Stenberg [Sat, 2 Jun 2007 20:09:23 +0000 (20:09 +0000)]
Brad Spencer found and fixed three flaws in the code, found with the new
gcc 4.2.0 warning: -Waddress
Daniel Stenberg [Sat, 2 Jun 2007 19:48:29 +0000 (19:48 +0000)]
Brad House fixed VS2005 compiler warnings due to time_t being 64bit.
He also made recent Microsoft compilers use _strdup() instead of strdup().
Daniel Stenberg [Sat, 2 Jun 2007 19:42:25 +0000 (19:42 +0000)]
Ashish Sharma provided a patch for supporting multiple entries in the
/etc/hosts file. Patch edited for coding style and functionality by me
(Daniel).
Daniel Stenberg [Sat, 2 Jun 2007 19:32:30 +0000 (19:32 +0000)]
ares_destroy_options() and ares_save_options() man pages by Brad House
Daniel Stenberg [Fri, 1 Jun 2007 21:24:34 +0000 (21:24 +0000)]
ouch, two conditionals were turned backwards!
Daniel Stenberg [Fri, 1 Jun 2007 21:01:57 +0000 (21:01 +0000)]
do the update timer stuff even when CURLM_CALL_MULTI_PERFORM is returned
Daniel Stenberg [Thu, 31 May 2007 11:34:32 +0000 (11:34 +0000)]
When transferring 500 downloads in parallel with a c-ares enabled build only
to find that it crashed miserably, and this was due to some select()isms left
in the code. This was due to API restrictions in c-ares 1.3.x, but with the
upcoming c-ares 1.4.0 this is no longer the case so now libcurl runs much
better with c-ares and the multi interface with > 1024 file descriptors in
use.
Daniel Stenberg [Thu, 31 May 2007 08:59:44 +0000 (08:59 +0000)]
Feng Tu made (lib)curl support "upload" resuming work for file:// URLs.
Daniel Stenberg [Wed, 30 May 2007 21:45:56 +0000 (21:45 +0000)]
make next version 1.4.0
Daniel Stenberg [Wed, 30 May 2007 21:37:17 +0000 (21:37 +0000)]
first take at detecting a random device and seeding the random key using data
from it in randomize_key()
Daniel Stenberg [Wed, 30 May 2007 21:11:10 +0000 (21:11 +0000)]
Shmulik Regev brought cryptographically secure transaction IDs
Daniel Stenberg [Wed, 30 May 2007 20:49:14 +0000 (20:49 +0000)]
Brad House added ares_save_options() and ares_destroy_options() that can be
used to keep options for later re-usal when ares_init_options() is used.
Daniel Stenberg [Wed, 30 May 2007 20:04:44 +0000 (20:04 +0000)]
Added CURLMOPT_MAXCONNECTS which is a curl_multi_setopt() option for setting
the maximum size of the connection cache maximum size of the multi handle.
Yang Tse [Wed, 30 May 2007 17:15:05 +0000 (17:15 +0000)]
In case of test failure, try not to show log files of other tests
Daniel Stenberg [Wed, 30 May 2007 12:58:47 +0000 (12:58 +0000)]
added ares_process_fd() to allow applications to ask for processing on
specific sockets and thus avoiding select() and associated functions/macros.
This function will be used by upcoming libcurl releases for this very
reason. It also made me export the ares_socket_t type in the public ares.h
header file, since ares_process_fd() uses that type for two of the arguments.
Daniel Stenberg [Wed, 30 May 2007 09:24:06 +0000 (09:24 +0000)]
remove really annoying debug output that makes life miserable when you do
hundreds of parallel transfers...
Daniel Stenberg [Sat, 26 May 2007 22:09:08 +0000 (22:09 +0000)]
When working with a problem Stefan Becker had, I found an off-by-one buffer
overwrite in Curl_select(). While fixing it, I also improved its performance
somewhat by changing calloc to malloc and breaking out of a loop earlier
(when possible).
Daniel Stenberg [Sat, 26 May 2007 22:02:29 +0000 (22:02 +0000)]
Primarily this fixes an off-by-one buffer overwrite (rare but still existing).
I also switched from calloc() to malloc() as a minor performance boost since
the rest of the code fills in the structs fine anyway - and they must for the
case when we use the stack-based auto variable array instead of the allocated
one.
I made the loop filling in poll_fds[] break when poll_nfds is reached as a
minor speed improvement.
Daniel Stenberg [Sat, 26 May 2007 20:50:00 +0000 (20:50 +0000)]
Clarify a bit about the fact that easy handles remain in the multi stack when
transfers are done and need to be removed and closed or re-added.
Daniel Stenberg [Sat, 26 May 2007 20:47:33 +0000 (20:47 +0000)]
make it a WARNING since this hits people hard in their faces
Daniel Stenberg [Fri, 25 May 2007 21:56:27 +0000 (21:56 +0000)]
Rob Crittenden fixed bug #1705802
(http://curl.haxx.se/bug/view.cgi?id=1705802), which was filed by Daniel
Black identifying several FTP-SSL test cases fail when we build libcurl with
NSS for TLS/SSL. Listed as #42 in KNOWN_BUGS.
Daniel Stenberg [Fri, 25 May 2007 21:20:39 +0000 (21:20 +0000)]
updated
Daniel Stenberg [Fri, 25 May 2007 21:11:28 +0000 (21:11 +0000)]
Ravi Pratap fixed a flaw in the init_by_resolv_conf() function for windows
that could cause it to return a bad return code.
Daniel Stenberg [Thu, 24 May 2007 21:11:18 +0000 (21:11 +0000)]
Song Ma filed bug report #1724016
(http://curl.haxx.se/bug/view.cgi?id=1724016) noticing that downloading
glob-ranges for TFTP was broken in CVS.
Daniel Stenberg [Thu, 24 May 2007 21:11:00 +0000 (21:11 +0000)]
stay within 80 cols
Daniel Stenberg [Thu, 24 May 2007 20:58:25 +0000 (20:58 +0000)]
'mytx' in bug report #1723194 (curl.haxx.se/bug/view.cgi?id=1723194)
pointed out that the warnf() function in the curl tool didn't properly deal
with the cases when excessively long words were used in the string to chop
up.
Daniel Stenberg [Wed, 23 May 2007 12:59:12 +0000 (12:59 +0000)]
TFTP transfers are also blocking
Daniel Stenberg [Wed, 23 May 2007 12:51:52 +0000 (12:51 +0000)]
fix the formatting of the trailing list
Daniel Stenberg [Tue, 22 May 2007 20:46:51 +0000 (20:46 +0000)]
Andre Guibert de Bruet fixed a memory leak when PKCS #12 parsing failed
Daniel Stenberg [Tue, 22 May 2007 19:51:44 +0000 (19:51 +0000)]
Andre Guibert de Bruet fixed a memory leak in the function that verifies the
peer's name in the SSL certificate when built for OpenSSL. The leak happens
for libcurls with CURL_DOES_CONVERSIONS enabled that fail to convert the CN
name from UTF8.
Daniel Stenberg [Sun, 20 May 2007 22:11:47 +0000 (22:11 +0000)]
WaitForSingleObject() uses a millisecond timeout and CURL_TIMEOUT_RESOLVE is
counted in seconds...
Daniel Stenberg [Fri, 18 May 2007 10:40:43 +0000 (10:40 +0000)]
better fix for the dl/ul counters
Daniel Stenberg [Fri, 18 May 2007 10:32:48 +0000 (10:32 +0000)]
Feng Tu reported that curl -w did wrong on TFTP transfers in
bug report #1715394 (http://curl.haxx.se/bug/view.cgi?id=1715394), and the
transfer-related info "variables" were indeed overwritten with zeroes wrongly
and have now been adjusted. The upload size still isn't accurate.
Daniel Stenberg [Fri, 18 May 2007 10:12:57 +0000 (10:12 +0000)]
bail out with error codes on failures
Daniel Stenberg [Thu, 17 May 2007 21:41:02 +0000 (21:41 +0000)]
they spell five with a v...
Daniel Stenberg [Thu, 17 May 2007 21:40:08 +0000 (21:40 +0000)]
Feng Tu pointed out a division by zero error in the TFTP connect timeout
code for timeouts less than fice seconds, and also provided a fix for it.
Dan Fandrich [Thu, 17 May 2007 06:04:44 +0000 (06:04 +0000)]
Added support for compiling under Minix 3.1.3 using ACK.
Dan Fandrich [Wed, 16 May 2007 17:45:53 +0000 (17:45 +0000)]
Match file times occurring in the morning.
Dan Fandrich [Tue, 15 May 2007 00:36:56 +0000 (00:36 +0000)]
Added call to setvbuf (disabled by default for speed) to flush the
memdebug log file after every line and avoid losing the last few log
entries if curl crashes.
Dan Fandrich [Tue, 15 May 2007 00:28:50 +0000 (00:28 +0000)]
Added support for quote commands before a transfer using SFTP and test
case 614.
Allow SFTP quote commands chmod, chown, chgrp to set a value of 0.
Dan Fandrich [Mon, 14 May 2007 22:03:42 +0000 (22:03 +0000)]
Added SFTP directory listing test case 613.
Dan Fandrich [Thu, 10 May 2007 20:03:20 +0000 (20:03 +0000)]
Added FTPS upload tests 408 and 409.
Dan Fandrich [Wed, 9 May 2007 18:24:27 +0000 (18:24 +0000)]
Kristian Gunstone fixed a problem where overwriting an uploaded file with
sftp didn't truncate it first, which would corrupt the file if the new
file was shorter than the old.
Dan Fandrich [Wed, 9 May 2007 18:05:14 +0000 (18:05 +0000)]
Added the list of SFTP post-quote commands, and fixed a few typos.
Dan Fandrich [Tue, 8 May 2007 22:14:30 +0000 (22:14 +0000)]
Added FTPS test cases 406 and 407
Daniel Stenberg [Tue, 8 May 2007 11:34:31 +0000 (11:34 +0000)]
CURLE_FTP_COULDNT_STOR_FILE is now known as CURLE_UPLOAD_FAILED. This is
because I just made SCP uploads return this value if the file size of
the upload file isn't given with CURLOPT_INFILESIZE*. Docs updated to
reflect this news, and a define for the old name was added to the public
header file.
Daniel Stenberg [Mon, 7 May 2007 07:07:55 +0000 (07:07 +0000)]
James Bursa fixed a bug in the multi handle code that made the connection
cache grow a bit too much, beyond the normal 4 * easy_handles.
Daniel Stenberg [Sun, 6 May 2007 08:14:42 +0000 (08:14 +0000)]
extended the description for the curl_multi_socket_action() change
Daniel Stenberg [Thu, 3 May 2007 20:50:07 +0000 (20:50 +0000)]
42. Daniel Black filed bug report #1705802 where he accurately mentions that
several FTP-SSL test cases fail when we build libcurl with NSS for TLS/SSL:
http://curl.haxx.se/bug/view.cgi?id=1705802
Dan Fandrich [Thu, 3 May 2007 19:12:45 +0000 (19:12 +0000)]
Fixed a few typos.
Daniel Stenberg [Thu, 3 May 2007 12:30:33 +0000 (12:30 +0000)]
document the new 200alias behaviour
Daniel Stenberg [Wed, 2 May 2007 20:42:02 +0000 (20:42 +0000)]
Anders Gustafsson remarked that requiring CURLOPT_HTTP_VERSION set to 1.0
when CURLOPT_HTTP200ALIASES is used to avoid the problem mentioned below is
not very nice if the client wants to be able to use _either_ a HTTP 1.1
server or one within the aliases list... so starting now, libcurl will
simply consider 200-alias matches the to be HTTP 1.0 compliant.
Dan Fandrich [Wed, 2 May 2007 19:13:56 +0000 (19:13 +0000)]
Fixed an out of memory handling issue with HTTP pipelines.
Daniel Stenberg [Wed, 2 May 2007 17:35:47 +0000 (17:35 +0000)]
Tobias Rundstrom reported a problem they experienced with xmms2 and recent
libcurls, which turned out to be the 25-nov-2006 change which treats HTTP
responses without Content-Length or chunked encoding as without bodies. We
now added the conditional that the above mentioned response is only without
body if the response is HTTP 1.1.
Daniel Stenberg [Wed, 2 May 2007 13:52:38 +0000 (13:52 +0000)]
- Jeff Pohlmeyer improved the hiperfifo.c example to use the
CURLMOPT_TIMERFUNCTION callback option.
Daniel Stenberg [Wed, 2 May 2007 13:47:56 +0000 (13:47 +0000)]
- Set the timeout for easy handles to expire really soon after addition or
when CURLM_CALL_MULTI_PERFORM is returned from curl_multi_socket*/perform,
to make applications using only curl_multi_socket() to properly function
when adding easy handles "on the fly". Bug report and test app provided by
Michael Wallner.
Daniel Stenberg [Wed, 2 May 2007 13:14:56 +0000 (13:14 +0000)]
Merged _all_ old changelogs into the single CHANGES.0 file. Having a new one
for every year is giving us too many files! I also split out the changes
from 2006 from CHANGES to CHANGES.0 now.
Daniel Stenberg [Wed, 2 May 2007 11:14:55 +0000 (11:14 +0000)]
spell and language fix
Dan Fandrich [Wed, 2 May 2007 06:02:13 +0000 (06:02 +0000)]
Check the return code from curl_multi_add_handle()
Dan Fandrich [Wed, 2 May 2007 00:50:06 +0000 (00:50 +0000)]
Fixed a logic error in the last patch and another out of memory issue.
Reduce the scope of some variables.
Dan Fandrich [Tue, 1 May 2007 20:52:05 +0000 (20:52 +0000)]
Improved behaviour in out of memory conditions.
Dan Fandrich [Tue, 1 May 2007 20:50:50 +0000 (20:50 +0000)]
Use memcpy instead of strcpy to improve performance.
Daniel Stenberg [Mon, 30 Apr 2007 21:47:58 +0000 (21:47 +0000)]
brlcad on #curl provided this patch (edited by me) since "configure will fail
looking for a C++ preprocessor on libtool-using projects" with the factory-
installed libtool version on Mac OS X.
Dan Fandrich [Mon, 30 Apr 2007 20:15:33 +0000 (20:15 +0000)]
Improved the test harness to allow running test servers on other than
the default port numbers, allowing more than one test suite to run
simultaneously on the same host.
Dan Fandrich [Mon, 30 Apr 2007 19:05:48 +0000 (19:05 +0000)]
Fixed some tests to stop hard-coding the port number.
Dan Fandrich [Sun, 29 Apr 2007 07:04:29 +0000 (07:04 +0000)]
Rearranged some allocs so they will be freed correctly in the error path.
Daniel Stenberg [Sat, 28 Apr 2007 21:01:30 +0000 (21:01 +0000)]
Peter O'Gorman fixed libcurl to not init GnuTLS as early as we did before,
since it then inits libgcrypt and libgcrypt is being evil and EXITS the
application if it fails to get a fine random seed. That's really not a nice
thing to do by a library.
Daniel Stenberg [Sat, 28 Apr 2007 20:27:07 +0000 (20:27 +0000)]
Frank Hempel fixed a curl_easy_duphandle() crash on a handle that had
been removed from a multi handle, and then fixed another flaw that prevented
curl_easy_duphandle() to work even after the first fix - the handle was
still marked as using the multi interface.
Daniel Stenberg [Fri, 27 Apr 2007 08:30:48 +0000 (08:30 +0000)]
Move the explictit free of the range string to Curl_close() from Curl_disconnect()
since it easy-handle related and not connection-related.
Daniel Stenberg [Fri, 27 Apr 2007 08:19:48 +0000 (08:19 +0000)]
oops, this was supposed to be properly removed
Daniel Stenberg [Fri, 27 Apr 2007 08:18:47 +0000 (08:18 +0000)]
As a follow-up to the removal of the free of the range data in Curl_done() - this
moves and re-arranges how range/resume is setup and freed.
Daniel Stenberg [Thu, 26 Apr 2007 21:30:29 +0000 (21:30 +0000)]
Peter O'Gorman found a problem with SCP downloads when the downloaded file
was 16385 bytes (16K+1) and it turned out we didn't properly always "suck
out" all data from libssh2. The effect being that libcurl would hang on the
socket waiting for data when libssh2 had in fact already read it all...
Dan Fandrich [Wed, 25 Apr 2007 23:18:52 +0000 (23:18 +0000)]
Added support in runtests.pl for "!n" test numbers to disable individual tests.
Dan Fandrich [Wed, 25 Apr 2007 20:54:02 +0000 (20:54 +0000)]
Fixed an out of memory handling issue.
Daniel Stenberg [Wed, 25 Apr 2007 20:20:15 +0000 (20:20 +0000)]
Sonia Subramanian brought our attention to a problem that happens if you set
the CURLOPT_RESUME_FROM or CURLOPT_RANGE options and an existing connection
in the connection cache is closed to make room for the new one when you call
curl_easy_perform(). It would then wrongly free range-related data in the
connection close funtion.
Dan Fandrich [Wed, 25 Apr 2007 20:09:32 +0000 (20:09 +0000)]
When displaying log files, truncate the really longs ones such as you
would get from a torture test.
Yang Tse [Wed, 25 Apr 2007 03:00:10 +0000 (03:00 +0000)]
Steve Little's fixes to allow compilation on VMS 64-bit mode
Dan Fandrich [Tue, 24 Apr 2007 23:28:57 +0000 (23:28 +0000)]
Treat log files and -k the same when running torture tests as when not.
Dan Fandrich [Tue, 24 Apr 2007 21:30:39 +0000 (21:30 +0000)]
Clear out FTP server options before each new client.
Wait for child processes to die to avoid creating zombies.
Daniel Stenberg [Tue, 24 Apr 2007 10:18:06 +0000 (10:18 +0000)]
Robert Iakobashvili made the 'master_buffer' get allocated first once it is
can/will be used as it then makes the common cases save 16KB of data for each
easy handle that isn't used for pipelining.
Dan Fandrich [Mon, 23 Apr 2007 23:00:38 +0000 (23:00 +0000)]
Added tests 610-612 to test more SFTP post-quote commands.
Dan Fandrich [Mon, 23 Apr 2007 22:58:45 +0000 (22:58 +0000)]
Added <postcheck> support to the test harness.
Dan Fandrich [Mon, 23 Apr 2007 21:18:30 +0000 (21:18 +0000)]
Mention NSS, <postcmd> commands
Dan Fandrich [Mon, 23 Apr 2007 01:51:02 +0000 (01:51 +0000)]
Changed another nonexistent host name to be under the haxx.se domain
to guarantee against it ever being valid.
Yang Tse [Sun, 22 Apr 2007 18:17:46 +0000 (18:17 +0000)]
Avoid an unnecessary call to gettimeofday() when
using custom timeout values.
Daniel Stenberg [Sun, 22 Apr 2007 09:37:05 +0000 (09:37 +0000)]
--without-ssl disables OpenSSL only
Daniel Stenberg [Sun, 22 Apr 2007 09:31:27 +0000 (09:31 +0000)]
- Song Ma's warning if -r/--range is given with a "bad" range, also noted in
the man page now.
Daniel Stenberg [Sun, 22 Apr 2007 08:51:11 +0000 (08:51 +0000)]
configure fix and new mirror
Daniel Stenberg [Sun, 22 Apr 2007 08:05:40 +0000 (08:05 +0000)]
clarify a bit on the follow-redirect logic and when curl switches from POST
to GET on redirect
Daniel Stenberg [Sun, 22 Apr 2007 07:36:12 +0000 (07:36 +0000)]
shell script assigns should not have spaces, hopefully fixes bug #1705177
Daniel Stenberg [Sat, 21 Apr 2007 21:32:31 +0000 (21:32 +0000)]
Daniel Black filed bug #1704675 (curl.haxx.se/bug/view.cgi?id=1704675)
identifying a double-free problem in the SSL-dealing layer, telling GnuTLS to
free NULL credentials on closedown after a failure and a bad #ifdef for NSS
when closing down SSL.
Daniel Stenberg [Sat, 21 Apr 2007 21:24:53 +0000 (21:24 +0000)]
Curl_ssl_close(): mark the connection as not using SSL anymore, to better
survive getting called twice
Gunter Knauf [Sat, 21 Apr 2007 15:32:35 +0000 (15:32 +0000)]
fixed ARFLAGS for CodeWarrior build.
Dan Fandrich [Fri, 20 Apr 2007 17:16:32 +0000 (17:16 +0000)]
Changed an error message slightly so it can be caught easier by the
autobuild logs scanner.
Daniel Stenberg [Fri, 20 Apr 2007 07:19:36 +0000 (07:19 +0000)]
ifndef check the CURL_MAX_WRITE_SIZE define to allow this value to easier be
changed at build time (from command line or similar)