]> granicus.if.org Git - curl/log
curl
7 years agotest: add impacket for SMB testing
Max Dymond [Fri, 30 Jun 2017 12:53:19 +0000 (13:53 +0100)]
test: add impacket for SMB testing

Import impacket 0.9.15 for use in SMB testing. This was generated by
doing "pip2.7 install -t . impacket"

Unnecessary files for current testing were deleted.

7 years agotravis.yml: use --enable-werror on debug builds
Daniel Stenberg [Tue, 4 Jul 2017 08:27:12 +0000 (10:27 +0200)]
travis.yml: use --enable-werror on debug builds

... to better detect and fault on compiler warnings/errors

Closes #1637

7 years agotool_sleep: typecast to avoid macos compiler warning
Daniel Stenberg [Tue, 4 Jul 2017 08:27:12 +0000 (10:27 +0200)]
tool_sleep: typecast to avoid macos compiler warning

tool_sleep.c:54:24: error: implicit conversion loses integer precision:
'long' to '__darwin_suseconds_t' (aka 'int')
[-Werror,-Wshorten-64-to-32]

7 years agotimeval.c: Use long long constant type for timeval assignment
Martin Kepplinger [Mon, 3 Jul 2017 11:23:47 +0000 (13:23 +0200)]
timeval.c: Use long long constant type for timeval assignment

On a 64 bit host, sparse says:

timeval.c:148:15: warning: constant 0x7fffffffffffffff is so big it is long
timeval.c:149:12: warning: constant 0x7fffffffffffffff is so big it is long

so let's use long long constant types in order to prevent undesired overflow
failures.

Bug: https://curl.haxx.se/mail/lib-2017-07/0003.html

Closes #1636

Signed-off-by: Martin Kepplinger <martink@posteo.de>
7 years agourl: make the original string get used on subsequent transfers
Daniel Stenberg [Mon, 3 Jul 2017 21:52:10 +0000 (23:52 +0200)]
url: make the original string get used on subsequent transfers

... since CURLOPT_URL should follow the same rules as other options:
they remain set until changed or cleared.

Added test 1551 to verify.

Fixes #1631
Closes #1632
Reported-by: Pavel Rochnyak
7 years agogtls: fix build when sizeof(long) < sizeof(void *)
Johannes Schindelin [Mon, 26 Jun 2017 21:15:22 +0000 (23:15 +0200)]
gtls: fix build when sizeof(long) < sizeof(void *)

- Change gnutls pointer/int macros to pointer/curl_socket_t.
  Prior to this change they used long type as well.

The size of the `long` data type can be shorter than that of pointer
types. This is the case most notably on Windows.

If C99 were acceptable, we could simply use `intptr_t` here. But we
want to retain C89 compatibility.

Simply use the trick of performing pointer arithmetic with the NULL
pointer: to convert an integer `i` to a pointer, simply take the
address of the `i`th element of a hypothetical character array
starting at address NULL. To convert back, simply cast the pointer
difference.

Thanks to Jay Satiro for the initial modification to use curl_socket_t
instead of int/long.

Closes #1617

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
7 years agounit1399: fix integer overflow
Ryan Winograd [Sun, 2 Jul 2017 23:35:36 +0000 (18:35 -0500)]
unit1399: fix integer overflow

Bug: #1616
Closes #1633

7 years agocmake: Added compatibility options for older Windows versions
Per Malmberg [Sat, 1 Jul 2017 23:02:12 +0000 (01:02 +0200)]
cmake: Added compatibility options for older Windows versions

CURL_STATIC_CRT and ENABLE_INET_PTON

Closes #1621

7 years agounit1399: add logging to time comparison
Daniel Stenberg [Sat, 1 Jul 2017 14:40:51 +0000 (16:40 +0200)]
unit1399: add logging to time comparison

... to enable tracking down why autobuilds fail on this

Bug: #1616

7 years agomake: build the docs subdir only from within src
Daniel Stenberg [Fri, 30 Jun 2017 14:42:26 +0000 (16:42 +0200)]
make: build the docs subdir only from within src

... and don't build at all in include

Prompted-by-work-by: Simon Warta
Ref: #1590
Closes #1591

7 years agotest1450: fix up DICT server in torture mode
Max Dymond [Fri, 30 Jun 2017 11:45:17 +0000 (12:45 +0100)]
test1450: fix up DICT server in torture mode

As per https://github.com/curl/curl/pull/1615, the DICT server is a
little spammy in torture mode due to the sockets being torn down
unexpectedly. Fix this by adding some error handling to the handling
function.

Closes #1629

7 years agotest1450: add simple testing for DICT
Max Dymond [Mon, 26 Jun 2017 15:46:53 +0000 (16:46 +0100)]
test1450: add simple testing for DICT

Add a new server which provides a DICT interface. This is intended to
begin coverage testing for lib/dict.c

Closes #1615

7 years agotest1521: fix out-of-tree builds, broken with 467da3af
Dan Fandrich [Thu, 29 Jun 2017 19:34:05 +0000 (21:34 +0200)]
test1521: fix out-of-tree builds, broken with 467da3af

The test.h file is no longer in the same directory as the source file,
so that directory needs to be added to the include path.

Fixes #1627
Closes #1628

7 years agohttp2: handle PING frames
Max Dymond [Wed, 31 May 2017 13:00:45 +0000 (14:00 +0100)]
http2: handle PING frames

Add a connection check function to HTTP2 based off RTSP. This causes
PINGs to be handled the next time the connection is reused.

Closes #1521

7 years agohandler: refactor connection checking
Max Dymond [Wed, 31 May 2017 11:09:56 +0000 (12:09 +0100)]
handler: refactor connection checking

Add a new type of callback to Curl_handler which performs checks on
the connection. Alter RTSP so that it uses this callback to do its
own check on connection health.

7 years agoopenssl: improve fallback seed of PRNG with a time based hash
dmitrykos [Tue, 27 Jun 2017 17:56:12 +0000 (20:56 +0300)]
openssl: improve fallback seed of PRNG with a time based hash

Fixes #1620

7 years agoprogress: prevent resetting t_starttransfer
Ryan Winograd [Mon, 26 Jun 2017 16:51:05 +0000 (11:51 -0500)]
progress: prevent resetting t_starttransfer

Prevent `Curl_pgrsTime` from modifying `t_starttransfer` when invoked
with `TIMER_STARTTRANSFER` more than once during a single request.

When a redirect occurs, this is considered a new request and
`t_starttransfer` can be updated to reflect the `t_starttransfer` time
of the redirect request.

Closes #1616

Bug: https://github.com/curl/curl/pull/1602#issuecomment-310267370

7 years agocurl_strequal.3: fix typo in SYNOPSIS
Daniel Stenberg [Wed, 28 Jun 2017 23:16:56 +0000 (01:16 +0200)]
curl_strequal.3: fix typo in SYNOPSIS

Reported-by: Jesse Chisholm
Fixes #1623

7 years agoRELEASE-NOTES: synced with ce2c3ebda
Daniel Stenberg [Wed, 28 Jun 2017 09:29:32 +0000 (11:29 +0200)]
RELEASE-NOTES: synced with ce2c3ebda

7 years agocurl --socks5-{basic,gssapi}: control socks5 auth
Kamil Dudka [Fri, 19 May 2017 16:11:47 +0000 (18:11 +0200)]
curl --socks5-{basic,gssapi}: control socks5 auth

Closes https://github.com/curl/curl/pull/1454

7 years agoCURLOPT_SOCKS5_AUTH: allowed methods for SOCKS5 proxy auth
Kamil Dudka [Thu, 27 Apr 2017 13:18:49 +0000 (15:18 +0200)]
CURLOPT_SOCKS5_AUTH: allowed methods for SOCKS5 proxy auth

If libcurl was built with GSS-API support, it unconditionally advertised
GSS-API authentication while connecting to a SOCKS5 proxy.  This caused
problems in environments with improperly configured Kerberos: a stock
libcurl failed to connect, despite libcurl built without GSS-API
connected fine using username and password.

This commit introduces the CURLOPT_SOCKS5_AUTH option to control the
allowed methods for SOCKS5 authentication at run time.

Note that a new option was preferred over reusing CURLOPT_PROXYAUTH
for compatibility reasons because the set of authentication methods
allowed by default was different for HTTP and SOCKS5 proxies.

Bug: https://curl.haxx.se/mail/lib-2017-01/0005.html
Closes https://github.com/curl/curl/pull/1454

7 years agosocks: deduplicate the code for auth request
Kamil Dudka [Wed, 8 Mar 2017 11:16:01 +0000 (12:16 +0100)]
socks: deduplicate the code for auth request

7 years agosocks: use proxy_user instead of proxy_name
Kamil Dudka [Wed, 8 Mar 2017 11:21:09 +0000 (12:21 +0100)]
socks: use proxy_user instead of proxy_name

... to make it obvious what the data is used for

7 years agolibtest/make: generate lib1521.c
Daniel Stenberg [Tue, 27 Jun 2017 15:27:22 +0000 (17:27 +0200)]
libtest/make: generate lib1521.c

