Daniel Stenberg [Sat, 11 Feb 2006 22:35:16 +0000 (22:35 +0000)]
Karl M added the CURLOPT_CONNECT_ONLY and CURLINFO_LASTSOCKET options that
an app can use to let libcurl only connect to a remote host and then extract
the socket from libcurl. libcurl will then not attempt to do any transfer at
all after the connect is done.
Daniel Stenberg [Tue, 7 Feb 2006 23:09:04 +0000 (23:09 +0000)]
Philippe Vaucher provided a brilliant piece of test code that show a problem
with re-used FTP connections. If the second request on the same connection was
set not to fetch a "body", libcurl could get confused and consider it an
attempt to use a dead connection and would go acting mighty strange.
Daniel Stenberg [Mon, 30 Jan 2006 08:24:07 +0000 (08:24 +0000)]
Added CURLOPT_LOCALPORT and CURLOPT_LOCALPORTRANGE to libcurl. Set with the
curl tool with --local-port. Plain and simply set the range of ports to bind
the local end of connections to. Implemented on to popular demand.
Not extensively tested. Please let me know how it works.
Daniel Stenberg [Mon, 30 Jan 2006 08:20:52 +0000 (08:20 +0000)]
Based on an error report by Philippe Vaucher, we no longer count a retried
connection setup as a follow-redirect. It turns out 1) this fails when a FTP
connection is re-setup and 2) it does make the max-redirs counter behave
wrong. This fix was not verified since the reporter vanished, but I believe
this is the right fix nonetheless.
Daniel Stenberg [Sat, 28 Jan 2006 13:14:38 +0000 (13:14 +0000)]
we should fix the system includes in the public headers to be based on checks
of the system instead of depending on what particular systems we think need
various headers
Daniel Stenberg [Tue, 24 Jan 2006 14:40:43 +0000 (14:40 +0000)]
Michal Marek provided a patch for FTP that makes libcurl continue to try PASV
even after EPSV returned a positive response code, if libcurl failed to
connect to the port number the EPSV response said. Obviously some people are
going through protocol-sensitive firewalls (or similar) that don't understand
EPSV and then they don't allow the second connection unless PASV was
used. This also called for a minor fix of test case 238.
Daniel Stenberg [Thu, 19 Jan 2006 23:52:03 +0000 (23:52 +0000)]
Duane Cathey was one of our friends who reported that curl -P [IP]
(CURLOPT_FTPPORT) didn't work for ipv6-enabed curls if the IP wasn't a
"native" IP while it works fine for ipv6-disabled builds!
In the process of fixing this, I removed the support for LPRT since I can't
think of many reasons to keep doing it and asking on the mailing list didn't
reveal anyone else that could either. The code that sends EPRT and PORT is
now also a lot simpler than before (IMHO).
Daniel Stenberg [Tue, 17 Jan 2006 17:39:39 +0000 (17:39 +0000)]
David Shaw: Here is the latest libcurl.m4 autoconf tests. It is updated with
the latest features and protocols that libcurl supports and has a minor fix to
better deal with the obscure case where someone has more than one libcurl
installed at the same time.
Daniel Stenberg [Mon, 16 Jan 2006 22:14:37 +0000 (22:14 +0000)]
David Shaw finally removed all traces of Gopher and we are now officially
not supporting it. It hasn't been functioning for years anyway, so this is
just finally stating what already was true. And a cleanup at the same time.
Daniel Stenberg [Sun, 15 Jan 2006 23:55:53 +0000 (23:55 +0000)]
Bryan Henderson turned the 'initialized' variable for curl_global_init()
into a counter, and thus you can now do multiple curl_global_init() and you
are then supposed to do the same amount of calls to curl_global_cleanup().
Bryan also updated the docs accordingly.
Daniel Stenberg [Tue, 10 Jan 2006 23:03:22 +0000 (23:03 +0000)]
When using a bad path over FTP, as in when libcurl couldn't CWD into all
given subdirs, libcurl would still "remember" the full path as if it is the
current directory libcurl is in so that the next curl_easy_perform() would
get really confused if it tried the same path again - as it would not issue
any CWD commands at all, assuming it is already in the "proper" dir.
Starting now, a failed CWD command sets a flag that prevents the path to be
"remembered" after returning.
Daniel Stenberg [Sat, 7 Jan 2006 22:24:16 +0000 (22:24 +0000)]
Mike Jean fixed so that the second CONNECT when doing FTP over a HTTP proxy
actually used a new connection and not sent the second request on the first
socket!
Daniel Stenberg [Mon, 2 Jan 2006 22:58:56 +0000 (22:58 +0000)]
I removed the timeout argument from the socket callback and did some other
cleanups of this man page. The lengthy description has now also been removed
from curl/multi.h since it immediately got tedious to maintain the info on
two places when I did major updates...
Daniel Stenberg [Mon, 2 Jan 2006 12:19:12 +0000 (12:19 +0000)]
1. sws now supports two new "commands" and 2. if built with
CURL_SWS_FORK_ENABLED defined it forks for each new connection and thus can
support any amount of connection clients (used for hiper tests and not for the
standard plain curl test suite)
Daniel Stenberg [Fri, 23 Dec 2005 23:22:23 +0000 (23:22 +0000)]
clarified that curl_global_init() isn't thread-safe and that it might affect
curl_easy_init() if you don't call curl_global_init() explicitly in your app
Daniel Stenberg [Thu, 22 Dec 2005 15:11:11 +0000 (15:11 +0000)]
The inital early embryos to describe the curl_multi_socket() API. Committed
now to enable them to get added as web pages easier, they are not ready
for anything "real" just yet.
Yang Tse [Wed, 21 Dec 2005 20:44:54 +0000 (20:44 +0000)]
Checking for function getnameinfo and its arguments is finally
done in one single function CURL_CHECK_FUNC_GETNAMEINFO which
will only define HAVE_GETNAMEINFO if the function has been found
AND the type of its arguments has been properly been detected
Yang Tse [Tue, 20 Dec 2005 23:49:14 +0000 (23:49 +0000)]
In CURL_FUNC_GETNAMEINFO_ARGTYPES, when cross-compiling a windows
target use calling convention WSAAPI for getnameinfo() prototype.
Checking type DWORD as argument 4 and 6 of getnameinfo not needed.