Kamil Dudka [Thu, 14 Jan 2010 01:37:55 +0000 (01:37 +0000)]
- Suppressed side effect of OpenSSL configure checks, which prevented NSS from
being properly detected under certain circumstances. It had been caused by
strange behavior of pkg-config when handling PKG_CONFIG_LIBDIR. pkg-config
distinguishes among empty and non-existent environment variable in that case.
Daniel Stenberg [Mon, 11 Jan 2010 23:15:10 +0000 (23:15 +0000)]
- Gil Weber reported a peculiar flaw with the multi interface when doing SFTP
transfers: curl_multi_fdset() would return -1 and not set and file
descriptors several times during a transfer of a single file. It turned out
to be due to two different flaws now fixed. Gil's excellent recipe helped me
nail this.
Daniel Stenberg [Mon, 11 Jan 2010 23:10:53 +0000 (23:10 +0000)]
ssh_statemach_act() is now modified to loop over the switch() to perform as
much as possible in one go, as long as it doesn't block and hasn't reached the
end of the state machine.
This avoids spurious -1 returns from curl_multi_fdset() simply because
previously it would return from this function without anything in EWOUDLBLOCK
and thus basically it wasn't actually waiting for anything!!
Daniel Stenberg [Mon, 11 Jan 2010 23:05:35 +0000 (23:05 +0000)]
After the TCP connect is confirmed in CURLM_STATE_WAITCONNECT and it changes
state, we return CURLM_CALL_MULTI_PERFORM unconditionally then so that we
can act faster like in the case the protocol-specific connect doesn't block
on anything and we can just persue on the next action immediately. It also
then avoids a case where curl_multi_fdset() would return -1.
Daniel Stenberg [Mon, 11 Jan 2010 15:50:30 +0000 (15:50 +0000)]
- The tests/runtests.pl script now checks to see if the test case that runs is
present in the tests/data/Makefile.am and outputs a notice message on the
screen if not. Each test file has to be included in that Makefile.am to get
included in release archives and forgetting to add files there is a common
mistake. This is an attempt to make it harder to forget.
Daniel Stenberg [Fri, 8 Jan 2010 23:45:23 +0000 (23:45 +0000)]
- Johan van Selst found and fixed a OpenSSL session ref count leak:
ossl_connect_step3() increments an SSL session handle reference counter on
each call. When sessions are re-used this reference counter may be
incremented many times, but it will be decremented only once when done (by
Curl_ossl_session_free()); and the internal OpenSSL data will not be freed
if this reference count remains positive. When a session is re-used the
reference counter should be corrected by explicitly calling
SSL_SESSION_free() after each consecutive SSL_get1_session() to avoid
introducing a memory leak.
Daniel Stenberg [Thu, 7 Jan 2010 22:48:28 +0000 (22:48 +0000)]
removed a parameter from the Curl_http_readwrite_headers() prototype to remove
the need for the struct forward declaration from http.h which caused problems
with gcc 2.96 and quite frankly the parameter wasn't necessary anyway
Daniel Stenberg [Sat, 2 Jan 2010 22:09:31 +0000 (22:09 +0000)]
- Make curl support --ssl and --ssl-reqd instead of the previous FTP-specific
versions --ftp-ssl and --ftp-ssl-reqd as these options are now used to
control SSL/TLS for IMAP, POP3 and SMTP as well in addition to FTP. The old
option names are still working but the new ones are the prefered ones
(listed and documented).
Daniel Stenberg [Fri, 1 Jan 2010 14:44:44 +0000 (14:44 +0000)]
- Ingmar Runge enhanced libcurl's FTP engine to support the PRET command. This
command is a special "hack" used by the drftpd server, but even though it is
a custom extension I've deemed it fine to add to libcurl since this server
seems to survive and people keep using it and want libcurl to support
it. The new libcurl option is named CURLOPT_FTP_USE_PRET, and it is also
usable from the curl tool with --ftp-pret. Using this option on a server
that doesn't support this command will make libcurl fail.
Daniel Stenberg [Thu, 31 Dec 2009 21:52:01 +0000 (21:52 +0000)]
turned CURLOPT_MAIL_RCPT into a curl_slist list instead to support multiple
receivers, and made the command line tool thus support the option specified
many times
Daniel Stenberg [Wed, 30 Dec 2009 21:52:27 +0000 (21:52 +0000)]
(SMTP) support DATA better in the server and make sure to "escape" CRLF.CRLF
sequences in uploaded data. The test server doesn't "decode" escaped dot-lines
but instead test cases must be written to take them into account. Added test
case 803 to verify dot-escaping.
Yang Tse [Tue, 29 Dec 2009 01:51:57 +0000 (01:51 +0000)]
- Where run-time error checks enabling compiler option /GZ was used it is now
replaced with equivalent /RTCsu for Visual Studio 2003 and newer versions.
- Compiler option /GX is now replaced with equivalent /EHsc for all versions.
Daniel Stenberg [Fri, 25 Dec 2009 22:21:46 +0000 (22:21 +0000)]
When verifying the SMTP server I had to add some hackery since SMTP in itself
doesn't really return any body data to check so I made SMTP check "headers"
as well.
Yang Tse [Wed, 23 Dec 2009 15:20:20 +0000 (15:20 +0000)]
Back out some pingpong server stopping changes introduced last week in
order to re-use 'classic' stopping and allow taking test-suite run time
references from this state.
Yang Tse [Mon, 21 Dec 2009 16:55:39 +0000 (16:55 +0000)]
- Ingmar Runge noticed that Windows config-win32.h configuration file
did not include a definition for HAVE_CLOSESOCKET which resulted in
function close() being inappropriately used to close sockets.
Yang Tse [Mon, 21 Dec 2009 14:53:07 +0000 (14:53 +0000)]
Move stopping of servers instructed by test definition, after the removal of
server logs advisor read lock and before test results verifications are done.
When stopping a pingpong server, stop server before its slaves.
Yang Tse [Mon, 21 Dec 2009 14:33:01 +0000 (14:33 +0000)]
Reinstate hi resolution time logging since this is not what is
now adding 90 extra seconds to the total time some autobuilds
need to make a full test-run.