... instead of having the generated code checked in. This saves space in
the tarball but primarily automatically adapts to newly added options.

Closes #1614

7 years agotool_getparam: fix memory leak on test 1147 OOM (torture tests)
Jay Satiro [Mon, 26 Jun 2017 05:03:12 +0000 (01:03 -0400)]
tool_getparam: fix memory leak on test 1147 OOM (torture tests)

Bug: https://github.com/curl/curl/pull/1486#issuecomment-310926872
Reported-by: Dan Fandrich
7 years agotest1537: fixed memory leak on OOM
Dan Fandrich [Sun, 25 Jun 2017 20:59:55 +0000 (22:59 +0200)]
test1537: fixed memory leak on OOM

7 years agotest1521: fix compiler warnings
Marcel Raad [Sat, 24 Jun 2017 14:39:27 +0000 (16:39 +0200)]
test1521: fix compiler warnings

The integer literal 3123123123 doesn't fit into a 32-bit signed
integer, so GCC with 32-bit long warns in C90 mode:
this decimal constant is unsigned only in ISO C90 [enabled by default]
Fix this by using ULONG_MAX, which should fit in any curl_off_t and has
the correct suffix to not issue any warnings.
Also adds the missing CURLOPT_REQUEST_TARGET from commit
9b167fd090f596eac828817d48c247eeae53407f.

Closes https://github.com/curl/curl/pull/1611

7 years agocurl/system.h: add check for XTENSA for 32bit gcc
Daniel Stenberg [Sat, 24 Jun 2017 20:26:54 +0000 (22:26 +0200)]
curl/system.h: add check for XTENSA for 32bit gcc

Reported-by: Neil Kolban
Fixes: 1598
7 years agowinbuild: fix boringssl build
Henrik S. Gaßmann [Sat, 24 Jun 2017 09:55:21 +0000 (11:55 +0200)]
winbuild: fix boringssl build

Compile with `WIN32_LEAN_AND_MEAN` which prevents `windows.h` from
including too much clutter including `wincrypt.h` which in turn contains
some preprocessor macros that clash with boringssl symbols.

Detect boringssl by checking the existance of `is_boringssl.h` and set
the corresponding `HAVE_BORINGSSL` for compilation which is used in
`ldap.c` to undefine the evil macros.

Closes #1610

7 years agoprogress: progress.timespent needs to be us
Daniel Stenberg [Sat, 24 Jun 2017 19:14:50 +0000 (21:14 +0200)]
progress: progress.timespent needs to be us

follow-up to 64ed44a815e4e to fix test 500 failures

7 years agocurl-compilers.m4: fix unknown-warning-option on Apple clang
Marcel Raad [Thu, 22 Jun 2017 23:28:17 +0000 (01:28 +0200)]
curl-compilers.m4: fix unknown-warning-option on Apple clang

Since 5598b0bd63f690c151074494ce47ef872f004ab4, clang -v is used to
detect the clang version. The version number was expected to come after
the word "version". For Apple clang, this doesn't work as it has its
own versioning scheme.
The version number is now first searched after the string
"based on LLVM". This works for Apple clang before version 7, and also
for e.g. Ubuntu's clang up to version 3.7. If it's not found and the
version string contains "Apple LLVM version", clang version 3.7 is
assumed, which is the version that comes with Xcode 7. Otherwise, the
version number is still expected after the word "version", which works
for very old Apple clang versions.

Ref: https://trac.macports.org/wiki/XcodeVersionInfo
Fixes https://github.com/curl/curl/issues/1606
Closes https://github.com/curl/curl/pull/1607

7 years agoprogress: fix "time spent", broke in adef394ac
Daniel Stenberg [Fri, 23 Jun 2017 23:18:21 +0000 (01:18 +0200)]
progress: fix "time spent", broke in adef394ac

7 years agoCURLINFO_REDIRECT_URL.3: mention the CURLOPT_MAXREDIRS case
Daniel Stenberg [Fri, 23 Jun 2017 22:59:10 +0000 (00:59 +0200)]
CURLINFO_REDIRECT_URL.3: mention the CURLOPT_MAXREDIRS case

... supported since 7.54.1

7 years agomaketgz: switch to -6e for xz
Daniel Stenberg [Fri, 23 Jun 2017 22:04:58 +0000 (00:04 +0200)]
maketgz: switch to -6e for xz

To reduce the memory requirement for decompress, and still do almost as
good compression as with -9e.

