aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-08-28metalink: allow compiling with multiple SSL backendsJohannes Schindelin
Previously, the code assumed that at most one of the SSL backends would be compiled in, emulating OpenSSL's functions if the configured backend was not OpenSSL itself. However, now we allow building with multiple SSL backends and choosing one at runtime. Therefore, metalink needs to be adjusted to handle this scenario, too. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-08-22curl: shorten and clean up CA cert verification error messageDaniel Stenberg
The previous message was just too long for ordinary people and it was encouraging users to use `--insecure` a little too easy. Based-on-work-by: Frank Denis Closes #1810 Closes #1817
2017-08-22tool_main: turn off MinGW CRT's globbingMarcel Raad
By default, the MinGW CRT globs command-line arguments. This prevents getting a single asterisk into an argument as test 1299 does. Turn off globbing by setting the global variable _CRT_glob to 0 for MinGW. Fixes https://github.com/curl/curl/issues/1751 Closes https://github.com/curl/curl/pull/1813
2017-08-22makefile.m32: add support for libidn2Viktor Szakats
libidn was replaced with libidn2 last year in configure. Caveat: libidn2 may depend on a list of further libs. These can be manually specified via CURL_LDFLAG_EXTRAS. Closes https://github.com/curl/curl/pull/1815
2017-08-18metalink: adjust source code styleJohannes Schindelin
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-08-17CURL_SIZEOF_LONG: removed, use only SIZEOF_LONGDaniel Stenberg
2017-08-17system.h: remove all CURL_SIZEOF_* definesDaniel Stenberg
... as they're not used externally and internally we check for the sizes already in configure etc. Closes #1767
2017-08-17ssh: add the ability to enable compression (for SCP/SFTP)Viktor Szakats
The required low-level logic was already available as part of `libssh2` (via `LIBSSH2_FLAG_COMPRESS` `libssh2_session_flag()`[1] option.) This patch adds the new `libcurl` option `CURLOPT_SSH_COMPRESSION` (boolean) and the new `curl` command-line option `--compressed-ssh` to request this `libssh2` feature. To have compression enabled, it is required that the SSH server supports a (zlib) compatible compression method and that `libssh2` was built with `zlib` support enabled. [1] https://www.libssh2.org/libssh2_session_flag.html Ref: https://github.com/curl/curl/issues/1732 Closes https://github.com/curl/curl/pull/1735
2017-08-15zsh.pl: produce a working completion script againKamil Dudka
Commit curl-7_54_0-118-g8b2f22e changed the output format of curl --help to use <file> and <dir> instead of FILE and DIR, which caused zsh.pl to produce a broken completion script: % curl --<TAB> _curl:10: no such file or directory: seconds Closes #1779
2017-08-14strtoofft: reduce integer overflow risks globallyDaniel Stenberg
... make sure we bail out on overflows. Reported-by: Brian Carpenter Closes #1758
2017-08-10mkhelp.pl: allow executing this script directlyJay Satiro
- Enable execute permission (chmod +x) - Change interpreter to /usr/bin/env perl Ref: https://github.com/curl/curl/issues/1743
2017-08-10metalink: fix error: ‘*’ in boolean context, suggest ‘&&’ insteadDaniel Stenberg
2017-08-09curl: do bounds check using a double comparisonAdam Sampson
The fix for this in 8661a0aacc01492e0436275ff36a21734f2541bb wasn't complete: if the parsed number in num is larger than will fit in a long, the conversion is undefined behaviour (causing test1427 to fail for me on IA32 with GCC 7.1, although it passes on AMD64 and ARMv7). Getting rid of the cast means the comparison will be done using doubles. It might make more sense for the max argument to also be a double... Fixes #1750 Closes #1749
2017-08-08docs/comments: Update to secure URL versionsViktor Szakats
Closes #1741
2017-08-07curl: detect and bail out early on parameter integer overflowsDaniel Stenberg
Make the number parser aware of the maximum limit curl accepts for a value and return an error immediately if larger, instead of running an integer overflow later. Fixes #1730 Closes #1736
2017-08-07glob: do not continue parsing after a strtoul() overflow rangeDaniel Stenberg
Added test 1289 to verify. CVE-2017-1000101 Bug: https://curl.haxx.se/docs/adv_20170809A.html Reported-by: Brian Carpenter
2017-08-05getparameter: avoid returning uninitialized 'usedarg'Daniel Stenberg
Fixes #1728
2017-07-29tool_help: clarify --include is only for response headersJay Satiro
Follow-up to 171f8de. Ref: https://github.com/curl/curl/issues/1704
2017-07-10make: fix docs build on OpenBSDRyan Winograd
Ref: #1591
2017-07-10curl_setup_once: Remove ERRNO/SET_ERRNO macrosJay Satiro
Prior to this change (SET_)ERRNO mapped to GetLastError/SetLastError for Win32 and regular errno otherwise. I reviewed the code and found no justifiable reason for conflating errno on WIN32 with GetLastError/SetLastError. All Win32 CRTs support errno, and any Win32 multithreaded CRT supports thread-local errno. Fixes https://github.com/curl/curl/issues/895 Closes https://github.com/curl/curl/pull/1589
2017-07-09tool_getparam: fix potentially uninitialized errJay Satiro
2017-07-09tool_cb_wrt: fix variable shadowing warningMarcel Raad
GCC 4.4 complains: tool_cb_wrt.c:81: error: declaration of ‘isatty’ shadows a global declaration /usr/include/unistd.h:782: error: shadowed declaration is here Fix this by renaming the variable. Closes https://github.com/curl/curl/pull/1661
2017-07-04tool_sleep: typecast to avoid macos compiler warningDaniel Stenberg
tool_sleep.c:54:24: error: implicit conversion loses integer precision: 'long' to '__darwin_suseconds_t' (aka 'int') [-Werror,-Wshorten-64-to-32]
2017-06-30make: build the docs subdir only from within srcDaniel Stenberg
... and don't build at all in include Prompted-by-work-by: Simon Warta Ref: #1590 Closes #1591
2017-06-28curl --socks5-{basic,gssapi}: control socks5 authKamil Dudka
Closes https://github.com/curl/curl/pull/1454
2017-06-26tool_getparam: fix memory leak on test 1147 OOM (torture tests)Jay Satiro
Bug: https://github.com/curl/curl/pull/1486#issuecomment-310926872 Reported-by: Dan Fandrich
2017-06-21--request-target: instead of --strip-path-slashDaniel Stenberg
... 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
2017-06-19http: add --strip-path-slash and CURLOPT_STRIP_PATH_SLASHDaniel Stenberg
... 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
2017-06-19automake: use $(MKHELP) variable instead if constant mkhelp.plSimon Warta
this improves symmetry with the rule above
2017-06-19mkhelp.pl: fix script name in usage textSimon Warta
2017-06-17tool_wrte_cb: remove check for config == NULLDaniel Stenberg
... 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
2017-06-16curl: prevent binary output spewed to terminalDaniel Stenberg
... 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
2017-06-16Makefile.m32: enable -W for MinGW32 buildMarcel Raad
The configure-based build also has this in addition to -Wall. Closes https://github.com/curl/curl/pull/1578
2017-06-15curl: allow --header and --proxy-header read from fileDaniel Stenberg
So many headers can be provided as @filename. Suggested-by: Timothe Litt Closes #1486
2017-06-14includes: remove curl/curlbuild.h and curl/curlrules.hDaniel Stenberg
Rely entirely on curl/system.h now. Introduced in Aug 2008 with commit 14240e9e109f. Now gone. Fixes #1456
2017-06-13urlglob: fix division by zeroDaniel Stenberg
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
2017-06-11FindWin32CACert: Use a temporary buffer on the stackMichael Kaufmann
Don't malloc() the temporary buffer, and use the correct type: SearchPath() works with TCHAR, but SearchPathA() works with char. Set the buffer size to MAX_PATH, because the terminating null byte is already included in MAX_PATH. Reviewed-by: Daniel Stenberg Reviewed-by: Marcel Raad Closes #1548
2017-06-07metalink: remove unused printf() argumentDaniel Stenberg
2017-06-03tool_util: remove unused tvdiff_secs and remove tool_ prefixDaniel Stenberg
Closes #1532
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