mirror of
https://github.com/curl/curl.git
synced 2026-08-25 10:43:34 +03:00
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
This commit is contained in:
parent
87aa4ebd82
commit
8a3740bc8e
26 changed files with 268 additions and 14 deletions
|
|
@ -122,6 +122,7 @@ typedef enum {
|
|||
C_DOH_CERT_STATUS,
|
||||
C_DOH_INSECURE,
|
||||
C_DOH_URL,
|
||||
C_DUMP_CA_EMBED,
|
||||
C_DUMP_HEADER,
|
||||
C_ECH,
|
||||
C_EGD_FILE,
|
||||
|
|
@ -408,6 +409,7 @@ static const struct LongShort aliases[]= {
|
|||
{"doh-cert-status", ARG_BOOL, ' ', C_DOH_CERT_STATUS},
|
||||
{"doh-insecure", ARG_BOOL, ' ', C_DOH_INSECURE},
|
||||
{"doh-url" , ARG_STRG, ' ', C_DOH_URL},
|
||||
{"dump-ca-embed", ARG_NONE, ' ', C_DUMP_CA_EMBED},
|
||||
{"dump-header", ARG_FILE, 'D', C_DUMP_HEADER},
|
||||
{"ech", ARG_STRG, ' ', C_ECH},
|
||||
{"egd-file", ARG_STRG, ' ', C_EGD_FILE},
|
||||
|
|
@ -2113,6 +2115,9 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
|
|||
case C_URL_QUERY: /* --url-query */
|
||||
err = url_query(nextarg, global, config);
|
||||
break;
|
||||
case C_DUMP_CA_EMBED: /* --dump-ca-embed */
|
||||
err = PARAM_CA_EMBED_REQUESTED;
|
||||
break;
|
||||
case C_DUMP_HEADER: /* --dump-header */
|
||||
err = getstr(&config->headerfile, nextarg, DENY_BLANK);
|
||||
break;
|
||||
|
|
@ -2984,7 +2989,8 @@ ParameterError parse_args(struct GlobalConfig *global, int argc,
|
|||
if(result && result != PARAM_HELP_REQUESTED &&
|
||||
result != PARAM_MANUAL_REQUESTED &&
|
||||
result != PARAM_VERSION_INFO_REQUESTED &&
|
||||
result != PARAM_ENGINES_REQUESTED) {
|
||||
result != PARAM_ENGINES_REQUESTED &&
|
||||
result != PARAM_CA_EMBED_REQUESTED) {
|
||||
const char *reason = param2text(result);
|
||||
|
||||
if(orig_opt && strcmp(":", orig_opt))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue