curl-curl/src
Viktor Szakats 8a3740bc8e
curl: support embedding a CA bundle
Add the ability to embed a CA bundle into the curl binary. It is used
when no other runtime or build-time option set one.

This helps curl-for-win macOS and Linux builds to run standalone, and
also helps Windows builds to avoid picking up the CA bundle from an
arbitrary (possibly world-writable) location (though this behaviour is
not currently disablable).

Usage:
- cmake: `-DCURL_CA_EMBED=/path/to/curl-ca-bundle.crt`
- autotools: `--with-ca-embed=/path/to/curl-ca-bundle.crt`
- Makefile.mk: `CURL_CA_EMBED=/path/to/curl-ca-bundle.crt`

Also add new command-line option `--dump-ca-embed` to dump the embedded
CA bundle to standard output.

Closes #14059
2024-08-03 09:22:26 +02:00
..
.checksrc tool: use our own stderr variable 2023-09-28 10:50:56 +00:00
.gitignore curl: support embedding a CA bundle 2024-08-03 09:22:26 +02:00
CMakeLists.txt curl: support embedding a CA bundle 2024-08-03 09:22:26 +02:00
curl.rc (lib)curl.rc: set debug flag also for CURLDEBUG and UNITTESTS 2024-05-22 08:38:12 +02:00
Makefile.am curl: support embedding a CA bundle 2024-08-03 09:22:26 +02:00
Makefile.inc code: language cleanup in comments 2024-07-01 22:58:55 +02:00
Makefile.mk curl: support embedding a CA bundle 2024-08-03 09:22:26 +02:00
mk-file-embed.pl curl: support embedding a CA bundle 2024-08-03 09:22:26 +02:00
mkhelp.pl managen: output tabs for each 8 leading spaces 2024-06-25 16:13:30 +02:00
slist_wc.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
slist_wc.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
terminal.c windows: fix UWP builds, add GHA job 2024-06-05 00:52:24 +02:00
terminal.h curl: make warnings and other messages aware of terminal width 2024-05-28 23:12:32 +02:00
tool_binmode.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_binmode.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_bname.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01: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 code: language cleanup in comments 2024-07-01 22:58:55 +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 code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_cb_hdr.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_cb_prg.c tool_cb_prg: output "flying saucers" with leading carriage return 2024-07-22 17:33:18 +02:00
tool_cb_prg.h curl: make warnings and other messages aware of terminal width 2024-05-28 23:12:32 +02:00
tool_cb_rea.c code: language cleanup in comments 2024-07-01 22:58:55 +02: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 code: language cleanup in comments 2024-07-01 22:58:55 +02: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 curl: (on linux) add MPTCP support 2024-06-07 10:54:19 +02:00
tool_cb_soc.h curl: (on linux) add MPTCP support 2024-06-07 10:54:19 +02:00
tool_cb_wrt.c code: language cleanup in comments 2024-07-01 22:58:55 +02: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 tool_cfgable: free {proxy_}cipher13_list on exit 2024-05-05 11:13:06 +02:00
tool_cfgable.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_dirhie.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_dirhie.h tool: use errorf() for error output 2023-06-01 08:19:11 +02:00
tool_doswin.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_doswin.h windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
tool_easysrc.c build: delete/replace clang warning pragmas 2024-01-27 21:19:41 +00:00
tool_easysrc.h build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
tool_filetime.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_filetime.h windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
tool_findfile.c windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
tool_findfile.h windows: use built-in _WIN32 macro to detect Windows 2023-11-22 15:42:25 +00:00
tool_formparse.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_formparse.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_getparam.c curl: support embedding a CA bundle 2024-08-03 09:22:26 +02:00
tool_getparam.h curl: support embedding a CA bundle 2024-08-03 09:22:26 +02:00
tool_getpass.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_getpass.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_help.c curl: support embedding a CA bundle 2024-08-03 09:22:26 +02:00
tool_help.h cmdline-opts: category cleanup 2024-07-05 11:05:50 +02:00
tool_helpers.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_helpers.h src: tidy up types, add necessary casts 2024-05-17 12:32:04 +02:00
tool_hugehelp.c.cvs copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_hugehelp.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_ipfs.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_ipfs.h curl: move IPFS code into src/tool_ipfs.[ch] 2023-11-07 07:42:28 +01:00
tool_libinfo.c curl: support embedding a CA bundle 2024-08-03 09:22:26 +02:00
tool_libinfo.h curl: support embedding a CA bundle 2024-08-03 09:22:26 +02:00
tool_listhelp.c curl: support embedding a CA bundle 2024-08-03 09:22:26 +02:00
tool_main.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_main.h tool: use our own stderr variable 2023-09-28 10:50:56 +00:00
tool_msgs.c curl: make warnings and other messages aware of terminal width 2024-05-28 23:12:32 +02:00
tool_msgs.h build: enable missing OpenSSF-recommended warnings, with fixes 2023-12-16 13:12:37 +00:00
tool_operate.c curl: support embedding a CA bundle 2024-08-03 09:22:26 +02:00
tool_operate.h curl: support -w '%{num_retries} 2024-06-11 09:07:43 +02:00
tool_operhlp.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_operhlp.h tool_operate: Fix error codes on bad URL & OOM 2023-02-07 08:20:04 +01:00
tool_paramhlp.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_paramhlp.h tool_getparam: replace malloc + copy by dynbuf for --data 2024-01-08 22:38:22 +01:00
tool_parsecfg.c curl: support embedding a CA bundle 2024-08-03 09:22:26 +02:00
tool_parsecfg.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_progress.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_progress.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_sdecls.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_setopt.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_setopt.h curl: make --libcurl output better CURLOPT_*SSLVERSION 2024-03-14 17:59:22 +01:00
tool_setup.h tool: move tool_ftruncate64 to tool_util.c 2024-04-25 09:20:38 +02:00
tool_sleep.c src: tidy up types, add necessary casts 2024-05-17 12:32:04 +02:00
tool_sleep.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_stderr.c tool: use our own stderr variable 2023-09-28 10:50:56 +00:00
tool_stderr.h tool: use errorf() for error output 2023-06-01 08:19:11 +02:00
tool_strdup.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_strdup.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_urlglob.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_urlglob.h tool_urlglob: use curl_off_t instead of longs 2023-05-31 08:14:41 +02:00
tool_util.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_util.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_version.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_vms.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_vms.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
tool_writeout_json.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_writeout_json.h tool_writeout: bsearch the variable name 2024-06-10 23:12:05 +02:00
tool_writeout.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tool_writeout.h curl: support -w '%{num_retries} 2024-06-11 09:07:43 +02:00
tool_xattr.c tool_xattr: "guess" URL scheme if none is provided 2024-03-28 16:28:23 +01:00
tool_xattr.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
var.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
var.h curl: when allocating variables, add the name into the struct 2024-02-07 23:11:40 +01:00