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
57 lines
1.5 KiB
Perl
Executable File
57 lines
1.5 KiB
Perl
Executable File
#!/usr/bin/env perl
|
|
#***************************************************************************
|
|
# _ _ ____ _
|
|
# Project ___| | | | _ \| |
|
|
# / __| | | | |_) | |
|
|
# | (__| |_| | _ <| |___
|
|
# \___|\___/|_| \_\_____|
|
|
#
|
|
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
#
|
|
# This software is licensed as described in the file COPYING, which
|
|
# you should have received as part of this distribution. The terms
|
|
# are also available at https://curl.se/docs/copyright.html.
|
|
#
|
|
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
# copies of the Software, and permit persons to whom the Software is
|
|
# furnished to do so, under the terms of the COPYING file.
|
|
#
|
|
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
# KIND, either express or implied.
|
|
#
|
|
# SPDX-License-Identifier: curl
|
|
#
|
|
###########################################################################
|
|
|
|
my $varname = "var";
|
|
if($ARGV[0] eq "--var") {
|
|
shift;
|
|
$varname = shift @ARGV;
|
|
}
|
|
|
|
print <<HEAD
|
|
/*
|
|
* NEVER EVER edit this manually, fix the mk-file-embed.pl script instead!
|
|
*/
|
|
extern const unsigned char ${varname}[];
|
|
const unsigned char ${varname}[] = {
|
|
HEAD
|
|
;
|
|
|
|
while (<STDIN>) {
|
|
my $line = $_;
|
|
foreach my $n (split //, $line) {
|
|
my $ord = ord($n);
|
|
printf("%s,", $ord);
|
|
if($ord == 10) {
|
|
printf("\n");
|
|
}
|
|
}
|
|
}
|
|
|
|
print <<ENDLINE
|
|
0
|
|
};
|
|
ENDLINE
|
|
;
|