Steve Holme [Sun, 9 Feb 2014 20:37:44 +0000 (20:37 +0000)]
tests: Removed test 807 as it has been superseded by tests 815 and 816
Steve Holme [Sun, 9 Feb 2014 20:32:44 +0000 (20:32 +0000)]
tests: Updated the titles of tests 815 and 816
Daniel Stenberg [Sun, 9 Feb 2014 19:08:13 +0000 (20:08 +0100)]
tool_metalink: fix compiler warning when built without metalink
Steve Holme [Sun, 9 Feb 2014 17:16:15 +0000 (17:16 +0000)]
tool_operate: Move the trace and error file closure to tool_cfgable
Steve Holme [Sun, 9 Feb 2014 13:29:00 +0000 (13:29 +0000)]
TODO: Removed url-specific options
Steve Holme [Sun, 9 Feb 2014 13:18:29 +0000 (13:18 +0000)]
tests: Re-enabled IMAP tests that require URL specific option support
Steve Holme [Sun, 9 Feb 2014 13:04:33 +0000 (13:04 +0000)]
RELEASE-NOTES: Synced with
8e62f7a6503a
Marc Hoersken [Sun, 9 Feb 2014 12:36:11 +0000 (13:36 +0100)]
secureserver: FIPS option is only supported since stunnel 5.00
Steve Holme [Sun, 9 Feb 2014 11:01:36 +0000 (11:01 +0000)]
tool_operate: Added support for performing URL specific operations
Steve Holme [Fri, 7 Feb 2014 21:32:29 +0000 (21:32 +0000)]
tool_operate: Let curl handle cleanup take place in config_free()
Dan Fandrich [Sat, 8 Feb 2014 12:59:40 +0000 (13:59 +0100)]
formdata: Must use Curl_safefree instead of free
Daniel Stenberg [Sat, 8 Feb 2014 22:20:10 +0000 (23:20 +0100)]
test96: updated according to recent changes
Daniel Stenberg [Sat, 8 Feb 2014 22:19:10 +0000 (23:19 +0100)]
runtests: allow <strippart> to remove lines
For verify file, if the strippart condition removes the line completely
it is now removed from the array.
Steve Holme [Fri, 7 Feb 2014 21:14:43 +0000 (21:14 +0000)]
tool_getparam: Added support for parsing of specific URL options
Dan Fandrich [Sat, 8 Feb 2014 10:51:28 +0000 (11:51 +0100)]
secureserver: Disable FIPS mode for stunnel
It's unnecessary for curl testing, and it can otherwise cause
stunnel to fail to start if OpenSSL doesn't support FIPS mode.
Dan Fandrich [Sat, 8 Feb 2014 10:33:43 +0000 (11:33 +0100)]
formdata: Fixed memory leak on OOM condition
Dan Fandrich [Fri, 7 Feb 2014 21:15:02 +0000 (22:15 +0100)]
runtests: Disable valgrind when debugging
This was already mostly being done, except that analysis after the
test still assumed that the valgrind log files would be available. An
alternative way to handle the valgrind + gdb combination could be to
enable one of the valgrind debugger hooks.
Steve Holme [Fri, 7 Feb 2014 19:40:45 +0000 (19:40 +0000)]
tool_cfgable: For consistency renamed init_config() to config_init()
Steve Holme [Fri, 7 Feb 2014 19:29:46 +0000 (19:29 +0000)]
tool_cfgable: Introduced config_free() function
Daniel Stenberg [Fri, 7 Feb 2014 19:28:53 +0000 (20:28 +0100)]
--help: add missing --tlsv1.x options
Steve Holme [Fri, 7 Feb 2014 15:00:51 +0000 (15:00 +0000)]
lib1515.c: Fixed various compilation warnings
lib1515.c:38:26 warning: unused parameter 'curl'
lib1515.c:38:81 warning: unused parameter 'ptr'
lib1515.c:38:5 warning: no previous prototype for 'debug_callback'
lib1515.c:46:5 warning: no previous prototype for 'do_one_request'
lib1515.c:120:3 warning: ISO C90 forbids mixed declarations and code
As well as some code policing such as white space and braces.
Daniel Stenberg [Fri, 7 Feb 2014 14:50:31 +0000 (15:50 +0100)]
http2: updated README after NSS addition
Changed the support to a little matrix and added brief explanation of
what ALPN and NPN are for.
Daniel Stenberg [Fri, 7 Feb 2014 14:38:45 +0000 (15:38 +0100)]
nss: support pre-ALPN versions
Fabian Frank [Fri, 7 Feb 2014 09:48:34 +0000 (01:48 -0800)]
nss: ALPN and NPN support
Add ALPN and NPN support for NSS. This allows cURL to negotiate
HTTP/2.0 connections when built with NSS.
Daniel Stenberg [Fri, 7 Feb 2014 08:39:50 +0000 (09:39 +0100)]
formpost: use semicolon in multipart/mixed
Not comma, which is an inconsistency and a mistake probably inherited
from the examples section of RFC1867.
This bug has been present since the day curl started to support
multipart formposts, back in the 90s.
Reported-by: Rob Davies
Bug: http://curl.haxx.se/bug/view.cgi?id=1333
Dan Fandrich [Thu, 6 Feb 2014 22:55:25 +0000 (23:55 +0100)]
tests: Document use of the MEMDEBUG_LOG_SYNC macro
Dan Fandrich [Thu, 6 Feb 2014 22:53:48 +0000 (23:53 +0100)]
ssh: Fixed a NULL pointer dereference on OOM condition
Steve Holme [Thu, 6 Feb 2014 22:32:56 +0000 (22:32 +0000)]
nss: Updated copyright year for recent edits
Remi Gacogne [Thu, 6 Feb 2014 22:16:37 +0000 (23:16 +0100)]
100-continue: fix timeout condition
When using the multi socket interface, libcurl calls the
curl_multi_timer_callback asking to be woken up after
CURL_TIMEOUT_EXPECT_100 milliseconds.
After the timeout has expired, calling curl_multi_socket_action with
CURL_SOCKET_TIMEOUT as sockfd leads libcurl to check expired
timeouts. When handling the 100-continue one, the following check in
Curl_readwrite() fails if exactly CURL_TIMEOUT_EXPECT_100 milliseconds
passed since the timeout has been set!
It seems logical to consider that having waited for exactly
CURL_TIMEOUT_EXPECT_100 ms is enough.
Bug: http://curl.haxx.se/bug/view.cgi?id=1334
Fabian Frank [Thu, 6 Feb 2014 08:41:53 +0000 (00:41 -0800)]
nss: prefer highest available TLS version
Offer TLSv1.0 to 1.2 by default, still fall back to SSLv3
if --tlsv1[.N] was not specified on the command line.
Romulo A. Ceccon [Mon, 3 Feb 2014 19:09:33 +0000 (17:09 -0200)]
tests: add test for bug #1327 (dns cache timeout)
Fix for bug #1303 (
030a2b8cb) was not complete.
libcurl still pruned DNS entries added manually
after detecting a dead connection. This test
checks such behavior.
Romulo A. Ceccon [Fri, 31 Jan 2014 19:03:13 +0000 (17:03 -0200)]
tests: add test for bug #1303 (dns cache timeout)
Test-case 1515 reproduces bug #1303, where libcurl
would incorrectly prune DNS entries added via
CURLOPT_RESOLVE after the DNS_CACHE_TIMEOUT had
expired.
Daniel Stenberg [Thu, 6 Feb 2014 21:26:47 +0000 (22:26 +0100)]
http2: spell fixed README and added version requirement
Steve Holme [Thu, 6 Feb 2014 19:51:18 +0000 (19:51 +0000)]
tool_operate: Removed unused argument parameters from operate_do()
Steve Holme [Thu, 6 Feb 2014 19:43:50 +0000 (19:43 +0000)]
tool_operate: Moved list SSL engines code into operate()
Steve Holme [Thu, 6 Feb 2014 19:31:44 +0000 (19:31 +0000)]
tool_operate: Moved argument parsing into operate()
Daniel Stenberg [Wed, 5 Feb 2014 22:48:44 +0000 (23:48 +0100)]
runtests: add suppression generator help
Leave the valgrind --gen-suppressions option in there, commented, to
make it easier for next update.
Daniel Stenberg [Wed, 5 Feb 2014 22:46:31 +0000 (23:46 +0100)]
valgrind: updated suppressions file
The call stack was modified in
2dc7ad23 so the supressions didn't work
anymore.
Daniel Stenberg [Wed, 5 Feb 2014 22:36:16 +0000 (23:36 +0100)]
runtests: detect 'ares' better
... caused false detections of the threaded resolver otherwise
Steve Holme [Wed, 5 Feb 2014 20:28:36 +0000 (20:28 +0000)]
tool_operate: Moved .curlrc parsing code into operate()
Steve Holme [Wed, 5 Feb 2014 20:20:45 +0000 (20:20 +0000)]
tool_operate: Moved locale setup code into operate_init()
Daniel Stenberg [Wed, 5 Feb 2014 14:31:29 +0000 (15:31 +0100)]
http2: minor update of the README
Fabian Frank [Wed, 5 Feb 2014 08:21:16 +0000 (00:21 -0800)]
http2: rely on content-encoding header
A server might respond with a content-encoding header and a response
that was encoded accordingly in HTTP-draft-09/2.0 mode, even if the
client did not send an accept-encoding header earlier. The server might
not send a content-encoding header if the identity encoding was used to
encode the response.
See:
http://tools.ietf.org/html/draft-ietf-httpbis-http2-09#section-9.3
Dan Fandrich [Tue, 4 Feb 2014 20:49:10 +0000 (21:49 +0100)]
tool_operate: shortened too-long source line
Steve Holme [Sun, 2 Feb 2014 15:37:28 +0000 (15:37 +0000)]
tool_operate: Introduced operate_free() function
Steve Holme [Sun, 2 Feb 2014 15:28:25 +0000 (15:28 +0000)]
tool_operate: Introduced operate_init() function
Steve Holme [Sun, 2 Feb 2014 15:20:37 +0000 (15:20 +0000)]
tool_operate: Introduced new operate() function
Daniel Stenberg [Tue, 4 Feb 2014 14:07:08 +0000 (15:07 +0100)]
http2: enforce gzip auto-decompress
As this is mandated by the http2 spec draft-09
Tatsuhiro Tsujikawa [Tue, 4 Feb 2014 13:57:29 +0000 (14:57 +0100)]
http2: handle incoming data larger than remaining buffer
Tatsuhiro Tsujikawa [Sun, 2 Feb 2014 12:31:13 +0000 (21:31 +0900)]
http2: Check stream ID we are interested in
Tatsuhiro Tsujikawa [Tue, 4 Feb 2014 13:54:42 +0000 (14:54 +0100)]
http2: store response header in temporary buffer
Tatsuhiro Tsujikawa [Fri, 31 Jan 2014 15:51:24 +0000 (00:51 +0900)]
HTTP2: add layer between existing http and socket(TLS) layer
This patch chooses different approach to integrate HTTP2 into HTTP curl
stack. The idea is that we insert HTTP2 layer between HTTP code and
socket(TLS) layer. When HTTP2 is initialized (either in NPN or Upgrade),
we replace the Curl_recv/Curl_send callbacks with HTTP2's, but keep the
original callbacks in http_conn struct. When sending serialized data by
nghttp2, we use original Curl_send callback. Likewise, when reading data
from network, we use original Curl_recv callback. In this way we can
treat both TLS and non-TLS connections.
With this patch, one can transfer contents from https://twitter.com and
from nghttp2 test server in plain HTTP as well.
The code still has rough edges. The notable one is I could not figure
out how to call nghttp2_session_send() when underlying socket is
writable.
Fabian Frank [Tue, 4 Feb 2014 08:10:37 +0000 (00:10 -0800)]
gtls: add ALPN support
Add ALPN support when using GnuTLS >= 3.2.0. This allows
libcurl to negotiate HTTP/2.0 for https connections when
built with GnuTLS.
See:
http://www.gnutls.org/manual/gnutls.html#Application-Layer-Protocol-Negotiation-_0028ALPN_0029
http://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-04
Steve Holme [Sun, 2 Feb 2014 15:11:22 +0000 (15:11 +0000)]
tool_operate: Moved libcurl information gathering to tool_main
Fabian Frank [Mon, 3 Feb 2014 02:33:28 +0000 (18:33 -0800)]
openssl: add ALPN support
Add ALPN support when using OpenSSL. This will offer ALPN and NPN to the
server, who can respond with either one or none of the two. OpenSSL >=
1.0.2 is required, which means as of today obtaining a snapshot from
ftp://ftp.openssl.org/snapshot/.
See:
http://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-04
https://github.com/openssl/openssl/blob/
ba168244a14bbd056e502d7daa04cae4aabe9d0d/ssl/ssl_lib.c#L1787
Steve Holme [Sun, 2 Feb 2014 14:58:25 +0000 (14:58 +0000)]
tool_operate: Moved command line argument parsing into separate function
Steve Holme [Sun, 2 Feb 2014 14:29:54 +0000 (14:29 +0000)]
tool_operate: Simplified parse .curlrc decision logic
Steve Holme [Sun, 2 Feb 2014 14:21:53 +0000 (14:21 +0000)]
tool_operate: Moved main initialisation and cleanup code into tool_main
Steve Holme [Mon, 3 Feb 2014 12:16:22 +0000 (12:16 +0000)]
tool_main: Fixed compilation warning from commit
0104678c79
no previous prototype for function 'memory_tracking_init'
Steve Holme [Sun, 2 Feb 2014 13:58:35 +0000 (13:58 +0000)]
tool_main: Changed stack based config struct to be heap based
Dan Fandrich [Sun, 2 Feb 2014 23:23:34 +0000 (00:23 +0100)]
tests: Moved some comments so the test data files parse as XML
Steve Holme [Sun, 2 Feb 2014 13:45:35 +0000 (13:45 +0000)]
tool_operate: Moved memory tracking initialisation into tool_main
Steve Holme [Sun, 2 Feb 2014 11:01:10 +0000 (11:01 +0000)]
tests: Fixed test172 cookie expiry
The test contains a cookie jar file where one of the cookies has an
expiry date of
1391252187 -- Sat, 1 Feb 2014 10:56:27 GMT which has
now expired. Updated to Wed, 14 Oct 2037 16:36:33 GMT as per test
179.
Reported-by: Adam Sampson
Bug: http://curl.haxx.se/bug/view.cgi?id=1330
Steve Holme [Sat, 1 Feb 2014 13:36:48 +0000 (13:36 +0000)]
tool_operate: Moved initial config setup into new init_config() function
Steve Holme [Sat, 1 Feb 2014 13:26:09 +0000 (13:26 +0000)]
tool_main: Moved config struct initialisation into a separate function
In preparation for adding URL specific options moved the initialisation
of the Configurable structure into a separate function in tool_cfgable.
Marc Hoersken [Sat, 1 Feb 2014 00:01:10 +0000 (01:01 +0100)]
test 500: workaround low timer resolution on Windows
Since the timer resolution is lower, there are actually cases that
the compared values are equal. Therefore we check for previous
timestamps being greater than the current one instead.
Marc Hoersken [Sat, 1 Feb 2014 12:49:58 +0000 (13:49 +0100)]
test suite: stop conversion of valid output to CRLF on Windows
Since the output isn't actually being written in text-mode and it
was rather used as a workaround, disable text-mode for these tests.
Marc Hoersken [Sat, 1 Feb 2014 12:47:00 +0000 (13:47 +0100)]
HTTP tests: use CRLF as header seperator according to RFC 2616
Marc Hoersken [Sat, 1 Feb 2014 12:43:19 +0000 (13:43 +0100)]
FTP tests: enable text-mode for more datacheck sections
Marc Hoersken [Sun, 26 Jan 2014 10:32:44 +0000 (11:32 +0100)]
FTP tests: enable text-mode for data and datacheck sections
Marc Hoersken [Sun, 26 Jan 2014 10:31:52 +0000 (11:31 +0100)]
runtests.pl: added support for text-mode within datacheck section
Marc Hoersken [Sun, 26 Jan 2014 10:30:41 +0000 (11:30 +0100)]
ftpserver.pl: directory LISTings use [CR][LF] for ASCII transfer
According to section 2.2 of RFC959 the End-of-Line is defined as:
The end-of-line sequence defines the separation of printing
lines. The sequence is Carriage Return, followed by Line Feed.
Verified by sniffing traffic between a Windows FTP client (FileZilla)
and Unix-hosted FTP server (ProFTPD).
Marc Hoersken [Sun, 26 Jan 2014 10:23:11 +0000 (11:23 +0100)]
runtests.pl: reverse line-ending conversion on Windows
It makes more sense to convert the expected output to [CR][LF] on
Windows than to force the actual, probably correct, output to [LF].
This way it is actually possible to see if curl outputs the correct
line-ending excepted by a text-aware test case.
Marc Hoersken [Sun, 19 Jan 2014 13:13:21 +0000 (14:13 +0100)]
winssl: improved default SSL/TLS protocol selection
For some reason Windows 7 SP1 chooses TLS 1.0 instead of TLS 1.2
if it is not explicitly enabled within grbitEnabledProtocols.
More information can be found on MSDN:
http://msdn.microsoft.com/library/windows/desktop/
aa379810.aspx
Steve Holme [Fri, 31 Jan 2014 00:25:11 +0000 (00:25 +0000)]
INSTALL: Corrected mentioned version number as release 7.34.1 became 7.35.0
Steve Holme [Fri, 31 Jan 2014 00:20:32 +0000 (00:20 +0000)]
RELEASE-NOTES: Synced with
0f213fdca1
Dan Fandrich [Thu, 30 Jan 2014 23:05:36 +0000 (00:05 +0100)]
pipeline: Fixed a NULL pointer dereference on OOM
Dan Fandrich [Thu, 30 Jan 2014 22:18:20 +0000 (23:18 +0100)]
tests: make the authorization retry tests pass the torture tests
Dan Fandrich [Wed, 29 Jan 2014 21:40:57 +0000 (22:40 +0100)]
ftp: fixed a memory leak on wildcard error path
Dan Fandrich [Wed, 29 Jan 2014 07:10:26 +0000 (08:10 +0100)]
netrc: Fixed a memory leak in an OOM condition
Steve Holme [Thu, 30 Jan 2014 20:59:26 +0000 (20:59 +0000)]
ntlm: Fixed a memory leak when using NTLM with a proxy server
Steve Holme [Thu, 30 Jan 2014 20:51:34 +0000 (20:51 +0000)]
tests: Missed updating a type-3 message in commit
1c9aaa0bac
Daniel Stenberg [Thu, 30 Jan 2014 19:22:54 +0000 (20:22 +0100)]
http2: fix size check in on_data_chunk_recv
Daniel Stenberg [Thu, 30 Jan 2014 17:21:57 +0000 (18:21 +0100)]
http2: add CRLF when first data arrives
Steve Holme [Thu, 30 Jan 2014 19:11:21 +0000 (19:11 +0000)]
tests: Updated NTLM tests for NTLMv2 type-3 message
Tatsuhiro Tsujikawa [Thu, 30 Jan 2014 16:49:35 +0000 (17:49 +0100)]
http2_recv: Return written length on CURLE_AGAIN
Tatsuhiro Tsujikawa [Thu, 30 Jan 2014 14:26:20 +0000 (23:26 +0900)]
http2: Use nghttp2_session_mem_recv and nghttp2_session_upgrade
Daniel Stenberg [Thu, 30 Jan 2014 15:32:03 +0000 (16:32 +0100)]
http2: call it "HTTP 2" and not 2.0
The minor version will be dropped for HTTP 2 so it will make sense to
avoid using it in option names etc.
Daniel Stenberg [Thu, 30 Jan 2014 15:09:36 +0000 (16:09 +0100)]
http2: basic version of receiving DATA
Daniel Stenberg [Thu, 30 Jan 2014 14:58:07 +0000 (15:58 +0100)]
http2: convert HEADER frames to HTTP1-like headers
... and then go through the "normal" HTTP engine.
Daniel Stenberg [Thu, 30 Jan 2014 13:31:05 +0000 (14:31 +0100)]
http2: fix EWOULDBLOCK in recv_callback()
Daniel Stenberg [Thu, 30 Jan 2014 13:26:00 +0000 (14:26 +0100)]
http2: do the POST Upgrade dance properly
Steve Holme [Thu, 30 Jan 2014 11:38:30 +0000 (11:38 +0000)]
ntlm: Use static client nonce for the test suite
Daniel Stenberg [Thu, 30 Jan 2014 10:46:59 +0000 (11:46 +0100)]
http2.h: provide empty macros for non-http2 builds
Fabian Frank [Thu, 30 Jan 2014 05:28:50 +0000 (21:28 -0800)]
http2: switch into http2 mode if NPN indicates
Check the NPN result before preparing an HTTP request and switch into
HTTP/2.0 mode if necessary. This is a work in progress, the actual code
to prepare and send the request using nghttp2 is still missing from
Curl_http2_send_request().
Daniel Stenberg [Thu, 30 Jan 2014 10:32:04 +0000 (11:32 +0100)]
http2: s/Curl_http2_request/Curl_http2_request_upgrade
To better reflect its purpose
Daniel Stenberg [Thu, 30 Jan 2014 10:24:15 +0000 (11:24 +0100)]
http2-openssl: verify that NPN functionality is present
Fabian Frank [Thu, 30 Jan 2014 05:18:03 +0000 (21:18 -0800)]
openssl: set up hooks with to perform NPN
NPN is what is available in the wild today to negotiate SPDY or HTTP/2.0
connections. It is expected to be replaced by ALPN in the future. If
HTTP/2.0 is negotiated, this is indicated for the entire connection and
http.c is expected to initialize itself for HTTP/2.0 instead of
HTTP/1.1.
see:
http://technotes.googlecode.com/git/nextprotoneg.html
http://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-04
Daniel Stenberg [Wed, 29 Jan 2014 23:11:56 +0000 (00:11 +0100)]
http2: added stubs for all nghttp2 callbacks
This makes it easier to trace what's happening.
Daniel Stenberg [Wed, 29 Jan 2014 22:47:24 +0000 (23:47 +0100)]
http2: use FIRSTSOCKET instead of 0 to index the sockets array