]> granicus.if.org Git - curl/log
curl
9 years agofree: instead of Curl_safefree()
Daniel Stenberg [Mon, 16 Mar 2015 14:01:15 +0000 (15:01 +0100)]
free: instead of Curl_safefree()

Since we just started make use of free(NULL) in order to simplify code,
this change takes it a step further and:

- converts lots of Curl_safefree() calls to good old free()
- makes Curl_safefree() not check the pointer before free()

The (new) rule of thumb is: if you really want a function call that
frees a pointer and then assigns it to NULL, then use Curl_safefree().
But we will prefer just using free() from now on.

9 years agoBug #149: Deletion of unnecessary checks before a few calls of cURL functions
Markus Elfring [Wed, 11 Mar 2015 17:15:33 +0000 (18:15 +0100)]
Bug #149: Deletion of unnecessary checks before a few calls of cURL functions

The following functions return immediately if a null pointer was passed.
* Curl_cookie_cleanup
* curl_formfree

It is therefore not needed that a function caller repeats a corresponding check.

This issue was fixed by using the software Coccinelle 1.0.0-rc24.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
9 years agoBug #149: Deletion of unnecessary checks before calls of the function "free"
Markus Elfring [Wed, 11 Mar 2015 16:41:01 +0000 (17:41 +0100)]
Bug #149: Deletion of unnecessary checks before calls of the function "free"

The function "free" is documented in the way that no action shall occur for
a passed null pointer. It is therefore not needed that a function caller
repeats a corresponding check.
http://stackoverflow.com/questions/18775608/free-a-null-pointer-anyway-or-check-first

This issue was fixed by using the software Coccinelle 1.0.0-rc24.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
9 years agoconnect: Fix happy eyeballs logic for IPv4-only builds
Jay Satiro [Sun, 15 Mar 2015 19:30:17 +0000 (15:30 -0400)]
connect: Fix happy eyeballs logic for IPv4-only builds

Bug: https://github.com/bagder/curl/pull/168

(trynextip)
- Don't try the "other" protocol family unless IPv6 is available. In an
IPv4-only build the other family can only be IPv6 which is unavailable.

This change essentially stops IPv4-only builds from attempting the
"happy eyeballs" secondary parallel connection that is supposed to be
used by the "other" address family.

Prior to this change in IPv4-only builds that secondary parallel
connection attempt could be erroneously used by the same family (IPv4)
which caused a bug where every address after the first for a host could
be tried twice, often in parallel. This change fixes that bug. An
example of the bug is shown below.

Assume MTEST resolves to 3 addresses 127.0.0.2, 127.0.0.3 and 127.0.0.4:

