aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2014-01-31winssl: improved default SSL/TLS protocol selectionMarc Hoersken
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
2014-01-31INSTALL: Corrected mentioned version number as release 7.34.1 became 7.35.0Steve Holme
2014-01-31RELEASE-NOTES: Synced with 0f213fdca1Steve Holme
2014-01-31pipeline: Fixed a NULL pointer dereference on OOMDan Fandrich
2014-01-30tests: make the authorization retry tests pass the torture testsDan Fandrich
2014-01-30ftp: fixed a memory leak on wildcard error pathDan Fandrich
2014-01-30netrc: Fixed a memory leak in an OOM conditionDan Fandrich
2014-01-30ntlm: Fixed a memory leak when using NTLM with a proxy serverSteve Holme
2014-01-30tests: Missed updating a type-3 message in commit 1c9aaa0bacSteve Holme
2014-01-30http2: fix size check in on_data_chunk_recvDaniel Stenberg
2014-01-30http2: add CRLF when first data arrivesDaniel Stenberg
2014-01-30tests: Updated NTLM tests for NTLMv2 type-3 messageSteve Holme
2014-01-30http2_recv: Return written length on CURLE_AGAINTatsuhiro Tsujikawa
2014-01-30http2: Use nghttp2_session_mem_recv and nghttp2_session_upgradeTatsuhiro Tsujikawa
2014-01-30http2: call it "HTTP 2" and not 2.0Daniel Stenberg
The minor version will be dropped for HTTP 2 so it will make sense to avoid using it in option names etc.
2014-01-30http2: basic version of receiving DATADaniel Stenberg
2014-01-30http2: convert HEADER frames to HTTP1-like headersDaniel Stenberg
... and then go through the "normal" HTTP engine.
2014-01-30http2: fix EWOULDBLOCK in recv_callback()Daniel Stenberg
2014-01-30http2: do the POST Upgrade dance properlyDaniel Stenberg
2014-01-30ntlm: Use static client nonce for the test suiteSteve Holme
2014-01-30http2.h: provide empty macros for non-http2 buildsDaniel Stenberg
2014-01-30http2: switch into http2 mode if NPN indicatesFabian Frank
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().
2014-01-30http2: s/Curl_http2_request/Curl_http2_request_upgradeDaniel Stenberg
To better reflect its purpose
2014-01-30http2-openssl: verify that NPN functionality is presentDaniel Stenberg
2014-01-30openssl: set up hooks with to perform NPNFabian Frank
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
2014-01-30http2: added stubs for all nghttp2 callbacksDaniel Stenberg
This makes it easier to trace what's happening.
2014-01-29http2: use FIRSTSOCKET instead of 0 to index the sockets arrayDaniel Stenberg