curl/src
Daniel Stenberg 88024c6d39
tool_getparam: verify that a file exists for some options
Passing the option as-is to libcurl is fine, but checking that the file
exists allows the tool to better provide a helpful message.

This now done for the following options:

  --cacert, --crlfile, --knownhosts, --netrc-file, --proxy-cacert amd
  --proxy-crlfile

Bonus: bail out properly on OOM errors in the --cert parser.

Reported-by: Wesley Moore
Fixes #19583
Closes #19585
2025-11-18 11:37:08 +01:00
..
.checksrc checksrc: disallow atoi and atol globally 2025-11-13 14:28:25 +01:00
.gitignore rtmp: remove no longer used proto member 2025-05-08 10:24:19 +02:00
CMakeLists.txt build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
config2setopts.c badwords: check indented lines in source code, fix fallouts 2025-11-15 13:25:02 +01:00
config2setopts.h curl: remove the global argument from many functions 2025-07-10 23:28:31 +02:00
curl.rc windows: drop code and curl manifest targeting W2K and older 2025-02-24 21:00:31 +01:00
curlinfo.c src: stop overriding system printf symbols 2025-10-06 09:46:29 +02:00
Makefile.am clang-tidy: disable clang-analyzer-security.ArrayBound 2025-08-29 03:07:42 +02:00
Makefile.inc tidy-up: miscellaneous (cont.) 2025-10-06 22:33:38 +02:00
mk-file-embed.pl scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +02:00
mkhelp.pl scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +02:00
slist_wc.c tidy-up: replace <memdebug.h> with "memdebug.h" (src, units) 2025-06-24 09:44:28 +02:00
slist_wc.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
terminal.c build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
terminal.h curl: make warnings and other messages aware of terminal width 2024-05-28 23:12:32 +02:00
tool_bname.c tidy-up: replace <memdebug.h> with "memdebug.h" (src, units) 2025-06-24 09:44:28 +02:00
tool_bname.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_cb_dbg.c src: stop overriding system printf symbols 2025-10-06 09:46:29 +02:00
tool_cb_dbg.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_cb_hdr.c build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_cb_hdr.h tool_cb_hrd: remove global pointer from 'struct HdrCbData' 2025-08-05 15:47:56 +02:00
tool_cb_prg.c lib: rename curlx_timediff to curlx_timeleft_ms 2025-11-13 13:12:58 +01:00
tool_cb_prg.h curltime: use libcurl time functions in src and tests/server 2025-03-12 11:33:26 +01:00
tool_cb_rea.c build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_cb_rea.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_cb_see.c build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_cb_see.h tool: move tool_ftruncate64 to tool_util.c 2024-04-25 09:20:38 +02:00
tool_cb_soc.c build: avoid overriding system symbols for socket functions 2025-09-20 13:44:59 +02:00
tool_cb_soc.h curl: (on linux) add MPTCP support 2024-06-07 10:54:19 +02:00
tool_cb_wrt.c build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_cb_wrt.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_cfgable.c build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_cfgable.h build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_dirhie.c build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_dirhie.h curl: make global truly global 2025-08-07 10:43:06 +02:00
tool_doswin.c build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_doswin.h build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_easysrc.c src: stop overriding system printf symbols 2025-10-06 09:46:29 +02:00
tool_easysrc.h curl: make global truly global 2025-08-07 10:43:06 +02:00
tool_filetime.c tool_filetime: cap crazy filetimes instead of erroring 2025-10-20 00:00:12 +02:00
tool_filetime.h curl: make global truly global 2025-08-07 10:43:06 +02:00
tool_findfile.c tool: consider (some) curl_easy_setopt errors fatal 2025-11-07 11:12:34 +01:00
tool_findfile.h windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
tool_formparse.c build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_formparse.h curl: make global truly global 2025-08-07 10:43:06 +02:00
tool_getparam.c tool_getparam: verify that a file exists for some options 2025-11-18 11:37:08 +01:00
tool_getparam.h tool_getparam: verify that a file exists for some options 2025-11-18 11:37:08 +01:00
tool_getpass.c build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_getpass.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_help.c tool_help: add checks to avoid unsigned wrap around 2025-11-06 15:37:53 +01:00
tool_help.h curl: fix memory leak when -h is used in config file 2025-05-10 11:16:07 +02:00
tool_helpers.c tool_parsecfg: detect and error on recursive --config use 2025-10-21 10:11:43 +02:00
tool_helpers.h curl: make global truly global 2025-08-07 10:43:06 +02:00
tool_hugehelp.h build: drop tool_hugehelp.c.cvs, tidy up macros, drop buildconf.bat 2025-01-26 14:22:49 +01:00
tool_ipfs.c badwords: fix two exceptions and drop them 2025-11-14 17:32:04 +01:00
tool_ipfs.h ipfs: add options to disable 2024-09-21 12:08:32 +02:00
tool_libinfo.c tidy-up: replace <memdebug.h> with "memdebug.h" (src, units) 2025-06-24 09:44:28 +02:00
tool_libinfo.h tool_getparam: fail --hostpubsha256 if libssh2 is not used 2025-01-28 10:30:40 +01:00
tool_listhelp.c tftp: check for trailing ";mode=" in URL without strstr 2025-10-15 09:59:57 +02:00
tool_main.c AmigaOS: increase minimum stack size for tool_main 2025-11-18 07:54:11 +01:00
tool_main.h curl: add --parallel-max-host to limit concurrent connections per host 2025-07-31 23:30:40 +02:00
tool_msgs.c tool_msgs: make errorf() show if --show-error 2025-10-13 08:56:14 +02:00
tool_msgs.h curl: remove first argument from helpf() 2025-08-07 16:55:39 +02:00
tool_operate.c build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_operate.h tool: move the error buffer to the per transfer struct 2025-09-01 08:52:57 +02:00
tool_operhlp.c badwords: check indented lines in source code, fix fallouts 2025-11-15 13:25:02 +01:00
tool_operhlp.h curl: make global truly global 2025-08-07 10:43:06 +02:00
tool_paramhlp.c badwords: check indented lines in source code, fix fallouts 2025-11-15 13:25:02 +01:00
tool_paramhlp.h curl: make global truly global 2025-08-07 10:43:06 +02:00
tool_parsecfg.c badwords: add more contractions, fix fallouts 2025-11-17 19:29:15 +01:00
tool_parsecfg.h tool_parsecfg: detect and error on recursive --config use 2025-10-21 10:11:43 +02:00
tool_progress.c lib: rename curlx_timediff to curlx_timeleft_ms 2025-11-13 13:12:58 +01:00
tool_progress.h curl: make global truly global 2025-08-07 10:43:06 +02:00
tool_sdecls.h curl: make the URL indexes 64 bit 2025-07-30 23:13:45 +02:00
tool_setopt.c tool: consider (some) curl_easy_setopt errors fatal 2025-11-07 11:12:34 +01:00
tool_setopt.h tool: consider (some) curl_easy_setopt errors fatal 2025-11-07 11:12:34 +01:00
tool_setup.h build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_ssls.c tool: consider (some) curl_easy_setopt errors fatal 2025-11-07 11:12:34 +01:00
tool_ssls.h curl: remove the global argument from many functions 2025-07-10 23:28:31 +02:00
tool_stderr.c build: avoid overriding system symbols for fopen functions 2025-09-30 01:10:36 +02:00
tool_stderr.h curl: make global truly global 2025-08-07 10:43:06 +02:00
tool_strdup.c tool: replace three malloc + copy with memdup0 2025-08-05 15:46:51 +02:00
tool_strdup.h tool: replace three malloc + copy with memdup0 2025-08-05 15:46:51 +02:00
tool_urlglob.c src: stop overriding system printf symbols 2025-10-06 09:46:29 +02:00
tool_urlglob.h tool_urlglob: polish, cleanups, improvements 2025-08-06 08:47:53 +02:00
tool_util.c build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_util.h build: drop Windows CE / CeGCC support 2025-11-15 15:35:23 +01:00
tool_version.h config: rename the OS define to CURL_OS to reduce collision risk 2024-10-30 14:59:54 +01:00
tool_vms.c src: stop overriding system printf symbols 2025-10-06 09:46:29 +02:00
tool_vms.h tidy-up: more whitespace/indent, comments 2025-07-25 11:47:51 +02:00
tool_writeout.c src: stop overriding system printf symbols 2025-10-06 09:46:29 +02:00
tool_writeout.h badwords: fix two exceptions and drop them 2025-11-14 17:32:04 +01:00
tool_writeout_json.c src: stop overriding system printf symbols 2025-10-06 09:46:29 +02:00
tool_writeout_json.h curlx: move into to curlx/ 2025-05-07 11:01:15 +02:00
tool_xattr.c src: stop overriding system printf symbols 2025-10-06 09:46:29 +02:00
tool_xattr.h tests: always make bundles, adapt build and tests 2025-06-14 21:08:23 +02:00
var.c tool/var: explain how the null termination byte is there 2025-10-30 20:22:37 +01:00
var.h curl: make global truly global 2025-08-07 10:43:06 +02:00