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
Daniel Stenberg [Wed, 29 Jan 2014 22:45:24 +0000 (23:45 +0100)]
http2: receive and log the received header frames
Daniel Stenberg [Wed, 29 Jan 2014 22:20:46 +0000 (23:20 +0100)]
http2_recv: log nghttp2 return codes for debugging purposes
Daniel Stenberg [Wed, 29 Jan 2014 21:53:08 +0000 (22:53 +0100)]
HTTP2: reject nghttp2 versions before 0.3.0
Gisle Vanem [Wed, 29 Jan 2014 21:52:22 +0000 (22:52 +0100)]
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).
Gisle Vanem [Wed, 29 Jan 2014 21:50:25 +0000 (22:50 +0100)]
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.
Daniel Stenberg [Wed, 29 Jan 2014 21:42:34 +0000 (22:42 +0100)]
NTLM: error: conversion to 'int' from 'long int' may alter its value
Fixed two compiler nits
Steve Holme [Wed, 29 Jan 2014 20:50:33 +0000 (20:50 +0000)]
ntlm: Coding style policing dating back to 2011
Steve Holme [Sun, 26 Jan 2014 14:20:55 +0000 (14:20 +0000)]
ntlm: Use a timestamp of 01/01/1970 for the test suite
Steve Holme [Sun, 26 Jan 2014 14:04:46 +0000 (14:04 +0000)]
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.
Steve Holme [Sat, 25 Jan 2014 16:35:19 +0000 (16:35 +0000)]
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.
Prash Dush [Fri, 24 Jan 2014 13:01:29 +0000 (13:01 +0000)]
ntlm: Added support for NTLMv2
Kamil Dudka [Wed, 29 Jan 2014 12:03:46 +0000 (13:03 +0100)]
nss: do not use the NSS_ENABLE_ECC define
It is not provided by NSS public headers.
Bug: https://bugzilla.redhat.com/1058776
Kamil Dudka [Wed, 29 Jan 2014 11:55:36 +0000 (12:55 +0100)]
nss: do not fail if NSS does not implement a cipher
... that the user does not ask for
Daniel Stenberg [Wed, 18 Sep 2013 20:43:13 +0000 (22:43 +0200)]
http2: switch recv/send functions to http2 ones after 101
Daniel Stenberg [Thu, 12 Sep 2013 11:51:04 +0000 (13:51 +0200)]
http2: handle 101 responses and switch to HTTP2
Daniel Stenberg [Wed, 29 Jan 2014 09:22:40 +0000 (10:22 +0100)]
examples: gitignore more binaries
Daniel Stenberg [Wed, 29 Jan 2014 07:35:58 +0000 (08:35 +0100)]
bump: start working on 7.35.1
Daniel Stenberg [Wed, 29 Jan 2014 07:34:51 +0000 (08:34 +0100)]
THANKS: 19 new contributors from the 7.35.0 release notes
Daniel Stenberg [Tue, 28 Jan 2014 22:59:08 +0000 (23:59 +0100)]
RELEASE-NOTES: done for 7.35.0
Dan Fandrich [Tue, 28 Jan 2014 23:31:00 +0000 (00:31 +0100)]
tests: make a few lib15?? tests pass the OOM torture tests
Dan Fandrich [Tue, 28 Jan 2014 23:14:35 +0000 (00:14 +0100)]
lib1900: make the test pass the OOM torture tests
Dan Fandrich [Tue, 28 Jan 2014 22:55:04 +0000 (23:55 +0100)]
oauth2: Fixed a memory leak in an OOM condition
Dan Fandrich [Tue, 28 Jan 2014 22:47:20 +0000 (23:47 +0100)]
unit1304: make the test pass the OOM torture tests
Dan Fandrich [Tue, 28 Jan 2014 22:23:24 +0000 (23:23 +0100)]
unit1396: make the test pass the OOM torture tests
Romulo A. Ceccon [Tue, 28 Jan 2014 13:59:14 +0000 (11:59 -0200)]
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
Dan Fandrich [Tue, 28 Jan 2014 21:23:31 +0000 (22:23 +0100)]
RELEASE-NOTES: changed encoding to UTF-8 like previous releases
Daniel Stenberg [Tue, 28 Jan 2014 19:39:25 +0000 (20:39 +0100)]
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
Steve Holme [Tue, 28 Jan 2014 13:52:06 +0000 (13:52 +0000)]
RELEASE-NOTES: Synced with
5a47062cada9
Maks Naumov [Mon, 27 Jan 2014 14:52:42 +0000 (16:52 +0200)]
getpass: fix password parsing from console
Incorrect password if use backspace while entered the password.
Regression from
f7bfdbabf2d5398f4c266eabb0992a04af661f22
The '?:' operator has lower priority than the '-' operator
Dan Fandrich [Sun, 26 Jan 2014 09:52:27 +0000 (10:52 +0100)]
docs/INSTALL: Updated example minimal binary sizes
Marc Hoersken [Sun, 26 Jan 2014 09:00:14 +0000 (10:00 +0100)]
testsuite: visualize line-endings in output comparison diffs
Marc Hoersken [Sun, 26 Jan 2014 08:44:16 +0000 (09:44 +0100)]
sockfilt.c: follow up cleanup commit on
49b63cf3
Marc Hoersken [Sun, 26 Jan 2014 08:19:32 +0000 (09:19 +0100)]
http-pipe tests: use text as output data mode to support Windows
Marc Hoersken [Sat, 25 Jan 2014 23:58:30 +0000 (00:58 +0100)]
sockfilt.c: fixed and simplified Windows select function
Since the previous complex select function with initial support for
non-socket file descriptors, did not actually work correctly for
Console handles, this change simplifies the whole procedure by using
an internal waiting thread for the stdin console handle.
The previous implementation made it continuously trigger for the stdin
handle if it was being redirected to a parent process instead of
an actual Console input window.
This approach supports actual Console input handles as well as
anonymous Pipe handles which are used during input redirection.
It depends on the fact that ReadFile supports trying to read zero bytes
which makes it wait for the handle to become ready for reading.
Marc Hoersken [Sat, 25 Jan 2014 19:52:42 +0000 (20:52 +0100)]
http_pipe.py: replaced epoll with select to support Windows
Removed Unix-specific functionality in order to support Windows:
- select.epoll replaced with select.select
- SocketServer.ForkingMixIn replaced with SocketServer.ForkingMixIn
- socket.MSG_DONTWAIT replaced with socket.setblocking(False)
Even though epoll has a better performance and improved socket handling
than select, this change should not affect the actual test case.
Dan Fandrich [Sat, 25 Jan 2014 15:55:05 +0000 (16:55 +0100)]
tests: Added missing HTTP proxy keywords
Dan Fandrich [Sat, 25 Jan 2014 11:47:04 +0000 (12:47 +0100)]
tests: added missing <features> http to a number of tests
Dan Fandrich [Fri, 24 Jan 2014 22:29:35 +0000 (23:29 +0100)]
tests: Added a keyword for tests depending on internal info logs
Dan Fandrich [Fri, 24 Jan 2014 22:14:19 +0000 (23:14 +0100)]
runtests: Don't log command every torture iteration in verbose
Dan Fandrich [Fri, 24 Jan 2014 22:14:00 +0000 (23:14 +0100)]
tests: Added missing http feature to tests 509 & 1513
Dan Fandrich [Fri, 24 Jan 2014 20:52:48 +0000 (21:52 +0100)]
netrc: Fixed a memory and file descriptor leak on OOM
Dan Fandrich [Fri, 24 Jan 2014 07:16:17 +0000 (08:16 +0100)]
test1514: Used the macros for host and port number
Dan Fandrich [Thu, 23 Jan 2014 23:22:08 +0000 (00:22 +0100)]
multi: Fixed a memory leak on OOM condition
Daniel Stenberg [Thu, 23 Jan 2014 22:22:07 +0000 (23:22 +0100)]
curl_easy_setopt.3: remove what auth types that work for CURLOPT_PROXYAUTH
The list was out of date and the paragraph already refers to the
CURLOPT_HTTPAUTH explanation. All the auth bits are explained properly
there.
It also removes the ambiguity for what the "added" phrase refers to.
This change based on pull request #85 on github
URL: https://github.com/bagder/curl/pull/85
Reported-by: gnawhleinad
Dan Fandrich [Wed, 22 Jan 2014 00:47:53 +0000 (01:47 +0100)]
test1514: Got rid of a non-const initializer C99ism
Steve Holme [Tue, 21 Jan 2014 21:35:36 +0000 (21:35 +0000)]
RELEASE-NOTES: added another missing bug ref
Daniel Stenberg [Tue, 21 Jan 2014 14:44:04 +0000 (15:44 +0100)]
RELEASE-NOTES: added missing bug ref
Fabian Frank [Mon, 20 Jan 2014 23:53:44 +0000 (15:53 -0800)]
axtls: fix compiler warning on conversion ssize_t => int
Fabian Frank [Mon, 20 Jan 2014 21:14:04 +0000 (13:14 -0800)]
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
Daniel Stenberg [Mon, 20 Jan 2014 16:08:46 +0000 (17:08 +0100)]
RELEASE-NOTES: synced with
12ecd56da77
Daniel Stenberg [Mon, 20 Jan 2014 16:08:08 +0000 (17:08 +0100)]
contributors.sh: output list RELEASE-NOTES formatted
Cédric Deltheil [Sun, 19 Jan 2014 22:25:32 +0000 (23:25 +0100)]
test1514: added - no more negative Content-Length (HTTP POST)
This covers changes from commit
afd288b2.
Cédric Deltheil [Sun, 19 Jan 2014 22:24:03 +0000 (23:24 +0100)]
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.
Fabian Frank [Sun, 19 Jan 2014 08:47:31 +0000 (00:47 -0800)]
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
Daniel Stenberg [Sun, 19 Jan 2014 23:02:33 +0000 (00:02 +0100)]
curl_getdate.3: edited, removed references to pre 7.12.2 functionality
Daniel Stenberg [Sun, 19 Jan 2014 22:26:01 +0000 (23:26 +0100)]
gtls: fix compiler warnings on conversions size_t => unsigned int
Steve Holme [Sun, 19 Jan 2014 16:14:09 +0000 (16:14 +0000)]
tool: Fixed incorrect return code if password prompting runs out of memory
Due to the changes in commit
3c929ff9f6ea and lack of subsequent
updates, curl could return a CURLE_FTP_ACCEPT_FAILED error if
checkpasswd() ran out of memory in versions 7.33.0 and 7.34.0.
Updated the function declaration and return code to return
CURLE_OUT_OF_MEMORY and CURLE_OK where appropriate.
Steve Holme [Sun, 19 Jan 2014 13:57:03 +0000 (13:57 +0000)]
RELEASE-NOTES: Synced with
2cac75c4e400
Steve Holme [Sun, 19 Jan 2014 13:04:59 +0000 (13:04 +0000)]
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.
Steve Holme [Sun, 19 Jan 2014 12:20:01 +0000 (12:20 +0000)]
tool: Fixed incorrect return code if command line parser runs out of memory
In the rare instance where getparameter() may return PARAM_NO_MEM whilst
parsing a URL, cURL would return this error code, which is equivalent to
CURLE_FTP_ACCEPT_FAILED in cURL error codes terms.
Instead, return CURLE_FAILED_INIT and output the failure reason as per
the other usage of getparameter().
Tobias Markus [Sat, 18 Jan 2014 21:45:49 +0000 (22:45 +0100)]
Subject: progress bar: increase update frequency to 10Hz
Increasing the update frequency of the progress bar to 10Hz greatly
improves the visual appearance of the progress bar (at least in my
impression).
Signed-off-by: Tobias Markus <tobias@markus-regensburg.de>
Tobias Markus [Mon, 6 Jan 2014 19:32:33 +0000 (20:32 +0100)]
progress bar: always update when at 100%
Currently, the progress bar is updated at 5Hz. Because it is often not
updated to 100% when the download is finished and curl exits, the bar
is often "stuck" at 90-something, thus irritating the user.
This patch fixes this by always updating the progress bar (instead of
waiting for 200ms to have elapsed) while the download is finished but
curl has not yet exited. This should not greatly affect performance
because that moment is rather short.
Signed-off-by: Tobias Markus <tobias@markus-regensburg.de>
Steve Holme [Fri, 17 Jan 2014 22:36:21 +0000 (22:36 +0000)]
win32: Added additional preprocessor check for Version Helper API
A follow up patch to commit
d2671340a613 as _WIN32_WINNT_WIN2K and
_WIN32_WINNT_WIN2K may not be defined on all systems.
Steve Holme [Fri, 17 Jan 2014 22:33:44 +0000 (22:33 +0000)]
win32: Corrected the preprocessor check for Version Helper API
Following some auto build failures after commit
c7a76bb056f31e changed
the preprocessor check to use _WIN32_WINNT.
Daniel Stenberg [Thu, 16 Jan 2014 07:51:30 +0000 (08:51 +0100)]
cookie: max-age fixes
1 - allow >31 bit max-age values
2 - don't overflow on extremely large max-age values when we add the
value to the current time
3 - make sure max-age takes precedence over expires as dictated by
RFC6265
Bug: http://curl.haxx.se/mail/lib-2014-01/0130.html
Reported-by: Chen Prog
Daniel Stenberg [Thu, 16 Jan 2014 23:55:24 +0000 (00:55 +0100)]
test1417: verify chunked-encoding transfer without CR
As was introduced in
8f6b4be8af04
Daniel Stenberg [Thu, 16 Jan 2014 23:34:36 +0000 (00:34 +0100)]
chunked parsing: relax the CR strictness
Allow for chunked-encoding data to get parsed with only LF line endings.
This is allowed by browsers.
Daniel Stenberg [Thu, 16 Jan 2014 22:12:19 +0000 (23:12 +0100)]
test1416: verify the chunked size overflow detection
Daniel Stenberg [Thu, 16 Jan 2014 22:07:54 +0000 (23:07 +0100)]
chunked-parser: abort on overflows, allow 64 bit chunks
Dan Fandrich [Thu, 16 Jan 2014 22:41:31 +0000 (23:41 +0100)]
Fixed some XML syntax issues in the test data
Also, make the ftp server return a canned response that doesn't
cause XML verification problems. Although the test file format
isn't technically XML, it's still handy to be able to use XML
tools to verify and manipulate them.
Michael Osipov [Thu, 16 Jan 2014 16:19:00 +0000 (17:19 +0100)]
configure: fix gssapi linking on HP-UX
The issue is with HP-UX that is comes with HP flavor of MIT
Kerberos. This means that there is no krb5-config and the lib is called
libgss.so
Bug: http://curl.haxx.se/bug/view.cgi?id=1321
Daniel Stenberg [Thu, 16 Jan 2014 07:37:29 +0000 (08:37 +0100)]
Curl_cookie_add: remove 'now' from curl_getdate() call
The now argument is unused by curl_getdate()
Steve Holme [Wed, 15 Jan 2014 23:29:16 +0000 (23:29 +0000)]
pop3-dele.c: Added missing CURLOPT_NOBODY following feedback
Daniel Stenberg [Wed, 15 Jan 2014 23:27:16 +0000 (00:27 +0100)]
connect.c:942:84: warning: Longer than 79 columns
Steve Holme [Wed, 15 Jan 2014 23:12:09 +0000 (23:12 +0000)]
connect.c: Corrected version compare in commit
c7a76bb056f31e
Steve Holme [Wed, 15 Jan 2014 21:44:34 +0000 (21:44 +0000)]
RELEASE-NOTES: Synced with
c7a76bb056f31e
Steve Holme [Wed, 15 Jan 2014 20:11:02 +0000 (20:11 +0000)]
win32: Fixed use of deprecated function 'GetVersionInfoEx' for VC12
Starting with Visual Studio 2013 (VC12) and Windows 8.1 the
GetVersionInfoEx() function has been marked as deprecated and it's
return value atered. Updated connect.c and curl_sspi.c to use
VerifyVersionInfo() where possible, which has been available since
Windows 2000.
Daniel Stenberg [Tue, 14 Jan 2014 10:49:09 +0000 (11:49 +0100)]
curl_easy_setopt.3: mention how to unset CURLOPT_INFILESIZE*
Daniel Stenberg [Tue, 14 Jan 2014 10:43:36 +0000 (11:43 +0100)]
TODO: Allow SSL (HTTPS) to proxy
Daniel Stenberg [Tue, 14 Jan 2014 10:41:51 +0000 (11:41 +0100)]
TODO: remove FTP proxy and more SSL libraries
Daniel Stenberg [Tue, 14 Jan 2014 06:42:52 +0000 (07:42 +0100)]
TODO: Detect when called from witin callbacks
Marc Hoersken [Mon, 13 Jan 2014 20:43:41 +0000 (21:43 +0100)]
secureserver.pl: follow up fix for 87ade5f
Since /dev/stdout is not always emulated on Windows,
just skip the output option on Windows.
MinGW/msys support /dev/stdout only from a new login shell.
Colin Hogben [Mon, 13 Jan 2014 15:00:38 +0000 (15:00 +0000)]
error message: Sensible message on timeout when transfer size unknown
A transfer timeout could result in an error message such as "Operation
timed out after 3000 milliseconds with 19 bytes of -1 received". This
patch removes the non-sensical "of -1" when the size of the transfer
is unknown, mirroring the logic in lib/transfer.c
Marc Hoersken [Sun, 12 Jan 2014 23:09:46 +0000 (00:09 +0100)]
secureserver.pl: added full support for tstunnel on Windows
tstunnel on Windows does not support the pid option and is unable
to write to an output log that is already being used as a redirection
target for stdout. Therefore it does now output all log data to stdout
by default and secureserver.pl creates a fake pidfile on Windows.
Steve Holme [Sun, 12 Jan 2014 18:42:32 +0000 (18:42 +0000)]
examples: Fixed compilation errors
error: 'MULTI_PERFORM_HANG_TIMEOUT' undeclared
Steve Holme [Sun, 12 Jan 2014 18:26:46 +0000 (18:26 +0000)]
imap-multi.c: Corrected typo