diff options
author | Daniel Stenberg <daniel@haxx.se> | 2016-03-28 20:28:23 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2016-03-28 20:28:23 +0200 |
commit | ab86007df42fbd1783e93f5dcdf0f2ac56611ffa (patch) | |
tree | 7821860d219b50f1d267d00909dc92170c4f4696 | |
parent | 768f18f44245d3f3b34adbfe75c6593e2b6974ff (diff) |
curl: warn for --capath use if not supported by libcurl
Closes #492
-rw-r--r-- | src/tool_operate.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/tool_operate.c b/src/tool_operate.c index 29e0df8c2..e8df7ffbb 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2016, 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 @@ -239,6 +239,7 @@ static CURLcode operate_do(struct GlobalConfig *global, * We support the environment variable thing for non-Windows platforms * too. Just for the sake of it. */ + bool capath_from_env = false; if(!config->cacert && !config->capath && !config->insecure_ok) { @@ -263,6 +264,7 @@ static CURLcode operate_do(struct GlobalConfig *global, result = CURLE_OUT_OF_MEMORY; goto quit_curl; } + capath_from_env = true; } else { env = curlx_getenv("SSL_CERT_FILE"); @@ -1009,8 +1011,16 @@ static CURLcode operate_do(struct GlobalConfig *global, if(config->cacert) my_setopt_str(curl, CURLOPT_CAINFO, config->cacert); - if(config->capath) - my_setopt_str(curl, CURLOPT_CAPATH, config->capath); + if(config->capath) { + result = res_setopt_str(curl, CURLOPT_CAPATH, config->capath); + if(result == CURLE_NOT_BUILT_IN) { + warnf(config->global, "ignoring %s, not supported by libcurl\n", + capath_from_env? + "SSL_CERT_DIR environment variable":"--capath"); + } + else if(result) + goto show_error; + } if(config->crlfile) my_setopt_str(curl, CURLOPT_CRLFILE, config->crlfile); |