Pointed-out-by: Dan Fandrich
7 years agolibtest/Makefile: remove unused lib1541 variables
Daniel Stenberg [Thu, 22 Jun 2017 22:14:49 +0000 (00:14 +0200)]
libtest/Makefile: remove unused lib1541 variables

7 years agoCONTRIBUTE.md: mention the out-of-tree build test too
Daniel Stenberg [Thu, 22 Jun 2017 08:31:03 +0000 (10:31 +0200)]
CONTRIBUTE.md: mention the out-of-tree build test too

7 years agomaketgz: switch to xz instead of lzma
Daniel Stenberg [Wed, 21 Jun 2017 20:40:55 +0000 (22:40 +0200)]
maketgz: switch to xz instead of lzma

The compressed output size seems to be a tad bit smaller, but generally
xz seems more preferred these days and is used directly by for example
gentoo instead of bz2.

"Users of LZMA Utils should move to XZ Utils" =>
https://tukaani.org/lzma/

Closes #1604

7 years ago--request-target: instead of --strip-path-slash
Daniel Stenberg [Wed, 21 Jun 2017 21:35:08 +0000 (23:35 +0200)]
--request-target: instead of --strip-path-slash

... and CURLOPT_REQUEST_TARGET instead of CURLOPT_STRIP_PATH_SLASH.

This option instead provides the full "alternative" target to use in the
request, instead of extracting the path from the URL.

Test 1298 and 1299 updated accordingly.

Idea-by: Evert Pot
Suggestion: https://daniel.haxx.se/blog/2017/06/19/options-with-curl/comment-page-1/#comment-18373

Closes #1593

7 years agolib1521: fix missing-variable-declarations clang warnings
Marcel Raad [Wed, 21 Jun 2017 16:11:11 +0000 (18:11 +0200)]
lib1521: fix missing-variable-declarations clang warnings

Declare TU-local variables static.

7 years agotravis: enable typecheck-gcc warnings
Marcel Raad [Tue, 20 Jun 2017 20:44:15 +0000 (22:44 +0200)]
travis: enable typecheck-gcc warnings

- switch debug and release configurations so that we get an optimized
  build with GCC 4.3+ as required by typecheck-gcc
- enable warnings-as-errors for release builds
  (which have warnings disabled)

Closes https://github.com/curl/curl/pull/1595

7 years agotypecheck-gcc: add support for CURLINFO_OFF_T
Marcel Raad [Mon, 19 Jun 2017 21:42:05 +0000 (23:42 +0200)]
typecheck-gcc: add support for CURLINFO_OFF_T

typecheck-gcc expected curl_socket_t instead of curl_off_t arguments
for CURLINFO_OFF_T. Detected by test1521, unfortunately only when run
locally.

Closes https://github.com/curl/curl/pull/1592

7 years agoci: whitelist branches to avoid testing feature branches twice
Simon Warta [Tue, 20 Jun 2017 21:00:49 +0000 (23:00 +0200)]
ci: whitelist branches to avoid testing feature branches twice

7 years agolib: fix the djgpp build
Gisle Vanem [Wed, 21 Jun 2017 05:46:21 +0000 (07:46 +0200)]
lib: fix the djgpp build

Bug: https://github.com/curl/curl/commit/73a2fcea0b4adea6ba342cd7ed1149782c214ae3#commitcomment-22655993

7 years agoif2ip: fix compiler warning in ISO C90 mode
Marcel Raad [Tue, 20 Jun 2017 20:33:56 +0000 (22:33 +0200)]
if2ip: fix compiler warning in ISO C90 mode

remote_scope_id is only used when both HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
and ENABLE_IPV6 are defined instead of only one of them.

7 years agotravis: do the distcheck test build out-of-tree as well
Daniel Stenberg [Mon, 19 Jun 2017 23:02:06 +0000 (01:02 +0200)]
travis: do the distcheck test build out-of-tree as well

7 years agohttp: add --strip-path-slash and CURLOPT_STRIP_PATH_SLASH
Daniel Stenberg [Mon, 19 Jun 2017 12:10:33 +0000 (14:10 +0200)]
http: add --strip-path-slash and CURLOPT_STRIP_PATH_SLASH

... to enable sending "OPTIONS *" which wasn't possible previously.

This option currently only works for HTTP.

Added test cases 1298 + 1299 to verify

Fixes #1280
Closes #1462

7 years agotest1521: test getinfo's OFF_T types too
Daniel Stenberg [Mon, 19 Jun 2017 07:31:37 +0000 (09:31 +0200)]
test1521: test getinfo's OFF_T types too

Closes #1588

