Viktor Szakats [Wed, 6 Apr 2016 09:57:48 +0000 (11:57 +0200)]
URLs: change http to https in many places
Closes #754
Daniel Stenberg [Wed, 6 Apr 2016 09:29:36 +0000 (11:29 +0200)]
winbuild: trying to set some files eol=crlf for git
Thinking it might help to apply patches etc with git.
Theodore Dubois [Tue, 5 Apr 2016 21:14:47 +0000 (14:14 -0700)]
curl.1: change example for -F
It's a bad idea to send your passwords anywhere, especially over HTTP.
Modified example to send a picture instead.
Fixes #752
Daniel Stenberg [Wed, 6 Apr 2016 07:20:18 +0000 (09:20 +0200)]
KNOWN_BUGS: reorganized and cleaned up
Now sorted into categories and organized in the same style we do the
TODO document. It will make each issue linked properly on the
https://curl.haxx.se/docs/knownbugs.html web page.
The sections should make it easier to find issues and issues related to
areas of the reader's specific interest.
Jay Satiro [Wed, 6 Apr 2016 06:43:13 +0000 (02:43 -0400)]
KNOWN_BUGS: #95 curl in Windows can't handle Unicode arguments
Steve Holme [Wed, 6 Apr 2016 00:23:02 +0000 (01:23 +0100)]
KNOWN_BUGS: Use https://curl.haxx.se URL for github based issues
Steve Holme [Wed, 6 Apr 2016 00:00:01 +0000 (01:00 +0100)]
CHECKSRC.md: Corrected some typos
Steve Holme [Tue, 5 Apr 2016 23:26:12 +0000 (00:26 +0100)]
RELEASE-NOTES: Corrected last updated
Included a summary of the checksrc.bat updates and combined two krb5
changes as they should have been implemented at the same time.
Steve Holme [Tue, 5 Apr 2016 23:21:07 +0000 (00:21 +0100)]
vauth: Corrected a number of typos in comments
Reported-by: Michael Osipov
Jay Satiro [Tue, 5 Apr 2016 22:56:35 +0000 (18:56 -0400)]
KNOWN_BUGS: #94 IMAP custom requests use the LIST handler
Bug: https://github.com/curl/curl/issues/536
Reported-by: eXeC64@users.noreply.github.com
Daniel Stenberg [Tue, 5 Apr 2016 21:40:37 +0000 (23:40 +0200)]
KNOWN_BUGS: remove 68, 70 and 72.
Due to their age (we don't fully know if they actually remain) and lack
of detail - very few people will bother to find out what they're about
or work on them. If people truly still suffer from any of these, I
assume they will be reported again and then we'll deal with them.
72. "Pausing pipeline problems."
https://curl.haxx.se/mail/lib-2009-07/0214.html
70. Problem re-using easy handle after call to curl_multi_remove_handle
https://curl.haxx.se/mail/lib-2009-07/0249.html
68. "More questions about ares behavior".
https://curl.haxx.se/mail/lib-2009-08/0012.html
Daniel Stenberg [Tue, 5 Apr 2016 21:39:42 +0000 (23:39 +0200)]
KNOWN_BUGS: remove 92 and 88, fixed
Daniel Stenberg [Tue, 5 Apr 2016 18:27:38 +0000 (20:27 +0200)]
http2: fix connection reuse when PING comes after last DATA
It turns out the google GFE HTTP/2 servers send a PING frame immediately
after a stream ends and its last DATA has been received by curl. So if
we don't drain that from the socket, it makes the socket readable in
subsequent checks and libcurl then (wrongly) assumes the connection is
dead when trying to reuse the connection.
Reported-by: Joonas Kuorilehto
Discussed in #750
Daniel Stenberg [Tue, 5 Apr 2016 14:36:45 +0000 (16:36 +0200)]
multi: remove trailing space in debug output
Daniel Stenberg [Mon, 4 Apr 2016 07:01:27 +0000 (09:01 +0200)]
RELEASE-NOTES: synced with
86e97b642fb
Daniel Stenberg [Mon, 4 Apr 2016 06:36:21 +0000 (08:36 +0200)]
CHECKSRC.md: mention cmdline options, fix the bullet list
Daniel Stenberg [Sun, 3 Apr 2016 22:11:32 +0000 (00:11 +0200)]
docs/CHECKSRC.md: initial version
Steve Holme [Sun, 3 Apr 2016 21:09:07 +0000 (22:09 +0100)]
checksrc.bat: Added support for the examples
Daniel Stenberg [Sun, 3 Apr 2016 21:06:44 +0000 (23:06 +0200)]
lib/src: fix the checksrc invoke
... now works correctly when invoke from the root makefile
Daniel Stenberg [Sun, 3 Apr 2016 21:06:23 +0000 (23:06 +0200)]
nw: please the stricter checksrc
Steve Holme [Sun, 3 Apr 2016 20:57:04 +0000 (21:57 +0100)]
checksrc.bat: Re-enabled the tests directory by default
Following the recent changes to the source in the tests directory,
re-enabled tests for the default scan.
Steve Holme [Sun, 3 Apr 2016 20:53:32 +0000 (21:53 +0100)]
checksrc.bat: Added tests/server directory support
In addition to commit
83b174b3f0 and following the recent changes.
Steve Holme [Sun, 3 Apr 2016 20:51:47 +0000 (21:51 +0100)]
tests: Fixed header files to comply with our code style
Daniel Stenberg [Sun, 3 Apr 2016 20:51:29 +0000 (22:51 +0200)]
make checksrc: run it in docs/examples too by default
Daniel Stenberg [Sun, 3 Apr 2016 20:51:52 +0000 (22:51 +0200)]
docs/examples: remove spurious white spaces all over
... to please the new, slightly picker, checksrc.pl
Daniel Stenberg [Sun, 3 Apr 2016 20:42:31 +0000 (22:42 +0200)]
tests: fix make checksrc in servers/
Daniel Stenberg [Sun, 3 Apr 2016 20:37:23 +0000 (22:37 +0200)]
tests: 'make checksrc' now checks server/ too
Daniel Stenberg [Sun, 3 Apr 2016 18:32:08 +0000 (20:32 +0200)]
root/make: have checksrc run in include/curl too
Daniel Stenberg [Sun, 3 Apr 2016 20:35:43 +0000 (22:35 +0200)]
tests/server: comply with our code style
Daniel Stenberg [Sun, 3 Apr 2016 18:28:34 +0000 (20:28 +0200)]
code: style updates
Daniel Stenberg [Sun, 3 Apr 2016 18:28:20 +0000 (20:28 +0200)]
checksrc: check for more malplaced spaces
Daniel Stenberg [Sun, 3 Apr 2016 14:21:10 +0000 (16:21 +0200)]
unit: make unit test source code checksrc compliant
Daniel Stenberg [Sun, 3 Apr 2016 14:20:43 +0000 (16:20 +0200)]
checksrc: run checksrc in tests when 'make checksrc' in root
Daniel Stenberg [Sun, 3 Apr 2016 14:10:57 +0000 (16:10 +0200)]
checksrc: remove debug crap
Daniel Stenberg [Sun, 3 Apr 2016 14:04:20 +0000 (16:04 +0200)]
lib557: allow too long lines
Daniel Stenberg [Sun, 3 Apr 2016 14:03:40 +0000 (16:03 +0200)]
checksrc: allow ignore of specific warnings within a file (section)
Daniel Stenberg [Sun, 3 Apr 2016 09:56:10 +0000 (11:56 +0200)]
checksrc: add warning names, explain on help output
Steve Holme [Sun, 3 Apr 2016 19:55:19 +0000 (20:55 +0100)]
checksrc.bat: Disable tests by default until warnings are fixed
Steve Holme [Sun, 3 Apr 2016 19:52:38 +0000 (20:52 +0100)]
checksrc.bat: Added support for the tests directory
Steve Holme [Sun, 3 Apr 2016 19:26:03 +0000 (20:26 +0100)]
vauth: Removed the need for a separate GSS-API based SPN function
Steve Holme [Sun, 3 Apr 2016 16:55:17 +0000 (17:55 +0100)]
curl_sasl: Fixed potential null pointer utilisation
Although this should never happen due to the relationship between the
'mech' and 'resp' variables, and the way they are allocated together,
it does cause problems for code analysis tools:
V595 The 'mech' pointer was utilized before it was verified against
nullptr. Check lines: 376, 381. curl_sasl.c 376
Bug: https://github.com/curl/curl/issues/745
Reported-by: Alexis La Goutte
Steve Holme [Sun, 3 Apr 2016 16:32:10 +0000 (17:32 +0100)]
spnego: Small code tidy up
* Prefer dereference of string pointer rather than strlen()
* Free challenge pointer in one place
* Additional comments
Steve Holme [Sun, 3 Apr 2016 16:30:51 +0000 (17:30 +0100)]
krb5: Small code tidy up
* Prefer dereference of string pointer rather than strlen()
* Free challenge pointer in one place
* Additional comments
Steve Holme [Sun, 3 Apr 2016 16:17:20 +0000 (17:17 +0100)]
krb5_gssapi: Only process challenge when present
This wouldn't cause a problem because of the way the function is called,
but prior to this change, we were processing the challenge message when
the credentials were NULL rather than when the challenge message was
populated.
This also brings this part of the Kerberos 5 code in line with the
Negotiate code.
Steve Holme [Sun, 3 Apr 2016 16:02:44 +0000 (17:02 +0100)]
krb5: Fixed missing client response when mutual authentication enabled
Although mutual authentication is currently turned off and can only be
enabled by changing libcurl source code, authentication using Kerberos
5 has been broken since commit
79543caf90 in this use case.
Steve Holme [Sun, 3 Apr 2016 10:45:02 +0000 (11:45 +0100)]
krb5_sspi: Only process challenge when present
This wouldn't cause a problem because of the way the function is called,
but prior to this change, we were processing the challenge message when
the credentials were NULL rather than when the challenge message was
populated.
This also brings this part of the Kerberos 5 code in line with the
Negotiate code.
Steve Holme [Sun, 3 Apr 2016 10:25:12 +0000 (11:25 +0100)]
krb5_sspi: Only generate the output token when its not allocated
Prior to this change, we were generating the output token when the
credentials were NULL rather than when the output token was NULL.
This also brings this part of the Kerberos 5 code in line with the
Negotiate code.
Steve Holme [Sun, 3 Apr 2016 10:15:03 +0000 (11:15 +0100)]
krb5: Only generate a SPN when its not known
Prior to this change, we were generating the SPN in the SSPI code when
the credentials were NULL and in the GSS-API code when the context was
empty. It is better to decouple the SPN generation from these checks
and only generate it when the SPN itself is NULL.
This also brings this part of the Kerberos 5 code in line with the
Negotiate code.
Daniel Stenberg [Sun, 3 Apr 2016 09:57:34 +0000 (11:57 +0200)]
tests/libtest: follow our code style guidelines better
... checksrc of all test code is pending.
Daniel Stenberg [Sun, 3 Apr 2016 09:57:21 +0000 (11:57 +0200)]
checksrc.whitelist: remove fopen() uses
Daniel Stenberg [Sun, 3 Apr 2016 09:57:04 +0000 (11:57 +0200)]
formdata: use appropriate fopen() macros
Daniel Stenberg [Sun, 3 Apr 2016 09:29:14 +0000 (11:29 +0200)]
checksrc: improve the fopen() parser somewhat
The quote scanner was too fragile, now look for a comma instead to find
the mode argument.
Daniel Stenberg [Sun, 3 Apr 2016 08:46:36 +0000 (10:46 +0200)]
unit1604: fix snprintf
follow-up to
0326b06
sizeof(pointer) is no good for the buffer size!
Reported-by: Viktor Szakats
Steve Holme [Sat, 2 Apr 2016 23:02:19 +0000 (00:02 +0100)]
unittests: Fixed compilation warnings
warning: implicit declaration of function 'sprintf_was_used'
[-Wimplicit-function-declaration]
Follow up to the modications made to tests/libtest in commit
55452ebdff
as we prefer not to use sprintf() now.
Daniel Stenberg [Sat, 2 Apr 2016 15:59:25 +0000 (17:59 +0200)]
curl.1: -w filename_effective was introduced in 7.26.0
We never made a 7.25.1 release
Daniel Stenberg [Sat, 2 Apr 2016 15:26:54 +0000 (17:26 +0200)]
7.49.0: next release version
Daniel Stenberg [Fri, 1 Apr 2016 18:42:25 +0000 (20:42 +0200)]
http2: make use of the nghttp2 error callback
It offers extra info from nghttp2 in certain error cases. Like for
example when trying prior-knowledge http2 on a server that doesn't speak
http2 at all. The error message is passed on as a verbose message to
libcurl.
Discussed in #722
The error callback was added in nghttp2 1.9.0
Steve Holme [Sat, 2 Apr 2016 05:41:29 +0000 (06:41 +0100)]
spnego: Renamed the context's SPN variable
To be consistent with the Kerberos 5 context and other authentication
code.
Steve Holme [Sat, 2 Apr 2016 05:25:30 +0000 (06:25 +0100)]
krb5_gssapi: Renamed the status variables
For consistency with the spnego code.
Steve Holme [Sat, 2 Apr 2016 05:15:29 +0000 (06:15 +0100)]
krb5: Moved host from Curl_auth_create_gssapi_user_message() to be argument
For consistency with the spnego and oauth2 code moved the setting of
the host name outside of the Curl_auth_create_gssapi_user_messag()
function.
This will allow us to more easily override it in the future.
Steve Holme [Fri, 1 Apr 2016 23:30:33 +0000 (00:30 +0100)]
test1119: Fixed missing CURL_DID_MEMORY_FUNC_TYPEDEFS symbol
Steve Holme [Fri, 1 Apr 2016 21:20:58 +0000 (22:20 +0100)]
RELEASE-NOTES: Removed "http_negotiate: Corrected host and proxy host name"
As this was introduced in the recent vauth changes and not a prior
release.
Daniel Stenberg [Fri, 1 Apr 2016 21:15:29 +0000 (23:15 +0200)]
RELEASE-NOTES: synced with
0aa8da10bbdafa
Steve Holme [Fri, 1 Apr 2016 20:48:35 +0000 (21:48 +0100)]
http_negotiate: Corrected host and proxy host name being wrong way round
I had accidentally used the proxy server name for the host and the host
server name for the proxy in commit
ad5e9bfd5d and
6d6f9ca1d9. Whilst
Windows SSPI was quite happy with this, GSS-API wasn't.
Thanks-to: Michael Osipov
Steve Holme [Fri, 1 Apr 2016 19:39:34 +0000 (20:39 +0100)]
build: Changed the Visual Studio projects warning level from 3 to 4
After squashing most of our compiler warnings, up'ed the default
warning level from 3 to 4 in order to increase the likelyhood of
catching future warnings.
ehlertjd@gmail.com [Fri, 1 Apr 2016 14:13:39 +0000 (09:13 -0500)]
IMAP: check pointer before dereferencing it
may be null in the CURLOPT_CONNECT_ONLY case
Fixes #747
Steve Holme [Fri, 1 Apr 2016 19:00:05 +0000 (20:00 +0100)]
.gitignore: Added new VC14 SQLite based program database files
Steve Holme [Fri, 1 Apr 2016 18:12:39 +0000 (19:12 +0100)]
curl_memory.h: Fixed typo in comment
From commit
7218b52c49.
Steve Holme [Fri, 1 Apr 2016 18:07:49 +0000 (19:07 +0100)]
spnego: Corrected some typos in comments
Corrected typos from commit
ad5e9bfd5d and
6d6f9ca1d9.
Steve Holme [Fri, 1 Apr 2016 12:21:12 +0000 (13:21 +0100)]
memdebug: Ensure curl/curl.h is included before curl_memory.h
Follow up to commit
7db9782dd6.
Daniel Stenberg [Fri, 1 Apr 2016 11:57:15 +0000 (13:57 +0200)]
upload: missing rewind call could make libcurl hang
When an upload is done, there are two places where that can be detected
and only one of them would rewind the input stream - which sometimes is
necessary for example when doing NTLM HTTP POSTs and more.
This could then end up libcurl hanging.
Figured-out-by: Isaac Boukris
Reported-by: Anatol Belski
Fixes #741
Daniel Stenberg [Fri, 1 Apr 2016 11:14:57 +0000 (13:14 +0200)]
curl.h: define CURL_DID_MEMORY_FUNC_TYPEDEFS
So that we only do the extra typedefs in curl_memory.h when we really
need to and avoid double typedefs.
follow-up commit to
7218b52c49aeb1
Thanks-to: Steve Holme
Daniel Stenberg [Fri, 1 Apr 2016 08:14:06 +0000 (10:14 +0200)]
curl/mprintf.h: remove support for _MPRINTF_REPLACE
The define is not in our name space and is therefore not protected by
our API promises.
It was only really used by libcurl internals but was mostly erased from
there already in
8aabbf5 (March 2015). This is supposedly the final
death blow to that define from everywhere.
As a side-effect, making sure _MPRINTF_REPLACE is gone and not used, I
made the lib tests in tests/libtest/ use curl_printf.h for its redefine
magic and then subsequently the use of sprintf() got banned in the tests
as well (as it is in libcurl internals) and I then replaced them all
with snprintf().
In the unlikely event that any users is actually using this define and
gets sad by this change, it is very easily copied to the user's own
code.
Daniel Stenberg [Thu, 31 Mar 2016 07:08:40 +0000 (09:08 +0200)]
curl_memory.h: avoid the curl/curl.h include
Discussed in #743
Steve Holme [Fri, 1 Apr 2016 06:24:39 +0000 (07:24 +0100)]
url: Corrected get protocol family for FTP and LDAP
Fixed copy/paste error from commit
a5aec58726.
Jay Satiro [Fri, 1 Apr 2016 01:05:29 +0000 (21:05 -0400)]
strerror: don't bit shift a signed integer
Bug: https://github.com/curl/curl/issues/744
Reported-by: Alexis La Goutte
Daniel Stenberg [Thu, 31 Mar 2016 20:04:09 +0000 (22:04 +0200)]
http2: more documentation for prior knowledge
Diego Bes [Fri, 18 Mar 2016 22:25:56 +0000 (15:25 -0700)]
http2: support "prior knowledge", no upgrade from HTTP/1.1
Supports HTTP/2 over clear TCP
- Optimize switching to HTTP/2 by removing calls to init and setup
before switching. Switching will eventually call setup and setup calls
init.
- Supports new version to “force” the use of HTTP/2 over clean TCP
- Add common line parameter “--http2-prior-knowledge” to the Curl
command line tool.
Daniel Stenberg [Thu, 31 Mar 2016 13:12:22 +0000 (15:12 +0200)]
imap: remove duplicated function
The list and search response functions were identical! Merged into one
now. Detected by PVS Studio.
Reported-by: Alexis La Goutte
Daniel Stenberg [Thu, 31 Mar 2016 08:22:42 +0000 (10:22 +0200)]
SOCKS5_gssapi_negotiate: don't assume little-endian ints
The code copied one byte from a 32bit integer, which works fine as long
as the byte order is the same. Not a fine assumption. Reported by PVS
Studio.
Reported-by: Alexis La Goutte
Daniel Stenberg [Thu, 31 Mar 2016 08:03:04 +0000 (10:03 +0200)]
http: remove ((expression)) double parentheses
Daniel Stenberg [Thu, 31 Mar 2016 08:00:55 +0000 (10:00 +0200)]
Curl_add_buffer_send: avoid possible NULL dereference
... as we check for a NULL pointer below, we move the derefence to after
the check. Detected by PVS Studio.
Reported-by: Alexis La Goutte
Daniel Stenberg [Thu, 31 Mar 2016 07:53:36 +0000 (09:53 +0200)]
file: remove duplicate checks of the same variable
... as it doesn't change in between. Deteced by PVS Studio.
Reported-by: Alexis La Goutte
Marcel Raad [Wed, 30 Mar 2016 15:23:02 +0000 (17:23 +0200)]
openssl: Fix compilation warnings
When compiling with OpenSSL 1.1.0 (so that the HAVE_X509_GET0_SIGNATURE
&& HAVE_X509_GET0_EXTENSIONS pre-processor block is active), Visual C++
14 complains:
warning C4701: potentially uninitialized local variable 'palg' used
warning C4701: potentially uninitialized local variable 'psig' used
Daniel Stenberg [Tue, 29 Mar 2016 22:17:02 +0000 (00:17 +0200)]
multi: turn Curl_done into file local multi_done
... as it now is used by multi.c only.
Daniel Stenberg [Tue, 29 Mar 2016 21:56:22 +0000 (23:56 +0200)]
multi: multi_reconnect_request is the former Curl_reconnect_request
now a file local function in multi.c
Daniel Stenberg [Tue, 29 Mar 2016 21:53:48 +0000 (23:53 +0200)]
multi: move Curl_do and Curl_do_done to multi.c and make static
... called multi_do and multi_do_done as they're file local now.
Jay Satiro [Tue, 29 Mar 2016 23:06:55 +0000 (19:06 -0400)]
wolfssl: Use ECC supported curves extension
https://github.com/wolfSSL/wolfssl/issues/366
Jay Satiro [Tue, 29 Mar 2016 22:50:12 +0000 (18:50 -0400)]
build-wolfssl: Allow a broader range of ciphers (Visual Studio)
This is an update to the build-time options used to build wolfSSL in
Visual Studio for greater compatibility, and make it behave similar to
the way OpenSSL 1.0.2 behaves. Starting in wolfSSL v3.6.6 static ciphers
and SSLv3 are disabled by default at build time, but we can use both.
- Enable static cipher suites TLS_ECDH_ and TLS_RSA_.
- Enable SSLv3 hello. Though in libcurl we disable it by default at
runtime, we make it available so the user can manually select it if
necessary.
Isaac Boukris [Tue, 29 Mar 2016 14:13:46 +0000 (17:13 +0300)]
GSS: make Curl_gss_log_error more verbose
Also display the GSS_C_GSS_CODE (major code) when specified instead of
only GSS_C_MECH_CODE (minor code).
In addition, the old code was printing a colon twice after the prefix
and also miscalculated the length of the buffer in between calls to
gss_display_status (the length of ": " was missing).
Also, gss_buffer is not guaranteed to be NULL terminated and thus need
to restrict reading by its length.
Closes #738
Daniel Stenberg [Tue, 22 Mar 2016 09:46:08 +0000 (10:46 +0100)]
build: use roffit 0.11 feature
... load file specified as argument.
Daniel Stenberg [Tue, 29 Mar 2016 14:08:38 +0000 (16:08 +0200)]
http2: set correct scheme in handler structs [regression]
Since commit
a5aec58 the handler schemes need to match for the
connections to be reused and for HTTP/2 multiplexing to work, reusing
connections is very important!
Closes #736
Daniel Stenberg [Tue, 29 Mar 2016 13:19:21 +0000 (15:19 +0200)]
hostip.c: minor white space edit for style
Viktor Szakats [Sun, 27 Mar 2016 16:03:46 +0000 (18:03 +0200)]
TODO: use secure protocol in recently added URL
Closes #733
Daniel Stenberg [Tue, 29 Mar 2016 08:23:33 +0000 (10:23 +0200)]
HTTP2.md: mention libressl and boringssl too
Daniel Stenberg [Tue, 29 Mar 2016 06:53:40 +0000 (08:53 +0200)]
docs/HTTP-COOKIES: converted to markdown
Daniel Stenberg [Tue, 29 Mar 2016 06:27:23 +0000 (08:27 +0200)]
HTTP2: s/polarssl/mbedtls
Jay Satiro [Mon, 28 Mar 2016 22:18:09 +0000 (18:18 -0400)]
wolfssl: Add ALPN support
Jay Satiro [Mon, 28 Mar 2016 20:46:26 +0000 (16:46 -0400)]
tool_operate: remove mixed declaration
This is a follow up to the previous commit.
Daniel Stenberg [Mon, 28 Mar 2016 18:28:23 +0000 (20:28 +0200)]
curl: warn for --capath use if not supported by libcurl
Closes #492