* STATE: INIT => CONNECT handle 0x64f4b0; line 1046 (connection #-5000)
* Rebuilt URL to: http://MTEST/
* Added connection 0. The cache now contains 1 members
* STATE: CONNECT => WAITRESOLVE handle 0x64f4b0; line 1083
(connection #0)
*   Trying 127.0.0.2...
* STATE: WAITRESOLVE => WAITCONNECT handle 0x64f4b0; line 1163
(connection #0)
*   Trying 127.0.0.3...
* connect to 127.0.0.2 port 80 failed: Connection refused
*   Trying 127.0.0.3...
* connect to 127.0.0.3 port 80 failed: Connection refused
*   Trying 127.0.0.4...
* connect to 127.0.0.3 port 80 failed: Connection refused
*   Trying 127.0.0.4...
* connect to 127.0.0.4 port 80 failed: Connection refused
* connect to 127.0.0.4 port 80 failed: Connection refused
* Failed to connect to MTEST port 80: Connection refused
* Closing connection 0
* The cache now contains 0 members
* Expire cleared
curl: (7) Failed to connect to MTEST port 80: Connection refused

The bug was born in commit bagder/curl@2d435c7.

9 years agomksymbolsmanpage.pl: use std header and generate better nroff header
Daniel Stenberg [Sun, 15 Mar 2015 22:23:20 +0000 (23:23 +0100)]
mksymbolsmanpage.pl: use std header and generate better nroff header

9 years agoclosesocket: call multi socket cb on close even with custom close
Frank Meier [Sun, 15 Mar 2015 12:24:26 +0000 (13:24 +0100)]
closesocket: call multi socket cb on close even with custom close

In function Curl_closesocket() in connect.c the call to
Curl_multi_closed() was wrongly omitted if a socket close function
(CURLOPT_CLOSESOCKETFUNCTION) is registered.

That would lead to not removing the socket from the internal hash table
and not calling the multi socket callback appropriately.

Bug: http://curl.haxx.se/bug/view.cgi?id=1493

9 years agohostip: Fix signal race in Curl_resolv_timeout.
Tobias Stoeckmann [Sat, 14 Mar 2015 13:32:42 +0000 (14:32 +0100)]
hostip: Fix signal race in Curl_resolv_timeout.

A signal handler for SIGALRM is installed in Curl_resolv_timeout. It is
configured to interrupt system calls and uses siglongjmp to return into
the function if alarm() goes off.

The signal handler is installed before curl_jmpenv is initialized.
This means that an already installed alarm timer could trigger the
newly installed signal handler, leading to undefined behavior when it
accesses the uninitialized curl_jmpenv.

Even if there is no previously installed alarm available, the code in
Curl_resolv_timeout itself installs an alarm before the environment is
fully set up. If the process is sent into suspend right after that, the
signal handler could be called too early as in previous scenario.

To fix this, the signal handler should only be installed and the alarm
timer only be set after sigsetjmp has been called.

9 years agohttp2: detect prematures close without data transfered
Daniel Stenberg [Sat, 14 Mar 2015 17:17:59 +0000 (18:17 +0100)]
http2: detect prematures close without data transfered

... by using the regular Curl_http_done() method which checks for
that. This makes test 1801 fail consistently with error 56 (which seems
fine) to that test is also updated here.

Reported-by: Ben Darnell
Bug: https://github.com/bagder/curl/issues/166

9 years agotest320: Expect the Host header to be the first header
Dan Fandrich [Fri, 13 Mar 2015 21:37:23 +0000 (22:37 +0100)]
test320: Expect the Host header to be the first header

Required for the test to work after a5d994941c2b.

9 years agoRELEASE-NOTES: synced with 186e46d88dd
Daniel Stenberg [Thu, 12 Mar 2015 22:40:38 +0000 (23:40 +0100)]
RELEASE-NOTES: synced with 186e46d88dd

9 years agoopenssl: use colons properly in the ciphers list
Daniel Stenberg [Thu, 12 Mar 2015 22:29:46 +0000 (23:29 +0100)]
openssl: use colons properly in the ciphers list

While the previous string worked, this is the documented format.

Reported-by: Richard Moore
9 years agoopenssl: sort the ciphers on strength
Daniel Stenberg [Thu, 12 Mar 2015 22:16:28 +0000 (23:16 +0100)]
openssl: sort the ciphers on strength

This makes curl pick better (stronger) ciphers by default. The strongest
available ciphers are fine according to the HTTP/2 spec so an OpenSSL
built curl is no longer rejected by string HTTP/2 servers.

Bug: http://curl.haxx.se/bug/view.cgi?id=1487

9 years agotest203[0-3]: Expect the Host header to be the first header
Fabian Keil [Thu, 12 Mar 2015 15:06:11 +0000 (16:06 +0100)]
test203[0-3]: Expect the Host header to be the first header

Required for the tests to work after a5d994941c2b.

9 years agoopenssl: show the cipher selection to use
Daniel Stenberg [Thu, 12 Mar 2015 14:53:45 +0000 (15:53 +0100)]
openssl: show the cipher selection to use

9 years agohttp: always send Host: header as first header
Daniel Stenberg [Wed, 11 Mar 2015 23:50:46 +0000 (00:50 +0100)]
http: always send Host: header as first header

...after the method line:

 "Since the Host field-value is critical information for handling a
 request, a user agent SHOULD generate Host as the first header field
 following the request-line." / RFC 7230 section 5.4

Additionally, this will also make libcurl ignore multiple specified
custom Host: headers and only use the first one. Test 1121 has been
updated accordingly

Bug: http://curl.haxx.se/bug/view.cgi?id=1491
Reported-by: Rainer Canavan
9 years agomk-ca-bundle bugfix: Don't report SHA1 numbers with "-q".
Alexander Pepper [Wed, 11 Mar 2015 13:34:59 +0000 (14:34 +0100)]
mk-ca-bundle bugfix: Don't report SHA1 numbers with "-q".

Also unified printing to STDERR by creating the helper method "report".

9 years agoproxy: re-use proxy connections (regression)
Daniel Stenberg [Wed, 11 Mar 2015 10:54:22 +0000 (11:54 +0100)]
proxy: re-use proxy connections (regression)

When checking for a connection to re-use, a proxy-using request must
check for and use a proxy connection and not one based on the host
name!

Added test 1421 to verify

Bug: http://curl.haxx.se/bug/view.cgi?id=1492

9 years agomemanalyze.pl: handle free(NULL)
Jay Satiro [Mon, 9 Mar 2015 23:01:08 +0000 (19:01 -0400)]
memanalyze.pl: handle free(NULL)

9 years ago.travis.yml: Change CI make test to make test-full
Jay Satiro [Tue, 10 Mar 2015 03:51:16 +0000 (23:51 -0400)]
.travis.yml: Change CI make test to make test-full

- Change the continuous integration script to use 'make test-full'
instead of just 'make test' so that the diagnostic log output is
printed to stdout when a test fails.

- Change the continuous integration script to use
'./configure --enable-debug' instead of just './configure' so that the
memory analyzer will work during testing.

Prior to this change Travis used its default C test script:
./configure && make && make test

9 years agogtls: correctly align certificate status verification messages
Alessandro Ghedini [Mon, 9 Mar 2015 22:44:22 +0000 (23:44 +0100)]
gtls: correctly align certificate status verification messages

9 years agogtls: don't print double newline after certificate dates
Alessandro Ghedini [Mon, 9 Mar 2015 23:31:05 +0000 (00:31 +0100)]
gtls: don't print double newline after certificate dates

9 years agogtls: print negotiated TLS version and full cipher suite name
Alessandro Ghedini [Mon, 9 Mar 2015 22:52:16 +0000 (23:52 +0100)]
gtls: print negotiated TLS version and full cipher suite name

Instead of priting cipher and MAC algorithms names separately, print the
whole cipher suite string which also includes the key exchange algorithm,
along with the negotiated TLS version.

9 years agogtls: fix compiler warnings
Daniel Stenberg [Tue, 10 Mar 2015 14:16:59 +0000 (15:16 +0100)]
gtls: fix compiler warnings

9 years agogtls: add support for CURLOPT_CAPATH
Alessandro Ghedini [Sun, 8 Mar 2015 19:11:06 +0000 (20:11 +0100)]
gtls: add support for CURLOPT_CAPATH

9 years agoMacOSX-Framework: use @rpath instead of @executable_path
stopiccot [Mon, 9 Mar 2015 19:46:22 +0000 (22:46 +0300)]
MacOSX-Framework: use @rpath instead of @executable_path

Bug: https://github.com/bagder/curl/pull/157

9 years agoRELEASE-NOTES: synced with c19349951
Daniel Stenberg [Mon, 9 Mar 2015 10:12:54 +0000 (11:12 +0100)]
RELEASE-NOTES: synced with c19349951

9 years agomulti: fix *getsock() with CONNECT
Daniel Stenberg [Wed, 11 Feb 2015 22:18:32 +0000 (23:18 +0100)]
multi: fix *getsock() with CONNECT

The code used some happy eyeballs logic even _after_ CONNECT has been
sent to a proxy, while the happy eyeball phase is already (should be)
over by then.

This is solved by splitting the multi state into two separate states
introducing the new SENDPROTOCONNECT state.

Bug: http://curl.haxx.se/mail/lib-2015-01/0170.html
Reported-by: Peter Laser
9 years agoconncontrol: only log changes to the connection bit
Daniel Stenberg [Sat, 7 Mar 2015 18:14:35 +0000 (19:14 +0100)]
conncontrol: only log changes to the connection bit

9 years agohttp2: use CURL_HTTP_VERSION_* symbols instead of NPN_*
Daniel Stenberg [Sat, 7 Mar 2015 10:10:30 +0000 (11:10 +0100)]
http2: use CURL_HTTP_VERSION_* symbols instead of NPN_*

Since they already exist and will make comparing easier

9 years agohttp2: make the info-message about receiving HTTP2 headers debug-only
Daniel Stenberg [Sat, 7 Mar 2015 09:55:37 +0000 (10:55 +0100)]
http2: make the info-message about receiving HTTP2 headers debug-only

9 years agourldata: remove unused asked_for_h2 field
Alessandro Ghedini [Wed, 25 Feb 2015 10:33:12 +0000 (11:33 +0100)]
urldata: remove unused asked_for_h2 field

9 years agopolarssl: make it possible to enable ALPN/NPN without HTTP2
Alessandro Ghedini [Thu, 19 Feb 2015 18:41:48 +0000 (19:41 +0100)]
polarssl: make it possible to enable ALPN/NPN without HTTP2

9 years agonss: make it possible to enable ALPN/NPN without HTTP2
Alessandro Ghedini [Mon, 16 Feb 2015 15:41:57 +0000 (16:41 +0100)]
nss: make it possible to enable ALPN/NPN without HTTP2

9 years agogtls: make it possible to enable ALPN/NPN without HTTP2
Alessandro Ghedini [Thu, 19 Feb 2015 15:22:07 +0000 (16:22 +0100)]
gtls: make it possible to enable ALPN/NPN without HTTP2

9 years agoopenssl: make it possible to enable ALPN/NPN without HTTP2
Alessandro Ghedini [Mon, 16 Feb 2015 15:47:56 +0000 (16:47 +0100)]
openssl: make it possible to enable ALPN/NPN without HTTP2

9 years agometalink: add some error checks
Daniel Stenberg [Fri, 6 Mar 2015 22:14:25 +0000 (23:14 +0100)]
metalink: add some error checks

malloc() and strdup() calls without checking return codes.

Reported-by: Markus Elfring
Bug: https://github.com/bagder/curl/issues/150

9 years agocurl_easy_setopt.3: added CURLOPT_SSL_VERIFYSTATUS
Daniel Stenberg [Fri, 6 Mar 2015 16:07:28 +0000 (17:07 +0100)]
curl_easy_setopt.3: added CURLOPT_SSL_VERIFYSTATUS

Reported-by: Jonathan Cardoso
9 years agourldata: fix gnutls build
Daniel Stenberg [Fri, 6 Mar 2015 09:13:40 +0000 (10:13 +0100)]
urldata: fix gnutls build

9 years agoopenssl: Removed use of USE_SSLEAY from the Visual Studio project files
Steve Holme [Thu, 5 Mar 2015 20:47:14 +0000 (20:47 +0000)]
openssl: Removed use of USE_SSLEAY from the Visual Studio project files

In addition to commit 709cf76f6b, removed the USE_SSLEAY preprocessor
variable from the Visual Studio project files as it isn't required
anymore.

9 years agomulti: fix memory-leak on timeout (regression)
Daniel Stenberg [Thu, 5 Mar 2015 14:19:07 +0000 (15:19 +0100)]
multi: fix memory-leak on timeout (regression)

Since 1342a96ecfe0d44, a timeout detected in the multi state machine didn't
necesarily clear everything up, like formpost data.

Bug: https://github.com/bagder/curl/issues/147
Reported-by: Michel Promonet
Patched-by: Michel Promonet
9 years agoconfigure: follow-up fix from 709cf76f6
Daniel Stenberg [Thu, 5 Mar 2015 14:38:47 +0000 (15:38 +0100)]
configure: follow-up fix from 709cf76f6

OpenSSL handling was a little broken.

9 years agoopenssl: remove all uses of USE_SSLEAY
Daniel Stenberg [Thu, 5 Mar 2015 09:57:52 +0000 (10:57 +0100)]
openssl: remove all uses of USE_SSLEAY

SSLeay was the name of the library that was subsequently turned into
OpenSSL many moons ago (1999). curl does not work with the old SSLeay
library since years. This is now reflected by only using USE_OPENSSL in
code that depends on OpenSSL.

9 years agocmake: handle build definitions CURLDEBUG/DEBUGBUILD
Sergei Nikulov [Mon, 2 Mar 2015 23:15:38 +0000 (02:15 +0300)]
cmake: handle build definitions CURLDEBUG/DEBUGBUILD

Acked-by: Brad King
9 years agoFAQ: 4.21 Why is there a HTTP/1.1 in my HTTP/2 request?
Daniel Stenberg [Wed, 4 Mar 2015 17:24:46 +0000 (18:24 +0100)]
FAQ: 4.21 Why is there a HTTP/1.1 in my HTTP/2 request?

9 years agosymbols.pl: handle '-' in the deprecated field
Daniel Stenberg [Wed, 4 Mar 2015 07:36:38 +0000 (08:36 +0100)]
symbols.pl: handle '-' in the deprecated field

... which otherwise made the script skip the _LAST define for some
symbols.

Reported-by: Jeroen Ooms
Bug: http://curl.haxx.se/mail/lib-2015-03/0052.html

9 years agocurl.1: fix "The the" typo
Daniel Stenberg [Wed, 4 Mar 2015 06:29:06 +0000 (07:29 +0100)]
curl.1: fix "The the" typo

Reported-by: Jon Seymour
9 years agovtls: use curl_printf.h all over
Daniel Stenberg [Tue, 3 Mar 2015 22:17:43 +0000 (23:17 +0100)]
vtls: use curl_printf.h all over

No need to use _MPRINTF_REPLACE internally.

9 years agotool: use ENABLE_CURLX_PRINTF instead of _MPRINTF_REPLACE
Daniel Stenberg [Tue, 3 Mar 2015 22:08:02 +0000 (23:08 +0100)]
tool: use ENABLE_CURLX_PRINTF instead of _MPRINTF_REPLACE

9 years agotool_writeenv: remove _MPRINTF_REPLACE define, it wasn't used
Daniel Stenberg [Tue, 3 Mar 2015 22:00:54 +0000 (23:00 +0100)]
tool_writeenv: remove _MPRINTF_REPLACE define, it wasn't used

9 years agolibtest: fixed linker errors on msvc
Sergei Nikulov [Mon, 2 Mar 2015 12:58:27 +0000 (15:58 +0300)]
libtest: fixed linker errors on msvc

Bug: https://github.com/bagder/curl/pull/144

9 years agomprintf.h: remove #ifdef CURLDEBUG
Daniel Stenberg [Tue, 3 Mar 2015 11:36:18 +0000 (12:36 +0100)]
mprintf.h: remove #ifdef CURLDEBUG

... and as a consequence, introduce curl_printf.h with that re-define
magic instead and make all libcurl code use that instead.

9 years agotool_getpass: remove unused curl/mprintf.h include
Daniel Stenberg [Tue, 3 Mar 2015 11:09:25 +0000 (12:09 +0100)]
tool_getpass: remove unused curl/mprintf.h include

9 years agoCONTRIBUTING.md: file for advice on github
Daniel Stenberg [Mon, 2 Mar 2015 23:38:41 +0000 (00:38 +0100)]
CONTRIBUTING.md: file for advice on github

9 years agoBINDINGS: add link to Harbour bindings
Viktor Szakáts [Mon, 2 Mar 2015 10:42:04 +0000 (11:42 +0100)]
BINDINGS: add link to Harbour bindings

And UTF8-fix a few names

9 years agoCURLOPT_HEADERFUNCTION.3: typo in error code name
Daniel Stenberg [Mon, 2 Mar 2015 16:25:39 +0000 (17:25 +0100)]
CURLOPT_HEADERFUNCTION.3: typo in error code name

Reported-by: Jonathan Cardoso
9 years agoBINDINGS: tclcurl moved
Daniel Stenberg [Mon, 2 Mar 2015 07:51:14 +0000 (08:51 +0100)]
BINDINGS: tclcurl moved

Reporte-by: Steve Havelka
9 years agoopts: Fix pipelining examples
Jay Satiro [Sat, 28 Feb 2015 05:06:45 +0000 (00:06 -0500)]
opts: Fix pipelining examples

9 years agocurl_multi_setopt.3: Link to CURLMOPT_MAXCONNECTS
Jay Satiro [Sat, 28 Feb 2015 04:58:01 +0000 (23:58 -0500)]
curl_multi_setopt.3: Link to CURLMOPT_MAXCONNECTS

9 years agoCONTRIBUTE: the new more github-friendly attitude!
Daniel Stenberg [Sun, 1 Mar 2015 22:39:14 +0000 (23:39 +0100)]
CONTRIBUTE: the new more github-friendly attitude!

9 years agoRELEASE-NOTES: Synced with 921d195187
Steve Holme [Sat, 28 Feb 2015 11:20:59 +0000 (11:20 +0000)]
RELEASE-NOTES: Synced with 921d195187

9 years agotool: wrap lines longer than 79 columns
Kamil Dudka [Sat, 28 Feb 2015 09:53:33 +0000 (10:53 +0100)]
tool: wrap lines longer than 79 columns

... to avoid a build failure when configured with --enable-debug

9 years agohttp2: Return error if stream was closed with other than NO_ERROR
Tatsuhiro Tsujikawa [Thu, 26 Feb 2015 14:28:30 +0000 (23:28 +0900)]
http2: Return error if stream was closed with other than NO_ERROR

Previously, we just ignored error code passed to
on_stream_close_callback and just return 0 (success) after stream
closure even if stream was reset with error.  This patch records error
code in on_stream_close_callback, and return -1 and use CURLE_HTTP2
error code on abnormal stream closure.

9 years agotool: Updated the warnf() function to use the GlobalConfig structure
Steve Holme [Fri, 27 Feb 2015 20:48:38 +0000 (20:48 +0000)]
tool: Updated the warnf() function to use the GlobalConfig structure

As the 'error' and 'mute' options are now part of the GlobalConfig,
rather than per Operation, updated the warnf() function to use this
structure rather than the OperationConfig.

9 years agobuild: Removed DataExecutionPrevention directive from VC9+ project files
Steve Holme [Thu, 26 Feb 2015 21:12:41 +0000 (21:12 +0000)]
build: Removed DataExecutionPrevention directive from VC9+ project files

Removed the DataExecutionPrevention directive from the project files for
Visual Studio 2008 and above. The XML value in the VC9 project files was
set to "0" (Default) whilst the VC10+ project files contained an empty
XML element.

9 years agobuild: Use default RandomizedBaseAddress directive in VC9+ project files
Steve Holme [Thu, 26 Feb 2015 20:59:20 +0000 (20:59 +0000)]
build: Use default RandomizedBaseAddress directive in VC9+ project files

Visual Studio 2008 introduced support for the address space layout
randomization (ASLR) feature of Windows Vista. However, upgrading the
VC8 project files to VC9 and above disabled this feature.

Removed the RandomizedBaseAddress directive to enabled the default
setting (/DYNAMICBASE). Note: This doesn't appear to have any negative
impact when compiled and ran on Windows XP.

9 years agobuild: Added support to Generate.bat for files in the upcoming vauth folder
Steve Holme [Thu, 26 Feb 2015 20:43:46 +0000 (20:43 +0000)]
build: Added support to Generate.bat for files in the upcoming vauth folder

9 years agohttp2: return recv error on unexpected EOF
Daniel Stenberg [Wed, 25 Feb 2015 12:50:31 +0000 (13:50 +0100)]
http2: return recv error on unexpected EOF

Pointed-out-by: Tatsuhiro Tsujikawa
Bug: http://curl.haxx.se/bug/view.cgi?id=1487

9 years agodist: add symbol-scan.pl to the tarball
Kamil Dudka [Wed, 25 Feb 2015 11:12:47 +0000 (12:12 +0100)]
dist: add symbol-scan.pl to the tarball

... in order to make test1135 succeed

9 years agohttp2: move lots of verbose output to be debug-only
Daniel Stenberg [Wed, 25 Feb 2015 10:45:46 +0000 (11:45 +0100)]
http2: move lots of verbose output to be debug-only

9 years agocurl-config.in: eliminate double quotes around CURL_CA_BUNDLE
Kamil Dudka [Tue, 24 Feb 2015 17:58:55 +0000 (18:58 +0100)]
curl-config.in: eliminate double quotes around CURL_CA_BUNDLE

Otherwise it expands to:

    echo ""/etc/pki/tls/certs/ca-bundle.crt""

Detected by ShellCheck:

    curl-config:74:16: warning: The double quotes around this do
    nothing.  Remove or escape them. [SC2140]

9 years agonss: do not skip Curl_nss_seed() if data is NULL
Kamil Dudka [Tue, 24 Feb 2015 14:18:45 +0000 (15:18 +0100)]
nss: do not skip Curl_nss_seed() if data is NULL

In that case, we only skip writing the error message for failed NSS
initialization (while still returning the correct error code).

9 years agonss: improve error handling in Curl_nss_random()
Kamil Dudka [Tue, 24 Feb 2015 14:10:15 +0000 (15:10 +0100)]
nss: improve error handling in Curl_nss_random()

The vtls layer now checks the return value, so it is no longer necessary
to abort if a random number cannot be provided by NSS.  This also fixes
the following Coverity report:

Error: FORWARD_NULL (CWE-476):
lib/vtls/nss.c:1918: var_compare_op: Comparing "data" to null implies that "data" might be null.
lib/vtls/nss.c:1923: var_deref_model: Passing null pointer "data" to "Curl_failf", which dereferences it.
lib/sendf.c:154:3: deref_parm: Directly dereferencing parameter "data".

9 years agoRELEASE-PROCEDURE: add some more future release dates
Daniel Stenberg [Wed, 25 Feb 2015 09:05:41 +0000 (10:05 +0100)]
RELEASE-PROCEDURE: add some more future release dates

... and remove some old ones

9 years agosws: timeout idle CONNECT connections
Daniel Stenberg [Mon, 23 Feb 2015 12:12:50 +0000 (13:12 +0100)]
sws: timeout idle CONNECT connections

9 years agobump: start working toward 7.42.0
Daniel Stenberg [Wed, 25 Feb 2015 08:08:13 +0000 (09:08 +0100)]
bump: start working toward 7.42.0

9 years agoTHANKS: added contributors from the 7.41.0 RELEASE-NOTES curl-7_41_0
Daniel Stenberg [Wed, 25 Feb 2015 07:34:06 +0000 (08:34 +0100)]
THANKS: added contributors from the 7.41.0 RELEASE-NOTES

9 years agoRELEASE-NOTES: sync with ffc2aeec6e (7.41.0 release time!)
Daniel Stenberg [Wed, 25 Feb 2015 07:30:27 +0000 (08:30 +0100)]
RELEASE-NOTES: sync with ffc2aeec6e (7.41.0 release time!)

9 years agoRevert "telnet.c: fix handling of 0 being returned from custom read function"
Marc Hoersken [Tue, 24 Feb 2015 23:16:10 +0000 (00:16 +0100)]
Revert "telnet.c: fix handling of 0 being returned from custom read function"

This reverts commit 03fa576833643c67579ae216c4e7350fa9b5f2fe.

9 years agotelnet.c: fix invalid use of custom read function if not being set
Marc Hoersken [Tue, 24 Feb 2015 23:01:14 +0000 (00:01 +0100)]
telnet.c: fix invalid use of custom read function if not being set

obj_count can be 1 if the custom read function is set or the stdin
handle is a reference to a pipe. Since the pipe should be handled
using the PeekNamedPipe-check below, the custom read function should
only be used if it is actually enabled.

9 years agotelnet.c: fix handling of 0 being returned from custom read function
Marc Hoersken [Tue, 24 Feb 2015 22:59:06 +0000 (23:59 +0100)]
telnet.c: fix handling of 0 being returned from custom read function

According to [1]: "Returning 0 will signal end-of-file to the library
and cause it to stop the current transfer."
This change makes the Windows telnet code handle this case accordingly.

 [1] http://curl.haxx.se/libcurl/c/CURLOPT_READFUNCTION.html

9 years agosws: stop logging about TPC_NODELAY nonsense
Daniel Stenberg [Mon, 23 Feb 2015 12:13:22 +0000 (13:13 +0100)]
sws: stop logging about TPC_NODELAY nonsense

9 years agolib530: make it less timing sensible
Daniel Stenberg [Mon, 23 Feb 2015 23:06:36 +0000 (00:06 +0100)]
lib530: make it less timing sensible

... by making sure the first request is completed before doing the
remainder.

9 years agoconnect: wait for IPv4 connection attempts
Kamil Dudka [Mon, 16 Feb 2015 16:16:57 +0000 (17:16 +0100)]
connect: wait for IPv4 connection attempts

... even if the last IPv6 connection attempt has failed.

Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1187531#c4

9 years agoconnect: avoid skipping an IPv4 address
Kamil Dudka [Mon, 16 Feb 2015 16:00:05 +0000 (17:00 +0100)]
connect: avoid skipping an IPv4 address

... in case the protocol versions are mixed in a DNS response
(IPv6 -> IPv4 -> IPv6).

Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1187531#c3

9 years agoRELEASE-NOTES: synced with 5e4395eab839d
Daniel Stenberg [Mon, 23 Feb 2015 07:05:41 +0000 (08:05 +0100)]
RELEASE-NOTES: synced with 5e4395eab839d

9 years agoROADMAP: curl_easy_setopt.3 has already been split up
Daniel Stenberg [Fri, 20 Feb 2015 22:31:59 +0000 (23:31 +0100)]
ROADMAP: curl_easy_setopt.3 has already been split up

Remove cmake as marked for removal. It is in much better state now.

9 years agoROADMAP: extend the HTTP/2 stuff, remove SPDY
Daniel Stenberg [Fri, 20 Feb 2015 22:29:19 +0000 (23:29 +0100)]
ROADMAP: extend the HTTP/2 stuff, remove SPDY

9 years agoconfigure: allow both --with-ca-bundle and --with-ca-path
Julian Ospald [Sat, 7 Feb 2015 21:06:40 +0000 (22:06 +0100)]
configure: allow both --with-ca-bundle and --with-ca-path

SSL_CTX_load_verify_locations by default (and if given non-Null
parameters) searches the CAfile first and falls back to CApath.  This
allows for CAfile to be a basis (e.g. installed by the package manager)
and CApath to be a user configured directory.

This wasn't reflected by the previous configure constraint which this
patch fixes.

Bug: https://github.com/bagder/curl/pull/139

9 years agocmake: install the dll file to the correct directory
Ben Boeckel [Wed, 18 Feb 2015 22:19:04 +0000 (17:19 -0500)]
cmake: install the dll file to the correct directory

9 years agonss: fix NPN/ALPN protocol negotiation
Alessandro Ghedini [Thu, 19 Feb 2015 18:58:28 +0000 (19:58 +0100)]
nss: fix NPN/ALPN protocol negotiation

Correctly check for memcmp() return value (it returns 0 if the strings match).

This is not really important, since curl is going to use http/1.1 anyway, but
it's still a bug I guess.

9 years agopolarssl: fix ALPN protocol negotiation
Alessandro Ghedini [Thu, 19 Feb 2015 18:55:59 +0000 (19:55 +0100)]
polarssl: fix ALPN protocol negotiation

Correctly check for strncmp() return value (it returns 0 if the strings
match).

9 years agoCMake: Fix generation of tool_hugehelp.c on windows
Sergei Nikulov [Tue, 23 Dec 2014 21:05:57 +0000 (00:05 +0300)]
CMake: Fix generation of tool_hugehelp.c on windows

Use "cmake -E echo" instead of "echo".

Reviewed-by: Brad King <brad.king@kitware.com>
9 years agoCMake: fix winsock2 detection on windows
Sergei Nikulov [Tue, 23 Dec 2014 21:05:57 +0000 (00:05 +0300)]
CMake: fix winsock2 detection on windows

Set CMAKE_REQUIRED_DEFINITIONS to include definitions needed to get
the winsock2 API from windows.h.  Simplify the order of checks to
avoid extra conditions.

Use check_include_file instead of check_include_file_concat to look
for OpenSSL headers.  They do not need to participate in a sequence
of dependent system headers.  Also they may cause winsock.h to be
included before ws2tcpip.h, causing the latter to not be detected
in the sequence.

Reviewed-by: Brad King <brad.king@kitware.com>
9 years agogtls: fix build with HTTP2
Alessandro Ghedini [Thu, 19 Feb 2015 15:44:27 +0000 (16:44 +0100)]
gtls: fix build with HTTP2

9 years agoMakefile.vc6: Corrected typos in rename of darwinssl.obj
Steve Holme [Mon, 16 Feb 2015 00:20:07 +0000 (00:20 +0000)]
Makefile.vc6: Corrected typos in rename of darwinssl.obj

9 years agoBy request, change the name of "curl_darwinssl.[ch]" to "darwinssl.[ch]"
Nick Zitzmann [Sun, 15 Feb 2015 23:11:01 +0000 (17:11 -0600)]
By request, change the name of "curl_darwinssl.[ch]" to "darwinssl.[ch]"

9 years agoRELEASE-NOTES: Synced with 6f89f86c3d
Steve Holme [Sat, 14 Feb 2015 22:22:52 +0000 (22:22 +0000)]
RELEASE-NOTES: Synced with 6f89f86c3d

9 years agotests/README: Updated to reflect email test ranges
Steve Holme [Sat, 14 Feb 2015 20:54:06 +0000 (20:54 +0000)]
tests/README: Updated to reflect email test ranges

9 years agocurl.1: --cert-status is also supported by OpenSSL now
Alessandro Ghedini [Sat, 14 Feb 2015 17:35:27 +0000 (18:35 +0100)]
curl.1: --cert-status is also supported by OpenSSL now

9 years agobuild: Removed Visual Studio SuppressStartupBanner directive for VC8+
Steve Holme [Sat, 14 Feb 2015 17:01:49 +0000 (17:01 +0000)]
build: Removed Visual Studio SuppressStartupBanner directive for VC8+

Visual Studio 2005 and above defaults to disabling the startup banner
for the Compiler, Linker and MIDL tools (with /NOLOGO). As such there
is no need to explicitly set the SuppressStartupBanner directive, as
this is a leftover from the VC7 and VC7.1 projects being upgraded to
VC8 and above.