7 years agolib1521: add curl_easy_getinfo calls to the test set
Daniel Stenberg [Mon, 19 Jun 2017 07:29:41 +0000 (09:29 +0200)]
lib1521: add curl_easy_getinfo calls to the test set

Also added return value checks to make sure no unexpected return codes
are used.

7 years agoautomake: use $(MKHELP) variable instead if constant mkhelp.pl
Simon Warta [Mon, 19 Jun 2017 08:50:18 +0000 (10:50 +0200)]
automake: use $(MKHELP) variable instead if constant mkhelp.pl

this improves symmetry with the rule above

7 years agomkhelp.pl: fix script name in usage text
Simon Warta [Tue, 13 Jun 2017 17:16:25 +0000 (19:16 +0200)]
mkhelp.pl: fix script name in usage text

7 years agoRELEASE-NOTES: synced with 3b80d3ca4
Daniel Stenberg [Mon, 19 Jun 2017 08:03:38 +0000 (10:03 +0200)]
RELEASE-NOTES: synced with 3b80d3ca4

7 years agogetinfo: return sizes as curl_off_t
Daniel Stenberg [Thu, 15 Jun 2017 13:26:00 +0000 (15:26 +0200)]
getinfo: return sizes as curl_off_t

This change introduces new alternatives for the existing six
curl_easy_getinfo() options that return sizes or speeds as doubles. The
new versions are named like the old ones but with an appended '_T':

CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
CURLINFO_CONTENT_LENGTH_UPLOAD_T
CURLINFO_SIZE_DOWNLOAD_T
CURLINFO_SIZE_UPLOAD_T
CURLINFO_SPEED_DOWNLOAD_T
CURLINFO_SPEED_UPLOAD_T

Closes #1511

7 years agoPIPELINING_SERVER_BL: cleanup the internal list use
Daniel Stenberg [Sun, 18 Jun 2017 15:54:55 +0000 (17:54 +0200)]
PIPELINING_SERVER_BL: cleanup the internal list use

The list was freed incorrectly since the llist refactor of
cbae73e1dd959. Added test 1550 to verify that it works and avoid future
regressions.

Reported-by: Pascal Terjan
Fixes #1584
Closes #1585

7 years agohttp2: fix OOM crash
Daniel Stenberg [Sun, 18 Jun 2017 21:57:45 +0000 (23:57 +0200)]
http2: fix OOM crash

torture mode with test 1021 found it

7 years agoCURLOPT_PREQUOTE.3: spellfix man page reference
Daniel Stenberg [Sun, 18 Jun 2017 15:06:51 +0000 (17:06 +0200)]
CURLOPT_PREQUOTE.3: spellfix man page reference

7 years agohttp_proxy: fix build with http and proxy
Marcel Raad [Sun, 18 Jun 2017 13:18:15 +0000 (15:18 +0200)]
http_proxy: fix build with http and proxy

After deff7de0eb0e22d2d142b96b9cc84cd8db5d2a48, the build without
CURL_DISABLE_PROXY and CURL_DISABLE_HTTP was failing because of missing
includes.

7 years agohttp_proxy: fix compiler warning
Marcel Raad [Sun, 18 Jun 2017 10:53:54 +0000 (12:53 +0200)]
http_proxy: fix compiler warning

With CURL_DISABLE_PROXY or CURL_DISABLE_HTTP, GCC complained about a
missing prototype for Curl_connect_free.

7 years agoTODO: update the TOC too
Daniel Stenberg [Sat, 17 Jun 2017 22:30:16 +0000 (00:30 +0200)]
TODO: update the TOC too

7 years agoTODO: implement support for CURLOPT_PREQUOTE with SFTP
Daniel Stenberg [Sat, 17 Jun 2017 22:25:09 +0000 (00:25 +0200)]
TODO: implement support for CURLOPT_PREQUOTE with SFTP

... also updated the CURLOPT_PREQUOTE.3 man page to mention the correct
protocol support.

Closes #1514

7 years agotool_wrte_cb: remove check for config == NULL
Daniel Stenberg [Sat, 17 Jun 2017 21:58:03 +0000 (23:58 +0200)]
tool_wrte_cb: remove check for config == NULL

... as it really cannot have reached this far with config being NULL,
thus this is unnecesary and misleading.

Bug: https://news.ycombinator.com/item?id=14577585 and
https://daniel.haxx.se/blog/2017/06/17/curl-doesnt-spew-binary-anymore/comment-page-1/#comment-18356

Forwarded-to-us-by: Jakub Wilk
7 years agocurl: prevent binary output spewed to terminal
Daniel Stenberg [Fri, 16 Jun 2017 09:30:36 +0000 (11:30 +0200)]
curl: prevent binary output spewed to terminal

