Fabian Frank
8b6654224b
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
ba168244a1/ssl/ssl_lib.c (L1787)
2014-02-03 23:46:06 +01:00
Marc Hoersken
82f558366f
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
2014-01-31 20:01:25 +01:00
Dan Fandrich
0f213fdca1
pipeline: Fixed a NULL pointer dereference on OOM
2014-01-31 00:05:36 +01:00
Dan Fandrich
c631a54bb6
ftp: fixed a memory leak on wildcard error path
2014-01-30 22:15:03 +01:00
Dan Fandrich
768151449b
netrc: Fixed a memory leak in an OOM condition
2014-01-30 22:15:03 +01:00
Steve Holme
97857de80e
ntlm: Fixed a memory leak when using NTLM with a proxy server
2014-01-30 20:59:26 +00:00
Daniel Stenberg
b58b87e76e
http2: fix size check in on_data_chunk_recv
2014-01-30 20:24:15 +01:00
Daniel Stenberg
48c3bed43b
http2: add CRLF when first data arrives
2014-01-30 20:24:15 +01:00
Tatsuhiro Tsujikawa
c5165b8458
http2_recv: Return written length on CURLE_AGAIN
2014-01-30 17:49:35 +01:00
Tatsuhiro Tsujikawa
88705ef80e
http2: Use nghttp2_session_mem_recv and nghttp2_session_upgrade
2014-01-30 17:45:53 +01:00
Daniel Stenberg
83f52a455f
http2: basic version of receiving DATA
2014-01-30 16:09:36 +01:00
Daniel Stenberg
a7affd637f
http2: convert HEADER frames to HTTP1-like headers
...
... and then go through the "normal" HTTP engine.
2014-01-30 15:58:07 +01:00
Daniel Stenberg
93f473c78a
http2: fix EWOULDBLOCK in recv_callback()
2014-01-30 14:31:05 +01:00
Daniel Stenberg
a878cb3056
http2: do the POST Upgrade dance properly
2014-01-30 14:26:00 +01:00
Steve Holme
0e11307057
ntlm: Use static client nonce for the test suite
2014-01-30 11:39:08 +00:00
Daniel Stenberg
0f23662af7
http2.h: provide empty macros for non-http2 builds
2014-01-30 11:46:59 +01:00
Fabian Frank
dd011df9e1
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().
2014-01-30 11:34:37 +01:00
Daniel Stenberg
8e778887b5
http2: s/Curl_http2_request/Curl_http2_request_upgrade
...
To better reflect its purpose
2014-01-30 11:33:37 +01:00
Daniel Stenberg
99b4ff8b6f
http2-openssl: verify that NPN functionality is present
2014-01-30 11:24:15 +01:00
Fabian Frank
22c198fa89
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
2014-01-30 11:13:28 +01:00
Daniel Stenberg
c3fe3d9926
http2: added stubs for all nghttp2 callbacks
...
This makes it easier to trace what's happening.
2014-01-30 00:11:56 +01:00
Daniel Stenberg
62e3d66cc6
http2: use FIRSTSOCKET instead of 0 to index the sockets array
2014-01-29 23:47:24 +01:00
Daniel Stenberg
b451c10d1e
http2: receive and log the received header frames
2014-01-29 23:46:20 +01:00
Daniel Stenberg
be84524cc2
http2_recv: log nghttp2 return codes for debugging purposes
2014-01-29 23:20:46 +01:00
Daniel Stenberg
803581d3e0
HTTP2: reject nghttp2 versions before 0.3.0
2014-01-29 22:53:08 +01:00
Gisle Vanem
341d09bc2b
http2: adjusted to newer nghttp2_session_callbacks struct
...
the number of elements in the 'nghttp2_session_callbacks' structure is
now reduced by 2 in version 0.3.0 (I'm not sure when the change
happened, but checking for ver 0.3.0 work for me).
2014-01-29 22:52:22 +01:00
Gisle Vanem
0070f7a09d
HTTP2: Wrong NgHTTP2 user-data
...
Something is wrong in 'userp' for the HTTP2 recv_callback(). The
session is created using bogus user-data; '&conn' and not 'conn'.
I noticed this since the socket-value in Curl_read_plain() was set to a
impossible high value.
2014-01-29 22:50:25 +01:00
Daniel Stenberg
220bcba93d
NTLM: error: conversion to 'int' from 'long int' may alter its value
...
Fixed two compiler nits
2014-01-29 22:42:34 +01:00
Steve Holme
eb91e1a58f
ntlm: Coding style policing dating back to 2011
2014-01-29 20:51:04 +00:00
Steve Holme
2319221c83
ntlm: Use a timestamp of 01/01/1970 for the test suite
2014-01-29 20:24:32 +00:00
Steve Holme
914b60c827
ntlm: Updated Curl_ntlm_core_mk_ntlmv2_resp() to use local variables
...
...until the function is successful when it returns them in the out
parameters.
2014-01-29 20:24:16 +00:00
Steve Holme
07b66cbfa4
ntlm: Added cross platform support for writing NTLMv2 timestamp in buffer
...
Added conversion functions write32_le() and write64_le() to ensure the
NTLMv2 timestamp is always written in little-endian.
2014-01-29 20:22:10 +00:00
Prash Dush
86724581b6
ntlm: Added support for NTLMv2
2014-01-29 20:17:11 +00:00
Kamil Dudka
665c160f0a
nss: do not use the NSS_ENABLE_ECC define
...
It is not provided by NSS public headers.
Bug: https://bugzilla.redhat.com/1058776
2014-01-29 13:57:21 +01:00
Kamil Dudka
e15e73b741
nss: do not fail if NSS does not implement a cipher
...
... that the user does not ask for
2014-01-29 13:46:17 +01:00
Daniel Stenberg
53940f8834
http2: switch recv/send functions to http2 ones after 101
2014-01-29 10:24:05 +01:00
Daniel Stenberg
8d3608f2ad
http2: handle 101 responses and switch to HTTP2
2014-01-29 10:24:05 +01:00
Dan Fandrich
1a20f59237
oauth2: Fixed a memory leak in an OOM condition
2014-01-28 23:55:04 +01:00
Romulo A. Ceccon
31860ab8c8
hostip: don't remove DNS entries that are in use
...
hostcache_timestamp_remove() should remove old *unused* entries from the
host cache, but it never checked whether the entry was actually in
use. This complements commit 030a2b8cb
.
Bug: http://curl.haxx.se/bug/view.cgi?id=1327
2014-01-28 22:25:48 +01:00
Daniel Stenberg
bcb19883a8
TFTP: fix crash on time-out
...
tftp_done() can get called with its TFTP state pointer still being NULL
on an early time-out, which caused a segfault when dereferenced.
Reported-by: Glenn Sheridan
Bug: http://curl.haxx.se/mail/lib-2014-01/0246.html
2014-01-28 22:17:16 +01:00
Dan Fandrich
b4b28c7001
netrc: Fixed a memory and file descriptor leak on OOM
2014-01-24 21:52:48 +01:00
Dan Fandrich
da9864fb72
multi: Fixed a memory leak on OOM condition
2014-01-24 00:22:08 +01:00
Fabian Frank
251305cd7f
axtls: fix compiler warning on conversion ssize_t => int
2014-01-21 08:21:55 +01:00
Fabian Frank
852a018e78
SFTP: stat remote file also when CURLOPT_NOBODY is 1
...
Make it possible to call
curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &filesize)
and related functions on remote sftp:// files, without downloading them.
Reported-by: Yingwei Liu
Bug: http://curl.haxx.se/mail/lib-2014-01/0139.html
2014-01-20 22:57:55 +01:00
Cédric Deltheil
afd288b28f
HTTP POST: omit Content-Length if data size is unknown
...
This prevents sending a `Content-Length: -1` header, e.g this ocurred
with the following combination:
* standard HTTP POST (no chunked encoding),
* user-defined read function set,
* `CURLOPT_POSTFIELDSIZE(_LARGE)` NOT set.
With this fix it now behaves like HTTP PUT.
2014-01-20 12:50:51 +01:00
Fabian Frank
39f7e80a52
disable GnuTLS insecure ciphers
...
Make GnuTLS old and new consistent, specify the desired protocol, cipher
and certificate type in always in both modes. Disable insecure ciphers
as reported by howsmyssl.com. Honor not only --sslv3, but also the
--tlsv1[.N] switches.
Related Bug: http://curl.haxx.se/bug/view.cgi?id=1323
2014-01-20 11:32:55 +01:00
Daniel Stenberg
4f334ba017
gtls: fix compiler warnings on conversions size_t => unsigned int
2014-01-19 23:26:01 +01:00
Steve Holme
2cac75c4e4
http_chunks.c: Fixed compilation warnings under some 32-bit systems
...
conversion from 'curl_off_t' to 'size_t', possible loss of data
Where curl_off_t is a 64-bit word and size_t is 32-bit - for example
with 32-bit Windows builds.
2014-01-19 13:10:45 +00:00
Steve Holme
e35ffda0b3
win32: Added additional preprocessor check for Version Helper API
...
A follow up patch to commit d2671340a6
as _WIN32_WINNT_WIN2K and
_WIN32_WINNT_WIN2K may not be defined on all systems.
2014-01-18 11:42:48 +00:00
Steve Holme
d2671340a6
win32: Corrected the preprocessor check for Version Helper API
...
Following some auto build failures after commit c7a76bb056
changed
the preprocessor check to use _WIN32_WINNT.
2014-01-17 22:36:41 +00:00