Commit Graph

8282 Commits

Author SHA1 Message Date
Daniel Stenberg
89ab5f4380 Robson Braga Araujo reported bug #1618359
(http://curl.haxx.se/bug/view.cgi?id=1618359) and subsequently provided a
patch for it: when downloading 2 zero byte files in a row, curl 7.16.0
enters an infinite loop, while curl 7.16.1-20061218 does one additional
unnecessary request.

Fix: During the "Major overhaul introducing http pipelining support and
shared connection cache within the multi handle." change, headerbytecount
was moved to live in the Curl_transfer_keeper structure. But that structure
is reset in the Transfer method, losing the information that we had about
the header size. This patch moves it back to the connectdata struct.
2006-12-21 10:15:38 +00:00
Daniel Stenberg
439b84c782 CURLOPT_CAPATH is OpenSSL-only 2006-12-21 09:36:03 +00:00
Daniel Stenberg
0e899d7728 * removed the SSH-based protocols as they are now being implemented
* added mentioning of doing the stunnel equivalent ourselves for the test suite
* spell-check
2006-12-19 14:28:01 +00:00
Daniel Stenberg
1a85fb2bd0 37. Having more than one connection to the same host when doing NTLM
authentication (with performs multiple "passes" and authenticates a
  connection rather than a HTTP request), and particularly when using the
  multi interface, there's a risk that libcurl will re-use a wrong connection
  when doing the different passes in the NTLM negotiation and thus fail to
  negotiate (in seemingly mysterious ways).

36. --limit-rate (CURLOPT_MAX_SEND_SPEED_LARGE and
  CURLOPT_MAX_RECV_SPEED_LARGE) are broken on Windows (since 7.16.0, but
  that's when they were introduced as previous to that the limiting logic was
  made in the application only and not in the library). This problem is easily
  repeated and it takes a Windows person to fire up his/hers debugger in order
  to fix. http://curl.haxx.se/bug/view.cgi?id=1603712
2006-12-19 09:09:44 +00:00
Daniel Stenberg
8d11767048 recv() doesn't take MSG_NOSIGNAL in its forth argument so let's not pass it.
Brendan Jurd pointed out.
2006-12-16 22:28:08 +00:00
Daniel Stenberg
fcccf9aa0d Brendan Jurd provided a fix that now prevents libcurl from getting a SIGPIPE
during certain conditions when GnuTLS is used.
2006-12-16 21:33:51 +00:00
Daniel Stenberg
72bd027537 Brendan Jurd pointed out these typos 2006-12-16 21:05:33 +00:00
Gisle Vanem
1d44c9ccc1 Plug more leaks. 2006-12-15 16:57:28 +00:00
Gisle Vanem
33831759b5 Fix typo. 2006-12-15 16:49:40 +00:00
Daniel Stenberg
6fe932b255 minor syntax mistake 2006-12-14 18:20:46 +00:00
Gisle Vanem
8da02df8e0 Free 'config->iface' if set. 2006-12-14 16:42:53 +00:00
Gisle Vanem
587c99351d ahost.exe needs getopt.obj. 2006-12-11 15:18:52 +00:00
Daniel Stenberg
88c8d72a21 Alexey Simak found out that when doing FTP with the multi interface and
something went wrong like it got a bad response code back from the server,
libcurl would leak memory. Added test case 538 to verify the fix.

I also noted that the connection would get cached in that case, which
doesn't make sense since it cannot be re-use when the authentication has
failed. I fixed that issue too at the same time, and also that the path
would be "remembered" in vain for cases where the connection was about to
get closed.
2006-12-11 09:32:58 +00:00
Daniel Stenberg
cf99fed17a PROT_CLOSEACTION doesn't have to be its own bit but can just as well just
include the protocol bits of such actions, which currently only means FTP
2006-12-11 09:31:08 +00:00
Daniel Stenberg
ca48b6bf35 fixed the printf formatting after I changed the type of 'excess' 2006-12-07 15:33:06 +00:00
Daniel Stenberg
4dcd606b47 7.16.1 knows SFTP too 2006-12-06 10:07:12 +00:00
Daniel Stenberg
393ddd6e1f clarify --limit-rate somewhat: it might send away/receive chunks of date in
temporarily higher speeds than requested, but the given limiting is considered
"over time" and is an average
2006-12-06 09:52:04 +00:00
Daniel Stenberg
840e796aa9 Sebastien Willemijns reported bug #1603712
(http://curl.haxx.se/bug/view.cgi?id=1603712) which is about connections
getting cut off prematurely when --limit-rate is used. While I found no such
problems in my tests nor in my reading of the code, I found that the
--limit-rate code was severly flawed (since it was moved into the lib, since
7.15.5) when used with the easy interface and it didn't work as documented so
I reworked it somewhat and now it works for my tests.
2006-12-06 09:37:40 +00:00
Daniel Stenberg
5fd096da8d Stefan Krause pointed out a compiler warning with a picky MSCV compiler when
passing a curl_off_t argument to the Curl_read_rewind() function which takes
an size_t argument. Curl_read_rewind() also had debug code left in it and it
was put in a different source file with no good reason when only used from
one single spot.
2006-12-05 21:40:14 +00:00
Daniel Stenberg
eb29c5c285 removed the final traces of the closepolicy option 2006-12-05 21:39:24 +00:00
Daniel Stenberg
1eb286e43e update after today's work 2006-12-05 16:04:46 +00:00
Daniel Stenberg
ae76ebe2d1 Sh Diao reported that CURLOPT_CLOSEPOLICY doesn't work, and indeed, there is
no code present in the library that receives the option. Since it was not
possible to use, we know that no current users exist and thus we simply
removed it from the docs and made the code always use the default path of
the code.
2006-12-05 16:04:01 +00:00
Daniel Stenberg
e4505aefd9 Jared Lundell filed bug report #1604956
(http://curl.haxx.se/bug/view.cgi?id=1604956) which identified setting
CURLOPT_MAXCONNECTS to zero caused libcurl to SIGSEGV. Starting now, libcurl
will always internally use no less than 1 entry in the connection cache.
2006-12-05 15:36:26 +00:00
Daniel Stenberg
d6b0612882 better preprocessor check for recent MSVC versions 2006-12-05 15:24:18 +00:00
Daniel Stenberg
4c65eb0af8 CURLOPT_FORBID_REUSE works again with a cleaned up order of doing things in
Curl_done()
2006-12-05 15:17:32 +00:00
Daniel Stenberg
318a8258fd oops, fix belonging to the previous curl_getdate() fix since it makes MSVC
use gmtime_r
2006-12-05 15:00:14 +00:00
Daniel Stenberg
17ae28e0fe Martin Skinner brought back bug report #1230118 to haunt us once again.
(http://curl.haxx.se/bug/view.cgi?id=1230118) curl_getdate() did not work
properly for all input dates on Windows. It was mostly seen on some TZ time
zones using DST. Luckily, Martin also provided a fix.
2006-12-05 14:57:43 +00:00
Daniel Stenberg
3c4f622479 Alexey Simak filed bug report #1600447
(http://curl.haxx.se/bug/view.cgi?id=1600447) in which he noted that active
FTP connections don't work with the multi interface. The problem is here that
the multi interface state machine has a state during which it can wait for the
data connection to connect, but the active connection is not done in the same
step in the sequence as the passive one is so it doesn't quite work for
active. The active FTP code still use a blocking function to allow the remote
server to connect.

The fix (work-around is a better word) for this problem is to set the
boolean prematurely that the data connection is completed, so that the "wait
for connect" phase ends at once.
2006-12-05 13:49:29 +00:00
Daniel Stenberg
3ce43764be Matt Witherspoon fixed a problem case when the CPU load went to 100% when a
HTTP upload was disconnected:

"What appears to be happening is that my system (Linux 2.6.17 and 2.6.13) is
setting *only* POLLHUP on poll() when the conditions in my previous mail
occur. As you can see, select.c:Curl_select() does not check for POLLHUP. So
basically what was happening, is poll() was returning immediately (with
POLLHUP set), but when Curl_select() looked at the bits, neither POLLERR or
POLLOUT was set. This still caused Curl_readwrite() to be called, which
quickly returned. Then the transfer() loop kept continuing at full speed
forever."
2006-12-05 13:37:05 +00:00
Daniel Stenberg
b555c60e49 curl.dsmirror.nl is another mirror 2006-12-05 13:21:55 +00:00
Daniel Stenberg
2336d010ef fixed in CVS 2006-12-05 13:20:28 +00:00
Daniel Stenberg
b9af0d89d5 fix the libssh2 include path somewhat when --with-libssh2 is used and added
a warning output if no OpenSSL was found
2006-12-03 09:19:23 +00:00
Daniel Stenberg
6f2afe0c30 CURLOPT_CLOSEPOLICY can't be set 2006-12-01 11:54:00 +00:00
Daniel Stenberg
d8c61d459e Toon Verwaest reported that there are servers that send the Content-Range:
header in a third, not suppported by libcurl, format and we agreed that we
could make the parser more forgiving to accept all the three found
variations.
2006-12-01 07:49:22 +00:00
Daniel Stenberg
7ae5ebbeb2 the extra copy of downloads should be fixed too 2006-11-30 09:21:21 +00:00
Daniel Stenberg
7335b71dfb two more 2006-11-29 21:47:22 +00:00
Daniel Stenberg
9583b03074 Is CURLOPT_FORBID_REUSE broken? 2006-11-29 14:39:50 +00:00
Daniel Stenberg
3c81d5f125 adding notes of what to work on and fix before next release 2006-11-27 22:07:56 +00:00
Daniel Stenberg
688699a046 no need to access it with conn->data since data is already a local variable
holding the conn->data value
2006-11-27 13:38:32 +00:00
Daniel Stenberg
090f5a9a45 added the new test 282 2006-11-25 13:32:48 +00:00
Daniel Stenberg
da58d03ff7 Venkat Akella found out that libcurl did not like HTTP responses that simply
responded with a single status line and no headers nor body. Starting now, a
HTTP response on a persistent connection (i.e not set to be closed after the
response has been taken care of) must have Content-Length or chunked
encoding set, or libcurl will simply assume that there is no body.

To my horror I learned that we had no less than 57(!) test cases that did bad
HTTP responses like this, and even the test http server (sws) responded badly
when queried by the test system if it is the test system. So although the
actual fix for the problem was tiny, going through all the newly failing test
cases got really painful and boring.
2006-11-25 13:32:04 +00:00
Daniel Stenberg
9ea3831c08 James Housley fixed SCP downloading by setting the maxdownload. 2006-11-25 09:49:29 +00:00
Yang Tse
a46f55b9de Make sure RETSIGTYPE is properly defined 2006-11-25 01:02:52 +00:00
Daniel Stenberg
a634f64400 James Housley did lots of work and introduced SFTP downloads. 2006-11-24 22:14:39 +00:00
Yang Tse
bcd8a3b240 Define HAVE_SIGNAL_H, HAVE_SIG_ATOMIC_T and HAVE_SIG_ATOMIC_T_VOLATILE
as appropriate for platforms that don't have autotools support
2006-11-24 16:38:58 +00:00
Daniel Stenberg
04d5d1895c Michael Wallner fixed this problem: When I set domains in the options
struct, and there are domain/search entries in /etc/resolv.conf, the domains
of the options struct will be overridden.
2006-11-22 22:54:41 +00:00
Daniel Stenberg
abd2775a70 Install ares_dns.h too 2006-11-22 22:51:01 +00:00
Yang Tse
73226415fc Added a check in configure that verifies if <signal.h> is available,
defining HAVE_SIGNAL_H if the header is available.

Added a check in configure that tests if the sig_atomic_t type is
available, defining HAVE_SIG_ATOMIC_T if it is available. Providing
a suitable default in setup_once.h if not available.

Added a check in configure that tests if the sig_atomic_t type is
already defined as volatile, defining HAVE_SIG_ATOMIC_T_VOLATILE
if it is available and already defined as volatile.
2006-11-22 18:41:34 +00:00
Daniel Stenberg
ab160ef445 new french mirror 2006-11-21 07:45:49 +00:00
Yang Tse
268fe09322 Revert ftpserver.pl back to revision 1.74 Adding change done in 1.76
This is done to back out changes done in revisions 1.77 and 1.75
2006-11-20 16:58:41 +00:00