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.
Yang Tse [Thu, 17 Dec 2009 22:28:40 +0000 (22:28 +0000)]
Comment out hi resolution time logging to verify if this is what might
be contributing 90 additional seconds to the total time some autobuilds
now need to make a full test-run.
Daniel Stenberg [Wed, 16 Dec 2009 23:11:47 +0000 (23:11 +0000)]
Follow-up fix for the proxy fix I did for Jon Nelson's bug. It turned out I
was a bit too quick and broke test case 1101 with that change. The order of
some of the setups is sensitive. I now changed it slightly again.
Daniel Stenberg [Mon, 14 Dec 2009 23:16:09 +0000 (23:16 +0000)]
- Jon Nelson found a regression that turned out to be a flaw in how libcurl
detects and uses proxies based on the environment variables. If the proxy
was given as an explicit option it worked, but due to the setup order
mistake proxies would not be used fine for a few protocols when picked up
from '[protocol]_proxy'. Obviously this broke after 7.19.4. I now also added
test case 1106 that verifies this functionality.