... unless "--output -" is used. Binary detection is done by simply
checking for a binary zero in early data.

Added test 1425 1426 to verify.

Closes #1512

7 years agoMakefile.m32: enable -W for MinGW32 build
Marcel Raad [Wed, 14 Jun 2017 21:22:26 +0000 (23:22 +0200)]
Makefile.m32: enable -W for MinGW32 build

The configure-based build also has this in addition to -Wall.

Closes https://github.com/curl/curl/pull/1578

7 years agocurl-compilers.m4: enable comma clang warning
Marcel Raad [Fri, 16 Jun 2017 12:13:41 +0000 (14:13 +0200)]
curl-compilers.m4: enable comma clang warning

It usually warns when using commas instead of semicolons or other
operators by accident.

Closes https://github.com/curl/curl/pull/1578

7 years agocurl-compilers.m4: enable missing-variable-declarations clang warning
Marcel Raad [Fri, 16 Jun 2017 12:08:28 +0000 (14:08 +0200)]
curl-compilers.m4: enable missing-variable-declarations clang warning

It usually warns when forgetting to declare TU-local variables static.

Closes https://github.com/curl/curl/pull/1578

7 years agocurl-compilers.m4: enable double-promotion warning
Marcel Raad [Fri, 16 Jun 2017 12:06:23 +0000 (14:06 +0200)]
curl-compilers.m4: enable double-promotion warning

Enable -Wdouble-promotion for both GCC and clang. It warns on implicit
promotion from float to double.

Closes https://github.com/curl/curl/pull/1578

7 years agocurl-compilers.m4: enable vla warning for clang
Marcel Raad [Wed, 14 Jun 2017 16:18:41 +0000 (18:18 +0200)]
curl-compilers.m4: enable vla warning for clang

Previously, that warning was only implicitly active in C90 mode.
Enable it unconditionally as already done for GCC.

Closes https://github.com/curl/curl/pull/1578

7 years agohttp-proxy: fix chunked-encoded CONNECT responses
Daniel Stenberg [Fri, 16 Jun 2017 15:30:39 +0000 (17:30 +0200)]
http-proxy: fix chunked-encoded CONNECT responses

Regression since 5113ad0424.

... and remove 'flaky' from test 1061 again

Closes #1579

7 years agohttp-proxy: deal with EAGAIN
Daniel Stenberg [Fri, 16 Jun 2017 15:20:43 +0000 (17:20 +0200)]
http-proxy: deal with EAGAIN

... the previous code would reset the header length wrongly (since
5113ad0424). This makes test 1060 reliable again.

Also: make sws send even smaller chunks of data to increase the
likeliness of this happening.

7 years agolibtest/libntlmconnect: fix compiler warnings from f94fcdb
Daniel Stenberg [Fri, 16 Jun 2017 10:18:18 +0000 (12:18 +0200)]
libtest/libntlmconnect: fix compiler warnings from f94fcdb

7 years agoHTTPS-Proxy: don't offer h2 for https proxy connections
Jay Satiro [Tue, 14 Mar 2017 07:03:46 +0000 (03:03 -0400)]
HTTPS-Proxy: don't offer h2 for https proxy connections

Bug: https://github.com/curl/curl/issues/1254

Closes #1546

7 years agotests: stabilize test 2032 and 2033
Daniel Stenberg [Thu, 15 Jun 2017 21:47:42 +0000 (23:47 +0200)]
tests: stabilize test 2032 and 2033

Both these tests run the same underlying test code: libntlmconnect.c -
this test code made some assumptions about socket ordering when it used
curl_easy_fdset() and when we changed timing or got accidental changes
in libcurl the tests would fail.

The tests verify that the different transfers keep using the same
connections, which I now instead made sure by adding the number of bytes
each transfer gets and then verifies that they always get the same
amount as when these tests worked.

Closes #1576

7 years agotest1148: verify the -# progressbar
Daniel Stenberg [Tue, 13 Jun 2017 21:07:42 +0000 (23:07 +0200)]
test1148: verify the -# progressbar

Closes #1569

7 years agotest1061: mark as flaky
Daniel Stenberg [Fri, 16 Jun 2017 07:16:28 +0000 (09:16 +0200)]
test1061: mark as flaky

Fails intermittently on travis builds since a few days. Likely due to
5113ad0424.

7 years agourl: refactor the check for Windows drive letter in path
Jay Satiro [Wed, 14 Jun 2017 01:42:59 +0000 (21:42 -0400)]
url: refactor the check for Windows drive letter in path

