Daniel Stenberg [Sat, 23 Sep 2006 19:07:20 +0000 (19:07 +0000)]
Dmitriy Sergeyev provided a patch that made the SOCKS[45] code work better as
it now will read the full data sent from servers. The SOCKS-related code was
also moved to the new lib/socks.c source file.
Daniel Stenberg [Thu, 21 Sep 2006 20:52:20 +0000 (20:52 +0000)]
Added test case 531 in an attempt to repeat bug report #1561470
(http://curl.haxx.se/bug/view.cgi?id=1561470) that is said to crash when an
FTP upload fails with the multi interface. It did not, but I made a failed
upload still assume the control connection to be fine.
Daniel Stenberg [Wed, 20 Sep 2006 21:49:41 +0000 (21:49 +0000)]
Armel Asselin fixed problems when you gave a proxy URL with user name and
empty password or no password at all. Test case 278 and 279 were added to
verify.
Daniel Stenberg [Wed, 20 Sep 2006 12:03:50 +0000 (12:03 +0000)]
Michael Wallner's test program again help me track down a problem. This time
it basically was that we didn't remove the current connection from the pipe
list when following a redirect. Also in this commit: several cases of
additional debug code for debug builds helping to check and track down some
signs of run-time trouble.
Daniel Stenberg [Sat, 16 Sep 2006 21:50:29 +0000 (21:50 +0000)]
Resize the connection cache upwards when adding more handles than what
currently fits in the cache, to make the cache work better especially for
pipelining cases but also for "mere" (persistent) connection re-use.
Daniel Stenberg [Sat, 16 Sep 2006 20:57:59 +0000 (20:57 +0000)]
Armel Asselin - When the easy handle is removed from the multi while libcurl
is still trying to resolve the host name, it seems that the ftp struct is not
yet initialized, but the removal action calls Curl_done() which calls
Curl_ftp_done. So we simply return success from there if no ftp pointer is
set.
Daniel Stenberg [Mon, 11 Sep 2006 20:50:58 +0000 (20:50 +0000)]
If the current connection doesn't fit to get added to the connection cache,
we certainly MUST NOT kill an active connection... Problem tracked down thanks
to Michael Wallner's excellent test program.
Daniel Stenberg [Mon, 11 Sep 2006 20:25:13 +0000 (20:25 +0000)]
- Guilherme Balena Versiani: I noted a strange BUG in Win32 port
(ares_init.c/get_iphlpapi_dns_info() function): when I disable the network
by hand or disconnect the network cable in Windows 2000 or Windows XP, my
application gets 127.0.0.1 as the only name server. The problem comes from
'GetNetworkParams' function, that returns the empty string "" as the only
name server in that case. Moreover, the Windows implementation of
inet_addr() returns INADDR_LOOPBACK instead of INADDR_NONE.
Daniel Stenberg [Mon, 11 Sep 2006 17:18:18 +0000 (17:18 +0000)]
- Fixed my breakage from earlier today so that doing curl_easy_cleanup() on a
handle that is part of a multi handle first removes the handle from the
stack.
- Added CURLOPT_SSL_SESSIONID_CACHE and --no-sessionid to disable SSL
session-ID re-use on demand since there obviously are broken servers out
there that misbehave with session-IDs used.
Daniel Stenberg [Sun, 10 Sep 2006 22:15:32 +0000 (22:15 +0000)]
Jeff Pohlmeyer presented a *multi_socket()-using program that exposed a
problem with it (SIGSEGV-style). It clearly showed that the existing
socket-state and state-difference function wasn't good enough so I rewrote
it and could then re-run Jeff's program without any crash. The previous
version clearly could miss to tell the application when a handle changed
from using one socket to using another.
While I was at it (as I could use this as a means to track this problem
down), I've now added a 'magic' number to the easy handle struct that is
inited at curl_easy_init() time and cleared at curl_easy_cleanup() time that
we can use internally to detect that an easy handle seems to be fine, or at
least not closed or freed (freeing in debug builds fill the area with 0x13
bytes but in normal builds we can of course not assume any particular data
in the freed areas).
Daniel Stenberg [Sun, 10 Sep 2006 22:12:24 +0000 (22:12 +0000)]
Added a useful debug function within #if 0. The function makes it easy to
"dump" a hash table which is useful when tracking problems with data stored
in one of our hashes.
Daniel Stenberg [Mon, 4 Sep 2006 08:53:28 +0000 (08:53 +0000)]
I fell over a new libtool that starts with a newline so we need to fetch
the two first lines to get the version string. The good news is that older
libtools have an empty line after the first so I think this works fine all
over...
Daniel Stenberg [Sun, 3 Sep 2006 22:52:42 +0000 (22:52 +0000)]
- "Dortik" (http://curl.haxx.se/bug/view.cgi?id=1551412) provided a patch that
while not fixing things very nicely, it does make the SOCKS5 proxy
connection slightly better as it now acknowledges the timeout for connection
and it no longer segfaults in the case when SOCKS requires authentication
and you did not specify username:password.
Daniel Stenberg [Tue, 29 Aug 2006 15:17:47 +0000 (15:17 +0000)]
Brad Spencer did
o made ares_version.h use extern "C" for c++ compilers
o fixed compiler warnings in ares_getnameinfo.c
o fixed a buffer position init for TCP reads