summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2009-10-21 12:29:52 +0000
committerDaniel Stenberg <daniel@haxx.se>2009-10-21 12:29:52 +0000
commit051ab439a99980e4938c4c61bf2e0f22b04d388e (patch)
tree9185f7b1fe2fa2060365ed1950cdaa4b0c063829 /src
parent12e60c6d4e0c671b8a802c840865b0abf2c9fe26 (diff)
downloadcurl-051ab439a99980e4938c4c61bf2e0f22b04d388e.tar.gz
- A patch in bug report #2883177 (http://curl.haxx.se/bug/view.cgi?id=2883177)
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.
Diffstat (limited to 'src')
-rw-r--r--src/main.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 3459eb53f..4462b7d6e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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);