- Move the logic to detect a Windows drive letter prefix
  (eg c: in c:foo) into a function-like macro.

Closes https://github.com/curl/curl/pull/1571

7 years agomk-ca-bundle.pl: Check curl's exit code after certdata download
Jay Satiro [Fri, 16 Jun 2017 05:58:23 +0000 (01:58 -0400)]
mk-ca-bundle.pl: Check curl's exit code after certdata download

- No longer allow partial downloads of certdata.

Prior to this change partial downloads were (erroneously?) allowed since
only the server code was checked to be 200.

Bug: https://github.com/curl/curl/pull/1577
Reported-by: Matteo B.
7 years agodist: add the fuzz dir to the tarball
Daniel Stenberg [Thu, 15 Jun 2017 22:16:57 +0000 (00:16 +0200)]
dist: add the fuzz dir to the tarball

7 years agoconfigure: disable nghttp2 too if HTTP has been disabled
Daniel Stenberg [Thu, 15 Jun 2017 22:02:36 +0000 (00:02 +0200)]
configure: disable nghttp2 too if HTTP has been disabled

7 years agohttp-proxy: fix build with --disable-proxy or --disable-http
Daniel Stenberg [Thu, 15 Jun 2017 21:57:31 +0000 (23:57 +0200)]
http-proxy: fix build with --disable-proxy or --disable-http

Reported-by: Dan Fandrich
7 years agofuzz/README: document how to build
Daniel Stenberg [Thu, 15 Jun 2017 15:08:59 +0000 (17:08 +0200)]
fuzz/README: document how to build

Fixes #1476

7 years agofuzz: corpora file structure, initial commit
Frederik B [Tue, 9 May 2017 18:07:45 +0000 (20:07 +0200)]
fuzz: corpora file structure, initial commit

7 years agofuzz: bring oss-fuzz initial code converted to C89
Frederik B [Tue, 9 May 2017 18:07:28 +0000 (20:07 +0200)]
fuzz: bring oss-fuzz initial code converted to C89

7 years agohttp-proxy: only attempt FTP over HTTP proxy
Daniel Stenberg [Thu, 15 Jun 2017 11:45:57 +0000 (13:45 +0200)]
http-proxy: only attempt FTP over HTTP proxy

... all other non-HTTP protocol schemes are now defaulting to "tunnel
trough" mode if a HTTP proxy is specified. In reality there are no HTTP
proxies out there that allow those other schemes.

Assisted-by: Ray Satiro, Michael Kaufmann
Closes #1505

7 years agoTODO: the generated include file is gone
Daniel Stenberg [Thu, 15 Jun 2017 11:30:57 +0000 (13:30 +0200)]
TODO: the generated include file is gone

... since commit 73a2fcea0b

7 years agocurl_setup.h: error out on CURL_WANTS_CA_BUNDLE_ENV use
Daniel Stenberg [Thu, 15 Jun 2017 09:11:15 +0000 (11:11 +0200)]
curl_setup.h: error out on CURL_WANTS_CA_BUNDLE_ENV use

... to make it really apparent if there's any user using this on purpose.

Suggested-by: Jay Satiro
Closes #1542

7 years agolib/curl_setup.h: remove CURL_WANTS_CA_BUNDLE_ENV
Daniel Stenberg [Thu, 15 Jun 2017 09:11:15 +0000 (11:11 +0200)]
lib/curl_setup.h: remove CURL_WANTS_CA_BUNDLE_ENV

When this define was set, libcurl would check the environment variable
named CURL_CA_BUNDLE at run-time and use that CA cert bundle. This
feature was only defined by the watcom and m32 makefiles and caused
inconsistent behaviours among libcurls built on different platforms.

The curl tool does already feature its own similar logic and the library
does not really need it, and it isn't documented libcurl behavior. So
this change removes it.

Ref: #1538

7 years agotest1147: verify -H on a file
Daniel Stenberg [Thu, 15 Jun 2017 09:08:31 +0000 (11:08 +0200)]
test1147: verify -H on a file

7 years agocurl: allow --header and --proxy-header read from file
Daniel Stenberg [Thu, 15 Jun 2017 09:08:31 +0000 (11:08 +0200)]
curl: allow --header and --proxy-header read from file

So many headers can be provided as @filename.

Suggested-by: Timothe Litt
Closes #1486

7 years agoRELEASE-NOTES: synced with 2ad80eec5
Daniel Stenberg [Thu, 15 Jun 2017 08:49:20 +0000 (10:49 +0200)]
RELEASE-NOTES: synced with 2ad80eec5

