Skip to content

Commit

Permalink
CURLOPT_CAPATH: return failure if set without backend support
Browse files Browse the repository at this point in the history
  • Loading branch information
bagder committed Sep 13, 2014
1 parent 7d9bef9 commit 8250f93
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 0 deletions.
4 changes: 4 additions & 0 deletions lib/url.c
Expand Up @@ -1991,13 +1991,17 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
va_arg(param, char *));
break;
case CURLOPT_CAPATH:
#ifdef have_ca_path /* not supported by all backends */
/*
* Set CA path info for SSL connection. Specify directory name of the CA
* certificates which have been prepared using openssl c_rehash utility.
*/
/* This does not work on windows. */
result = setstropt(&data->set.str[STRING_SSL_CAPATH],
va_arg(param, char *));
#else
result = CURLE_NOT_BUILT_IN;
#endif
break;
case CURLOPT_CRLFILE:
/*
Expand Down
3 changes: 3 additions & 0 deletions lib/vtls/openssl.h
Expand Up @@ -76,6 +76,9 @@ void Curl_ossl_md5sum(unsigned char *tmp, /* input */
/* this backend provides these functions: */
#define have_curlssl_md5sum 1

/* this backend supports the CAPATH option */
#define have_ca_path 1

/* API setup for OpenSSL */
#define curlssl_init Curl_ossl_init
#define curlssl_cleanup Curl_ossl_cleanup
Expand Down
4 changes: 4 additions & 0 deletions lib/vtls/polarssl.h
Expand Up @@ -8,6 +8,7 @@
* \___|\___/|_| \_\_____|
*
* Copyright (C) 2010, Hoi-Ho Chan, <hoiho.chan@gmail.com>
* Copyright (C) 2014, 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
Expand Down Expand Up @@ -47,6 +48,9 @@ void Curl_polarssl_session_free(void *ptr);
size_t Curl_polarssl_version(char *buffer, size_t size);
int Curl_polarssl_shutdown(struct connectdata *conn, int sockindex);

/* this backend supports the CAPATH option */
#define have_ca_path 1

/* API setup for PolarSSL */
#define curlssl_init() polarssl_init()
#define curlssl_cleanup() polarssl_cleanup()
Expand Down

0 comments on commit 8250f93

Please sign in to comment.