Daniel Stenberg [Thu, 25 Jan 2007 21:00:03 +0000 (21:00 +0000)]
fix compiler warnings for SSL-disabled builds
Daniel Stenberg [Thu, 25 Jan 2007 20:47:47 +0000 (20:47 +0000)]
ugha, prevent a buffer overflow and allow very long strings in the generated
libcurl source...
Daniel Stenberg [Thu, 25 Jan 2007 15:58:00 +0000 (15:58 +0000)]
- Added the --libcurl [file] option to curl. Append this option to any
ordinary curl command line, and you will get a libcurl-using source code
written to the file that does the equivalent operation of what your command
line operation does!
Gunter Knauf [Thu, 25 Jan 2007 15:00:01 +0000 (15:00 +0000)]
removed unused define.
Gunter Knauf [Thu, 25 Jan 2007 14:06:38 +0000 (14:06 +0000)]
set proper lib extension for non-configure mingw32 builds on Win32.
Gunter Knauf [Thu, 25 Jan 2007 13:17:20 +0000 (13:17 +0000)]
fixed copyright for new year.
Gunter Knauf [Thu, 25 Jan 2007 13:15:47 +0000 (13:15 +0000)]
added targets for libssh2 builds.
Gunter Knauf [Thu, 25 Jan 2007 13:14:42 +0000 (13:14 +0000)]
enabled build with libssh2.
Daniel Stenberg [Thu, 25 Jan 2007 11:09:56 +0000 (11:09 +0000)]
fix non-SSL builds again
Dan Fandrich [Thu, 25 Jan 2007 01:35:43 +0000 (01:35 +0000)]
Fixed a dangling pointer problem that prevented the http_proxy environment
variable from being properly used in many cases (and caused test case 63
to fail).
Gunter Knauf [Thu, 25 Jan 2007 00:26:29 +0000 (00:26 +0000)]
removed not used define.
Dan Fandrich [Wed, 24 Jan 2007 19:09:12 +0000 (19:09 +0000)]
Only shut down SSL if the CCC command succeeded.
Daniel Stenberg [Wed, 24 Jan 2007 17:19:08 +0000 (17:19 +0000)]
moved the SSL pending function to the proper place and name
Daniel Stenberg [Wed, 24 Jan 2007 12:34:23 +0000 (12:34 +0000)]
bail out on strdup() errors
Daniel Stenberg [Tue, 23 Jan 2007 22:57:42 +0000 (22:57 +0000)]
- David McCreedy did NTLM changes mainly for non-ASCII platforms:
#1
There's a compilation error in http_ntlm.c if USE_NTLM2SESSION is NOT
defined. I noticed this while testing various configurations. Line 867 of
the current http_ntlm.c is a closing bracket for an if/else pair that only
gets compiled in if USE_NTLM2SESSION is defined. But this closing bracket
wasn't in an #ifdef so the code fails to compile unless USE_NTLM2SESSION was
defined. Lines 198 and 140 of my patch wraps that closing bracket in an
#ifdef USE_NTLM2SESSION.
#2
I noticed several picky compiler warnings when DEBUG_ME is defined. I've
fixed them with casting. By the way, DEBUG_ME was a huge help in
understanding this code.
#3
Hopefully the last non-ASCII conversion patch for libcurl in a while. I
changed the "NTLMSSP" literal to hex since this signature must always be in
ASCII.
Conversion code was strategically added where necessary. And the
Curl_base64_encode calls were changed so the binary "blobs" http_ntlm.c
creates are NOT translated on non-ASCII platforms.
Daniel Stenberg [Tue, 23 Jan 2007 22:13:52 +0000 (22:13 +0000)]
recount
Daniel Stenberg [Tue, 23 Jan 2007 22:13:34 +0000 (22:13 +0000)]
#79 is no problem to me (and no response on my mail)
Daniel Stenberg [Tue, 23 Jan 2007 22:13:05 +0000 (22:13 +0000)]
very minor indent change
Dan Fandrich [Tue, 23 Jan 2007 20:24:26 +0000 (20:24 +0000)]
Ignore XML DOCTYPEs and declarations.
Gisle Vanem [Tue, 23 Jan 2007 08:57:12 +0000 (08:57 +0000)]
Speed-up djgpp's stat() by avoid checking for uneeded stuff.
Dan Fandrich [Tue, 23 Jan 2007 02:25:56 +0000 (02:25 +0000)]
Convert (most of) the test data files into genuine XML. A handful still
are not, due mainly to the lack of support for XML character entities
(e.g. & => & ). This will make it easier to validate test files using
tools like xmllint, as well as edit and view them using XML tools.
Gunter Knauf [Tue, 23 Jan 2007 00:26:45 +0000 (00:26 +0000)]
enabled build with libssh2; fixed copyright for new year..
Dan Fandrich [Thu, 18 Jan 2007 20:32:46 +0000 (20:32 +0000)]
Make the test script tag parser a bit more robust.
Check for the .exe extension on mingw32 builds.
Dan Fandrich [Thu, 18 Jan 2007 18:04:20 +0000 (18:04 +0000)]
Added precheck that curl supports the 'openssl' engine in test 307.
Dan Fandrich [Wed, 17 Jan 2007 20:36:56 +0000 (20:36 +0000)]
Fixed some tag typos in the test data files.
Dan Fandrich [Wed, 17 Jan 2007 19:23:32 +0000 (19:23 +0000)]
Disabled test 307 for now.
Gisle Vanem [Wed, 17 Jan 2007 15:15:21 +0000 (15:15 +0000)]
Supress "comparison between signed and unsigned" warning.
Daniel Stenberg [Wed, 17 Jan 2007 12:00:08 +0000 (12:00 +0000)]
two other still outstanding issues
Daniel Stenberg [Wed, 17 Jan 2007 10:15:09 +0000 (10:15 +0000)]
more reported bugs we need to address at some point, possibly before a release
Daniel Stenberg [Wed, 17 Jan 2007 08:57:20 +0000 (08:57 +0000)]
clarify the INFILESIZE option(s)
Daniel Stenberg [Tue, 16 Jan 2007 22:26:50 +0000 (22:26 +0000)]
David McCreedy fixed a flaw from his previous non-ascii HTTP patch
Daniel Stenberg [Tue, 16 Jan 2007 22:22:10 +0000 (22:22 +0000)]
- Armel Asselin improved libcurl to behave a lot better when an easy handle
doing an FTP transfer is removed from a multi handle before completion. The
fix also fixed the "alive counter" to be correct on "premature removal" for
all protocols.
Daniel Stenberg [Tue, 16 Jan 2007 21:28:45 +0000 (21:28 +0000)]
restore previous addition to the amount of data that is returned
Dan Fandrich [Tue, 16 Jan 2007 18:34:58 +0000 (18:34 +0000)]
Added simple OpenSSL crypto engine tests.
Dan Fandrich [Tue, 16 Jan 2007 18:33:25 +0000 (18:33 +0000)]
Fixed a small memory leak in tftp uploads discovered by curl's memory leak
detector. Also changed tftp downloads to URL-unescape the downloaded
file name.
Dan Fandrich [Mon, 15 Jan 2007 21:06:12 +0000 (21:06 +0000)]
Added TFTP upload tests.
Dan Fandrich [Mon, 15 Jan 2007 21:03:53 +0000 (21:03 +0000)]
Leave the TFTPD test server running after a file upload.
Flush the protocol log data so it's immediately available to the test harness.
Daniel Stenberg [Sun, 14 Jan 2007 14:57:51 +0000 (14:57 +0000)]
- David McCreedy provided libcurl changes for doing HTTP communication on
non-ASCII platforms. It does add some complexity, most notably with more
#ifdefs, but I want to see this supported added and I can't see how we can
add it without the extra stuff added.
Daniel Stenberg [Sat, 13 Jan 2007 23:33:50 +0000 (23:33 +0000)]
4GB download and cookielist "ALL" fixes
Daniel Stenberg [Sat, 13 Jan 2007 23:33:21 +0000 (23:33 +0000)]
fixed bad variable use when getting the size which we should read when
attempting not to read data that might belong to the next response (if
pipelining)
Daniel Stenberg [Sat, 13 Jan 2007 23:32:14 +0000 (23:32 +0000)]
make Curl_cookie_clearall() survive getting called with a NULL pointer
Dan Fandrich [Wed, 10 Jan 2007 23:40:22 +0000 (23:40 +0000)]
Added test for TFTP retrieve of boundary case 512 byte file.
Dan Fandrich [Wed, 10 Jan 2007 21:21:53 +0000 (21:21 +0000)]
Display crypto engine name correctly in debug message.
Dan Fandrich [Wed, 10 Jan 2007 03:32:19 +0000 (03:32 +0000)]
Added test of TFTP server error reporting.
Daniel Stenberg [Tue, 9 Jan 2007 18:58:16 +0000 (18:58 +0000)]
corrected example
Linus Nielsen Feltzing [Mon, 8 Jan 2007 11:24:11 +0000 (11:24 +0000)]
Correct error code for CCC/SSL shutdown failure
Linus Nielsen Feltzing [Mon, 8 Jan 2007 10:03:19 +0000 (10:03 +0000)]
Removed unused variable in Curl_ossl_shutdown()
Daniel Stenberg [Mon, 8 Jan 2007 09:32:02 +0000 (09:32 +0000)]
no suprise really, but it works fine on SH4 as well...
Linus Nielsen Feltzing [Sat, 6 Jan 2007 10:49:11 +0000 (10:49 +0000)]
Fix compilation errors when building without SSL
Daniel Stenberg [Fri, 5 Jan 2007 23:11:14 +0000 (23:11 +0000)]
- Linus Nielsen Feltzing introduced the --ftp-ssl-ccc command line option to
curl that uses the new CURLOPT_FTP_SSL_CCC option in libcurl. If enabled, it
will make libcurl shutdown SSL/TLS after the authentication is done on a
FTP-SSL operation.
Gisle Vanem [Fri, 5 Jan 2007 15:56:28 +0000 (15:56 +0000)]
Include <dos.h> for delay() on MSDOS.
Daniel Stenberg [Thu, 4 Jan 2007 23:04:50 +0000 (23:04 +0000)]
prevent compiler warning since we use base64.h from libcurl which now has
function(s) using SessionHandle pointers
Daniel Stenberg [Wed, 3 Jan 2007 23:13:49 +0000 (23:13 +0000)]
one issue less before release
Daniel Stenberg [Wed, 3 Jan 2007 23:04:38 +0000 (23:04 +0000)]
- David McCreedy made changes to allow base64 encoding/decoding to work on
non-ASCII platforms.
Daniel Stenberg [Wed, 3 Jan 2007 22:24:01 +0000 (22:24 +0000)]
new year
Daniel Stenberg [Wed, 3 Jan 2007 22:18:38 +0000 (22:18 +0000)]
- Matt Witherspoon fixed the flaw which made libcurl 7.16.0 always store
downloaded data in two buffers, just to be able to deal with a special HTTP
pipelining case. That is now only activated for pipelined transfers. In
Matt's case, it showed as a considerable performance difference,
Daniel Stenberg [Tue, 2 Jan 2007 22:34:56 +0000 (22:34 +0000)]
- Victor Snezhko helped us fix bug report #1603712
(http://curl.haxx.se/bug/view.cgi?id=1603712) (known bug #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). It was actually also broken on select()-based systems (as apposed
to poll()) but we haven't had any such reports. We now use select(), Sleep()
or delay() properly to sleep a while without waiting for anything input or
output when the rate limiting is activated with the easy interface.
Daniel Stenberg [Tue, 2 Jan 2007 12:14:21 +0000 (12:14 +0000)]
- Modified libcurl.pc.in to use Libs.private for the libs libcurl itself needs
to get built static. It has been mentioned before and was again brought to
our attention by Nathanael Nerode who filed debian bug report #405226
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=405226).
Daniel Stenberg [Sun, 31 Dec 2006 13:53:19 +0000 (13:53 +0000)]
curl_easy_cleanup kills this memory too
Daniel Stenberg [Fri, 29 Dec 2006 11:32:14 +0000 (11:32 +0000)]
curl_easy_duphandle() sets the magic number in the new handle
Daniel Stenberg [Mon, 25 Dec 2006 22:35:48 +0000 (22:35 +0000)]
mention the no_proxy work
Daniel Stenberg [Fri, 22 Dec 2006 15:04:59 +0000 (15:04 +0000)]
- Robert Foreman provided a prime example snippet showing how libcurl would
get confused and not acknowledge the 'no_proxy' variable properly once it
had used the proxy and you re-used the same easy handle. I made sure the
proxy name is properly stored in the connect struct rather than the
sessionhandle/easy struct.
Daniel Stenberg [Fri, 22 Dec 2006 13:44:10 +0000 (13:44 +0000)]
Curl_getinfo() now checks for a NULL SessionHandle pointer
Daniel Stenberg [Fri, 22 Dec 2006 13:30:54 +0000 (13:30 +0000)]
- David McCreedy fixed a bad call to getsockname() that wrongly used a size_t
variable to point to when it should be a socklen_t.
Daniel Stenberg [Fri, 22 Dec 2006 07:30:21 +0000 (07:30 +0000)]
When setting a proxy with environment variables and (for example) running
'curl [URL]' with a URL without a protocol prefix, curl would not send a
correct request as it failed to add the protocol prefix.
Daniel Stenberg [Thu, 21 Dec 2006 15:47:19 +0000 (15:47 +0000)]
minor indent fix
Daniel Stenberg [Thu, 21 Dec 2006 10:18:15 +0000 (10:18 +0000)]
removed unused variables
Daniel Stenberg [Thu, 21 Dec 2006 10:15:38 +0000 (10:15 +0000)]
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.
Daniel Stenberg [Thu, 21 Dec 2006 09:36:03 +0000 (09:36 +0000)]
CURLOPT_CAPATH is OpenSSL-only
Daniel Stenberg [Tue, 19 Dec 2006 14:28:01 +0000 (14:28 +0000)]
* 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
Daniel Stenberg [Tue, 19 Dec 2006 09:09:44 +0000 (09:09 +0000)]
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
Daniel Stenberg [Sat, 16 Dec 2006 22:28:08 +0000 (22:28 +0000)]
recv() doesn't take MSG_NOSIGNAL in its forth argument so let's not pass it.
Brendan Jurd pointed out.
Daniel Stenberg [Sat, 16 Dec 2006 21:33:51 +0000 (21:33 +0000)]
Brendan Jurd provided a fix that now prevents libcurl from getting a SIGPIPE
during certain conditions when GnuTLS is used.
Daniel Stenberg [Sat, 16 Dec 2006 21:05:33 +0000 (21:05 +0000)]
Brendan Jurd pointed out these typos
Gisle Vanem [Fri, 15 Dec 2006 16:57:28 +0000 (16:57 +0000)]
Plug more leaks.
Gisle Vanem [Fri, 15 Dec 2006 16:49:40 +0000 (16:49 +0000)]
Fix typo.
Daniel Stenberg [Thu, 14 Dec 2006 18:20:46 +0000 (18:20 +0000)]
minor syntax mistake
Gisle Vanem [Thu, 14 Dec 2006 16:42:53 +0000 (16:42 +0000)]
Free 'config->iface' if set.
Gisle Vanem [Mon, 11 Dec 2006 15:18:52 +0000 (15:18 +0000)]
ahost.exe needs getopt.obj.
Daniel Stenberg [Mon, 11 Dec 2006 09:32:58 +0000 (09:32 +0000)]
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.
Daniel Stenberg [Mon, 11 Dec 2006 09:31:08 +0000 (09:31 +0000)]
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
Daniel Stenberg [Thu, 7 Dec 2006 15:33:06 +0000 (15:33 +0000)]
fixed the printf formatting after I changed the type of 'excess'
Daniel Stenberg [Wed, 6 Dec 2006 10:07:12 +0000 (10:07 +0000)]
7.16.1 knows SFTP too
Daniel Stenberg [Wed, 6 Dec 2006 09:52:04 +0000 (09:52 +0000)]
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
Daniel Stenberg [Wed, 6 Dec 2006 09:37:40 +0000 (09:37 +0000)]
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.
Daniel Stenberg [Tue, 5 Dec 2006 21:40:14 +0000 (21:40 +0000)]
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.
Daniel Stenberg [Tue, 5 Dec 2006 21:39:24 +0000 (21:39 +0000)]
removed the final traces of the closepolicy option
Daniel Stenberg [Tue, 5 Dec 2006 16:04:46 +0000 (16:04 +0000)]
update after today's work
Daniel Stenberg [Tue, 5 Dec 2006 16:04:01 +0000 (16:04 +0000)]
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.
Daniel Stenberg [Tue, 5 Dec 2006 15:36:26 +0000 (15:36 +0000)]
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.
Daniel Stenberg [Tue, 5 Dec 2006 15:24:18 +0000 (15:24 +0000)]
better preprocessor check for recent MSVC versions
Daniel Stenberg [Tue, 5 Dec 2006 15:17:32 +0000 (15:17 +0000)]
CURLOPT_FORBID_REUSE works again with a cleaned up order of doing things in
Curl_done()
Daniel Stenberg [Tue, 5 Dec 2006 15:00:14 +0000 (15:00 +0000)]
oops, fix belonging to the previous curl_getdate() fix since it makes MSVC
use gmtime_r
Daniel Stenberg [Tue, 5 Dec 2006 14:57:43 +0000 (14:57 +0000)]
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.
Daniel Stenberg [Tue, 5 Dec 2006 13:49:29 +0000 (13:49 +0000)]
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.
Daniel Stenberg [Tue, 5 Dec 2006 13:37:05 +0000 (13:37 +0000)]
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."
Daniel Stenberg [Tue, 5 Dec 2006 13:21:55 +0000 (13:21 +0000)]
curl.dsmirror.nl is another mirror
Daniel Stenberg [Tue, 5 Dec 2006 13:20:28 +0000 (13:20 +0000)]
fixed in CVS
Daniel Stenberg [Sun, 3 Dec 2006 09:19:23 +0000 (09:19 +0000)]
fix the libssh2 include path somewhat when --with-libssh2 is used and added
a warning output if no OpenSSL was found
Daniel Stenberg [Fri, 1 Dec 2006 11:54:00 +0000 (11:54 +0000)]
CURLOPT_CLOSEPOLICY can't be set