7 years agocurl/curlver.h: start working on 7.55.0
Daniel Stenberg [Thu, 15 Jun 2017 08:49:02 +0000 (10:49 +0200)]
curl/curlver.h: start working on 7.55.0

7 years agohttp-proxy: do the HTTP CONNECT process entirely non-blocking
Daniel Stenberg [Wed, 7 Jun 2017 21:02:26 +0000 (23:02 +0200)]
http-proxy: do the HTTP CONNECT process entirely non-blocking

Mentioned as a problem since 2007 (8f87c15bdac63) and of course it
existed even before that.

Closes #1547

7 years agoprogress: let "current speed" be UL + DL speeds combined
Daniel Stenberg [Fri, 9 Jun 2017 09:16:18 +0000 (11:16 +0200)]
progress: let "current speed" be UL + DL speeds combined

Bug #1556
Reported-by: Paul Harris
Closes #1559

7 years agosystem.h: fix MinGW build
Marcel Raad [Wed, 14 Jun 2017 19:49:47 +0000 (21:49 +0200)]
system.h: fix MinGW build

CURLSYS_PULL_WS2TCPIP_H got renamed to CURL_PULL_WS2TCPIP_H in commit
73a2fcea0b4adea6ba342cd7ed1149782c214ae3.

7 years agotimers: store internal time stamps as time_t instead of doubles
Daniel Stenberg [Wed, 7 Jun 2017 11:16:56 +0000 (13:16 +0200)]
timers: store internal time stamps as time_t instead of doubles

This gives us accurate precision and it allows us to avoid storing "no
time" for systems with too low timer resolution as we then bump the time
up to 1 microsecond. Should fix test 573 on windows.

Remove the now unused curlx_tvdiff_secs() function.

Maintains the external getinfo() API with using doubles.

Fixes #1531

7 years agodist: make the hugehelp.c not get regenerated unnecessarily
Daniel Stenberg [Tue, 13 Jun 2017 20:03:37 +0000 (22:03 +0200)]
dist: make the hugehelp.c not get regenerated unnecessarily

The maketgz script now makes sure the generated hugehelp.c file in the
tarball is newer than the generated curl.1 man page, so that it doesn't
have to get unnecessarily rebuilt first thing in a typical build. It
thus also removes the need for perl to build off a plain release
tarball.

Fixes #1565

7 years agoincludes: remove curl/curlbuild.h and curl/curlrules.h
Daniel Stenberg [Mon, 22 May 2017 07:05:10 +0000 (09:05 +0200)]
includes: remove curl/curlbuild.h and curl/curlrules.h

Rely entirely on curl/system.h now.

Introduced in Aug 2008 with commit 14240e9e109f. Now gone.

Fixes #1456

7 years agorelease: 7.54.1 curl-7_54_1
Daniel Stenberg [Tue, 13 Jun 2017 07:44:50 +0000 (09:44 +0200)]
release: 7.54.1

7 years agomk-lib1521.pl: updated to match the test changes in 916ec30a
Dan Fandrich [Tue, 13 Jun 2017 20:03:35 +0000 (22:03 +0200)]
mk-lib1521.pl: updated to match the test changes in 916ec30a

7 years agolibressl: OCSP and intermediate certs workaround no longer needed
Stuart Henderson [Tue, 13 Jun 2017 10:06:03 +0000 (12:06 +0200)]
libressl: OCSP and intermediate certs workaround no longer needed

lib/vtls/openssl.c has a workaround for a bug with OCSP responses signed
by intermediate certs, this was fixed in LibreSSL in
https://github.com/libressl-portable/openbsd/commit/912c64f68f7ac4f225b7d1fdc8fbd43168912ba0

Bug: https://curl.haxx.se/mail/lib-2017-06/0038.html

7 years agourl: fix buffer overwrite with file protocol (CVE-2017-9502)
Daniel Stenberg [Tue, 6 Jun 2017 22:21:04 +0000 (00:21 +0200)]
url: fix buffer overwrite with file protocol (CVE-2017-9502)

Bug: https://github.com/curl/curl/issues/1540
Advisory: https://curl.haxx.se/docs/adv_20170614.html

Assisted-by: Ray Satiro
Reported-by: Marcel Raad
7 years agourlglob: fix division by zero
Daniel Stenberg [Sat, 10 Jun 2017 12:35:07 +0000 (14:35 +0200)]
urlglob: fix division by zero

The multiply() function that is used to avoid integer overflows, was
itself reason for a possible division by zero error when passed a
specially formatted glob.

Reported-by: GwanYeong Kim