aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-06-02build: provide easy code coverage measuringDaniel Stenberg
Closes #1528
2017-05-24time: fix type conversions and compiler warningsMichael Kaufmann
Fix bugs and compiler warnings on systems with 32-bit long and 64-bit time_t. Reviewed-by: Daniel Stenberg Closes #1499
2017-05-17mkhelp.pl: do not add current time into curl binaryBernhard M. Wiedemann
... as part of hugehelpgz rodata to make build reproducible. See https://reproducible-builds.org/ for why this is good Closes #1490
2017-05-14curl: show the libcurl release date in --version outputDaniel Stenberg
... and support and additional "security patched" date for those who enhance older versions that way. Pass on the define CURL_PATCHSTAMP with a date for that. Building with non-release headers shows the date as [unreleased]. Also: this changes the date format generated in the curlver.h file to be "YYYY-MM-DD" (no name of the day or month, no time, no time zone) to make it easier on the eye and easier to parse. Example (new) date string: 2017-05-09 Suggested-by: Brian Childs Closes #1474
2017-05-09tool: fix remaining -Wcast-qual warningsMarcel Raad
Avoid casting away low-level const.
2017-05-08curl: generate the --help outputDaniel Stenberg
... using the docs/cmdline-opts/gen.pl script, so that we get all the command line option documentation from the same source. The generation of the list has to be done manually and pasted into the source code. Closes #1465
2017-05-08tool_msgs: remove wrong castMarcel Raad
Commit 481e0de00a9003b9c5220b120e3fc302d9b0932d changed the variable type from int to size_t, so don't cast the result of strlen to int anymore.
2017-05-07tool_parsecfg: fix -Wcast-qual warningMarcel Raad
Don't convert string literal to char * before assigning it to const char *.
2017-05-06curl: remove tool_writeenv.[ch]Daniel Stenberg
... and USE_ENVIRONMENT and --environment. It was once added for RISC OS support and its platform specific behavior has been annoying ever since. Added in commit c3c8bbd3b2688da8e, mostly unchanged since then. Most probably not actually used for years. Closes #1463
2017-05-04curl: fix warning "comma at end of enumerator list"Daniel Stenberg
2017-05-02curl: non-boolean command line args reject --no- prefixesDaniel Stenberg
... and instead properly respond with an error message to the user instead of silently ignoring. Fixes #1453 Closes #1458
2017-05-01tool: Fix missing prototype warnings for CURL_DOES_CONVERSIONSJay Satiro
- Include tool_convert.h where needed. Bug: https://github.com/curl/curl/issues/1460 Reported-by: Gisle Vanem
2017-05-01tool_cb_prg: fix double-promotion warningMarcel Raad
clang complains: tool_cb_prg.c:86:22: error: implicit conversion increases floating-point precision: 'float' to 'double' [-Werror,-Wdouble-promotion] Fix this by using a double instead of a float constant.
2017-04-27tool_operate: use utimes instead of obsolescent utime when availableDan Fandrich
2017-04-25curl: set a 100K buffer size by defaultDaniel Stenberg
Test command 'time curl http://localhost/80GB -so /dev/null' on a Debian Linux. Before (middle performing run out 9): real 0m28.078s user 0m11.240s sys 0m12.876s After (middle performing run out 9) real 0m26.356s (93.9%) user 0m5.324s (47.4%) sys 0m8.368s (65.0%) Also, doing SFTP over a 200 millsecond latency link is now about 6 times faster. Closes #1446
2017-04-24Makefile: avoid use of GNU-specific form of $<Dan Fandrich
$< is only allowed in implicit rules in some non-GNU makes (e.g. BSD, AIX) so avoid use elsewhere by referencing the dependent curl.1 file directly instead. This is somewhat tricky because the file is supplied in the packaged tar ball (but not in git) but must still be able to be rebuilt when its dependencies change. The right thing must happen in both tar ball and git source trees, as well as in both in-tree and out-of-tree builds.
2017-04-20Revert "src/Makefile.am: avoid explicit $<"Daniel Stenberg
This reverts commit 5b4cbcf11d5100ff793a8e9edbaa6fe1fc7495f5. Since it broke out-of-tree builds from tarballs. See discussion in #1432
2017-04-19src/Makefile.am: avoid explicit $<Daniel Stenberg
... since apparently "BSD make" doesn't support it. Reported-by: Thomas Klausner Fixes #1432
2017-04-11poll: prefer <poll.h> over <sys/poll.h>Marcel Raad
The POSIX standard location is <poll.h>. Using <sys/poll.h> results in warning spam when using the musl standard library. Closes https://github.com/curl/curl/pull/1406
2017-04-05tool_operate: fix MinGW compiler warningMarcel Raad
MinGW complains: tool_operate.c:197:15: error: comparison is always true due to limited range of data type [-Werror=type-limits] Fix this by only doing the comparison if 'long' is large enough to hold the constant it is compared with. Closes https://github.com/curl/curl/pull/1378
2017-04-05tool_operate: move filetime code to its own functionMarcel Raad
Ref: https://github.com/curl/curl/pull/1378
2017-04-04tool: fix Windows Unicode buildMarcel Raad
... by explicitly calling the ANSI versions of Windows API functions where required.
2017-03-30curl: fix callback functions to match prototypeHanno Böck
The function tool_debug_cb doesn't match curl_debug_callback in curl.h (unsigned vs. signed char* for 3rd param). Bug: https://curl.haxx.se/mail/lib-2017-03/0120.html
2017-03-30gcc7: fix ‘*’ in boolean context, suggest ‘&&’ instead ↵Alexis La Goutte
[-Wint-in-bool-context] Closes #1371
2017-03-29curl: fix callback argument inconsistencyHanno Böck
As you can see the callback definition uses a char* for the first argument, while the function uses a void*. URL: https://curl.haxx.se/mail/lib-2017-03/0116.html
2017-03-29make: use the variable MAKE for recursive callsMaksim Stsepanenka
Closes #1366
2017-03-26spelling fixesklemens
Closes #1356
2017-03-25curl: check for end of input in writeout backslash handlingDaniel Stenberg
Reported-by: Brian Carpenter Added test 1442 to verify
2017-03-23mkhelp: disable compression if the perl gzip module is unavailableDan Fandrich
This is nowadays included with the base perl distribution, but wasn't prior to about perl 5.14
2017-03-21cmake: build manual pages (including curl.1)Peter Wu
Also make Perl mandatory to allow building the docs. While CMakeLists.txt could probably read the list of manual pages from Makefile.am, actually putting those in CMakeLists.txt is cleaner so that is what is done here. Fixes #1230 Ref: https://github.com/curl/curl/pull/1288
2017-03-16tool_operate: Fix showing HTTPS-Proxy options on CURLE_SSL_CACERTJay Satiro
- Show the HTTPS-proxy options on CURLE_SSL_CACERT if libcurl was built with HTTPS-proxy support. Prior to this change those options were shown only if an HTTPS-proxy was specified by --proxy, but that did not take into account environment variables such as http_proxy, https_proxy, etc. Follow-up to e1187c4. Bug: https://github.com/curl/curl/issues/1331 Reported-by: Nehal J Wani
2017-03-14build: removed redundant DEPENDENCIES from makefilesDan Fandrich
2017-03-13Improve code readbilitySylvestre Ledru
... by removing the else branch after a return, break or continue. Closes #1310
2017-03-12tool_writeout: fixed a buffer read overrun on --write-outDan Fandrich
If a % ended the statement, the string's trailing NUL would be skipped and memory past the end of the buffer would be accessed and potentially displayed as part of the --write-out output. Added tests 1440 and 1441 to check for this kind of condition. Reported-by: Brian Carpenter
2017-03-12url: add option CURLOPT_SUPPRESS_CONNECT_HEADERSDesmond O. Chang
- Add new option CURLOPT_SUPPRESS_CONNECT_HEADERS to allow suppressing proxy CONNECT response headers from the user callback functions CURLOPT_HEADERFUNCTION and CURLOPT_WRITEFUNCTION. - Add new tool option --suppress-connect-headers to expose CURLOPT_SUPPRESS_CONNECT_HEADERS and allow suppressing proxy CONNECT response headers from --dump-header and --include. Assisted-by: Jay Satiro Assisted-by: CarloCannas@users.noreply.github.com Closes https://github.com/curl/curl/pull/783
2017-03-09build: fixed making man page in out-of-tree tarball buildsDan Fandrich
The man page taken from the release package is found in a different location than if it's built from source. It must be referenced as $< in the rule to get its correct location in the VPATH.
2017-03-09mkhelp: simplified the gzip codeDan Fandrich
This eliminates the need for an external gzip program, which wasn't working with Busybox's gzip, anyway. It now compresses using perl's IO::Compress::Gzip
2017-03-08vtls: add options to specify range of enabled TLS versionsJozef Kralik
This commit introduces the CURL_SSLVERSION_MAX_* constants as well as the --tls-max option of the curl tool. Closes https://github.com/curl/curl/pull/1166
2017-03-03build: fix gcc7 implicit fallthrough warningsAlexis La Goutte
Mark intended fallthroughs with /* FALLTHROUGH */ so that gcc will know it's expected and won't warn on [-Wimplicit-fallthrough=]. Closes https://github.com/curl/curl/pull/1297
2017-02-21url: Improve CURLOPT_PROXY_CAPATH error handlingJay Satiro
- Change CURLOPT_PROXY_CAPATH to return CURLE_NOT_BUILT_IN if the option is not supported, which is the same as what we already do for CURLOPT_CAPATH. - Change the curl tool to handle CURLOPT_PROXY_CAPATH error CURLE_NOT_BUILT_IN as a warning instead of as an error, which is the same as what we already do for CURLOPT_CAPATH. - Fix CAPATH docs to show that CURLE_NOT_BUILT_IN is returned when the respective CAPATH option is not supported by the SSL library. Ref: https://github.com/curl/curl/pull/1257
2017-02-19string formatting: fix 4 printf-style format stringsMichael Kaufmann
2017-02-15tool_urlglob: Allow a glob range with the same start and stopJay Satiro
For example allow ranges like [1-1] and [a-a] etc. Regression since 5ca96cb. Bug: https://github.com/curl/curl/issues/1238 Reported-by: R. Dennis Steed
2017-02-14curl: fix typo in time condition warning messageNick Draffen
The warning message had a typo. The argument long form is --time-cond not --timecond Closes #1263
2017-02-11tool_operate: Show HTTPS-Proxy options on CURLE_SSL_CACERTJay Satiro
When CURLE_SSL_CACERT occurs the tool shows a lengthy error message to the user explaining possible solutions such as --cacert and --insecure. This change appends to that message similar options --proxy-cacert and --proxy-insecure when there's a specified HTTPS proxy. Closes https://github.com/curl/curl/issues/1258
2017-02-06cmdline-opts: Fixed build and test in out of source tree buildsDan Fandrich
2017-02-01OS400: Fix symbolsJay Satiro
- s/CURLOPT_SOCKS_PROXY/CURLOPT_PRE_PROXY Follow-up to 7907a2b and 845522c. - Fix incorrect id for CURLOPT_PROXY_PINNEDPUBLICKEY. - Add id for CURLOPT_ABSTRACT_UNIX_SOCKET. Bug: https://github.com/curl/curl/issues/1237 Reported-by: jonrumsey@users.noreply.github.com
2017-01-23VC: remove the makefile.vc6 build infraDaniel Stenberg
The winbuild/ build files is now the single MSVC makefile build choice. Closes #1215
2017-01-23docs/curl.1: generate from the cmdline-opts scriptDaniel Stenberg
2017-01-19*.rc: escape non-ASCII/non-UTF-8 character for clarityViktor Szakats
Closes https://github.com/curl/curl/pull/1217
2017-01-13unix_socket: add support for abstract unix domain socketIsaac Boukris
In addition to unix domain sockets, Linux also supports an abstract namespace which is independent of the filesystem. In order to support it, add new CURLOPT_ABSTRACT_UNIX_SOCKET option which uses the same storage as CURLOPT_UNIX_SOCKET_PATH internally, along with a flag to specify abstract socket. On non-supporting platforms, the abstract address will be interpreted as an empty string and fail gracefully. Also add new --abstract-unix-socket tool parameter. Signed-off-by: Isaac Boukris <iboukris@gmail.com> Reported-by: Chungtsun Li (typeless) Reviewed-by: Daniel Stenberg Reviewed-by: Peter Wu Closes #1197 Fixes #1061