aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-02-07nss: ALPN and NPN supportFabian Frank
Add ALPN and NPN support for NSS. This allows cURL to negotiate HTTP/2.0 connections when built with NSS.
2014-02-07formpost: use semicolon in multipart/mixedDaniel Stenberg
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
2014-02-06tests: Document use of the MEMDEBUG_LOG_SYNC macroDan Fandrich
2014-02-06ssh: Fixed a NULL pointer dereference on OOM conditionDan Fandrich
2014-02-06nss: Updated copyright year for recent editsSteve Holme
2014-02-06100-continue: fix timeout conditionRemi Gacogne
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
2014-02-06nss: prefer highest available TLS versionFabian Frank
Offer TLSv1.0 to 1.2 by default, still fall back to SSLv3 if --tlsv1[.N] was not specified on the command line.
2014-02-06tests: add test for bug #1327 (dns cache timeout)Romulo A. Ceccon
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.
2014-02-06tests: add test for bug #1303 (dns cache timeout)Romulo A. Ceccon
Test-case 1515 reproduces bug #1303, where libcurl would incorrectly prune DNS entries added via CURLOPT_RESOLVE after the DNS_CACHE_TIMEOUT had expired.
2014-02-06http2: spell fixed README and added version requirementDaniel Stenberg
2014-02-06tool_operate: Removed unused argument parameters from operate_do()Steve Holme
2014-02-06tool_operate: Moved list SSL engines code into operate()Steve Holme
2014-02-06tool_operate: Moved argument parsing into operate()Steve Holme
2014-02-05runtests: add suppression generator helpDaniel Stenberg
Leave the valgrind --gen-suppressions option in there, commented, to make it easier for next update.
2014-02-05valgrind: updated suppressions fileDaniel Stenberg
The call stack was modified in 2dc7ad23 so the supressions didn't work anymore.
2014-02-05runtests: detect 'ares' betterDaniel Stenberg
... caused false detections of the threaded resolver otherwise
2014-02-05tool_operate: Moved .curlrc parsing code into operate()Steve Holme
2014-02-05tool_operate: Moved locale setup code into operate_init()Steve Holme
2014-02-05http2: minor update of the READMEDaniel Stenberg
2014-02-05http2: rely on content-encoding headerFabian Frank
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
2014-02-04tool_operate: shortened too-long source lineDan Fandrich
2014-02-04tool_operate: Introduced operate_free() functionSteve Holme
2014-02-04tool_operate: Introduced operate_init() functionSteve Holme
2014-02-04tool_operate: Introduced new operate() functionSteve Holme
2014-02-04http2: enforce gzip auto-decompressDaniel Stenberg
As this is mandated by the http2 spec draft-09
2014-02-04http2: handle incoming data larger than remaining bufferTatsuhiro Tsujikawa
2014-02-04http2: Check stream ID we are interested inTatsuhiro Tsujikawa
2014-02-04http2: store response header in temporary bufferTatsuhiro Tsujikawa
2014-02-04HTTP2: add layer between existing http and socket(TLS) layerTatsuhiro Tsujikawa
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.
2014-02-04gtls: add ALPN supportFabian Frank
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
2014-02-03tool_operate: Moved libcurl information gathering to tool_mainSteve Holme
2014-02-03openssl: add ALPN supportFabian Frank
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
2014-02-03tool_operate: Moved command line argument parsing into separate functionSteve Holme
2014-02-03tool_operate: Simplified parse .curlrc decision logicSteve Holme
2014-02-03tool_operate: Moved main initialisation and cleanup code into tool_mainSteve Holme
2014-02-03tool_main: Fixed compilation warning from commit 0104678c79Steve Holme
no previous prototype for function 'memory_tracking_init'
2014-02-03tool_main: Changed stack based config struct to be heap basedSteve Holme
2014-02-03tests: Moved some comments so the test data files parse as XMLDan Fandrich
2014-02-02tool_operate: Moved memory tracking initialisation into tool_mainSteve Holme
2014-02-02tests: Fixed test172 cookie expirySteve Holme
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
2014-02-02tool_operate: Moved initial config setup into new init_config() functionSteve Holme
2014-02-01tool_main: Moved config struct initialisation into a separate functionSteve Holme
In preparation for adding URL specific options moved the initialisation of the Configurable structure into a separate function in tool_cfgable.
2014-02-01test 500: workaround low timer resolution on WindowsMarc Hoersken
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.
2014-02-01test suite: stop conversion of valid output to CRLF on WindowsMarc Hoersken
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.
2014-02-01HTTP tests: use CRLF as header seperator according to RFC 2616Marc Hoersken
2014-02-01FTP tests: enable text-mode for more datacheck sectionsMarc Hoersken
2014-01-31FTP tests: enable text-mode for data and datacheck sectionsMarc Hoersken
2014-01-31runtests.pl: added support for text-mode within datacheck sectionMarc Hoersken
2014-01-31ftpserver.pl: directory LISTings use [CR][LF] for ASCII transferMarc Hoersken
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).
2014-01-31runtests.pl: reverse line-ending conversion on WindowsMarc Hoersken
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.