by user 'koresh' introduced the --crlfile option to curl, which makes curl
  tell libcurl about a file with CRL (certificate revocation list) data to
  read.
This commit is contained in:
Daniel Stenberg 2009-10-21 12:29:52 +00:00
parent 12e60c6d4e
commit 051ab439a9
3 changed files with 18 additions and 0 deletions

View file

@ -512,6 +512,7 @@ struct Configurable {
char *cert_type;
char *cacert;
char *capath;
char *crlfile;
char *key;
char *key_type;
char *key_passwd;
@ -753,6 +754,7 @@ static void help(void)
" -c/--cookie-jar <file> Write cookies to this file after operation (H)",
" --create-dirs Create necessary local directory hierarchy",
" --crlf Convert LF to CRLF in upload",
" --crlfile <file> Get a CRL list in PEM format from the given file",
" -d/--data <data> HTTP POST data (H)",
" --data-ascii <data> HTTP POST ASCII data (H)",
" --data-binary <data> HTTP POST binary data (H)",
@ -1750,6 +1752,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
{"Eg","capath ", TRUE},
{"Eh","pubkey", TRUE},
{"Ei", "hostpubmd5", TRUE},
{"Ej","crlfile", TRUE},
{"f", "fail", FALSE},
{"F", "form", TRUE},
{"Fs","form-string", TRUE},
@ -2528,6 +2531,10 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
if (!config->hostpubmd5 || strlen(config->hostpubmd5) != 32)
return PARAM_BAD_USE;
break;
case 'j': /* CRL info PEM file */
/* CRL file */
GetStr(&config->crlfile, nextarg);
break;
default: /* certificate file */
{
char *ptr = strchr(nextarg, ':');
@ -3756,6 +3763,8 @@ static void free_config_fields(struct Configurable *config)
free(config->cert_type);
if(config->capath)
free(config->capath);
if(config->crlfile)
free(config->crlfile);
if(config->cookiejar)
free(config->cookiejar);
if(config->ftp_account)
@ -4747,6 +4756,8 @@ operate(struct Configurable *config, int argc, argv_item_t argv[])
my_setopt_str(curl, CURLOPT_CAPATH, config->capath);
my_setopt(curl, CURLOPT_SSL_VERIFYPEER, TRUE);
}
if (config->crlfile)
my_setopt_str(curl, CURLOPT_CRLFILE, config->crlfile);
if(config->insecure_ok) {
/* new stuff needed for libcurl 7.10 */
my_setopt(curl, CURLOPT_SSL_VERIFYPEER, FALSE);