summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2020-03-26 13:05:03 +0100
committerDaniel Stenberg <daniel@haxx.se>2020-03-27 09:04:27 +0100
commit6de756c9b1de34b7a1b1d6cd978ca75f3b1d719b (patch)
treed59970370b7d7ba0332959f3a21bab1a17d74fa5
parent62112d2bb49bf6ac79d45d65d60e270fa9e7b611 (diff)
downloadcurl-6de756c9b1de34b7a1b1d6cd978ca75f3b1d719b.tar.gz
version: add 'cainfo' and 'capath' to version info struct
Suggested-by: Timothe Litt URL: https://curl.haxx.se/mail/lib-2020-03/0090.html Reviewed-by: Jay Satiro Closes #5150
-rw-r--r--docs/libcurl/curl_version_info.325
-rw-r--r--docs/libcurl/symbols-in-versions1
-rw-r--r--include/curl/curl.h10
-rw-r--r--lib/version.c12
4 files changed, 36 insertions, 12 deletions
diff --git a/docs/libcurl/curl_version_info.3 b/docs/libcurl/curl_version_info.3
index de56c4c6d..bf13aebc8 100644
--- a/docs/libcurl/curl_version_info.3
+++ b/docs/libcurl/curl_version_info.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2020, 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
@@ -49,7 +49,6 @@ The curl_version_info_data struct looks like this
typedef struct {
CURLversion age; /* see description below */
- /* when 'age' is 0 or higher, the members below also exist: */
const char *version; /* human readable string */
unsigned int version_num; /* numeric representation */
const char *host; /* human readable string */
@@ -59,27 +58,27 @@ typedef struct {
const char *libz_version; /* human readable string */
const char * const *protocols; /* protocols */
- /* when 'age' is 1 or higher, the members below also exist: */
+ /* when 'age' is CURLVERSION_SECOND or higher, the members below exist */
const char *ares; /* human readable string */
int ares_num; /* number */
- /* when 'age' is 2 or higher, the member below also exists: */
+ /* when 'age' is CURLVERSION_THIRD or higher, the members below exist */
const char *libidn; /* human readable string */
- /* when 'age' is 3 or higher (7.16.1 or later), the members below also
- exist */
+ /* when 'age' is CURLVERSION_FOURTH or higher (>= 7.16.1), the members
+ below exist */
int iconv_ver_num; /* '_libiconv_version' if iconv support enabled */
const char *libssh_version; /* human readable string */
- /* when 'age' is 4 or higher (7.57.0 or later), the members below also
- exist */
+ /* when 'age' is CURLVERSION_FIFTH or higher (>= 7.57.0), the members
+ below exist */
unsigned int brotli_ver_num; /* Numeric Brotli version
(MAJOR << 24) | (MINOR << 12) | PATCH */
const char *brotli_version; /* human readable string. */
- /* when 'age is CURLVERSION_SIXTH or alter (7.66.0 or later), these fields
- also exist */
+ /* when 'age' is CURLVERSION_SIXTH or higher (>= 7.66.0), the members
+ below exist */
unsigned int nghttp2_ver_num; /* Numeric nghttp2 version
(MAJOR << 16) | (MINOR << 8) | PATCH */
const char *nghttp2_version; /* human readable string. */
@@ -87,6 +86,12 @@ typedef struct {
const char *quic_version; /* human readable quic (+ HTTP/3) library +
version or NULL */
+ /* when 'age' is CURLVERSION_SEVENTH or higher (>= 7.70.0), the members
+ below exist */
+ const char *cainfo; /* the built-in default CURLOPT_CAINFO, might
+ be NULL */
+ const char *capath; /* the built-in default CURLOPT_CAPATH, might
+ be NULL */
} curl_version_info_data;
.fi
diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions
index 7882895f8..ee8413839 100644
--- a/docs/libcurl/symbols-in-versions
+++ b/docs/libcurl/symbols-in-versions
@@ -798,6 +798,7 @@ CURLVERSION_FIRST 7.10
CURLVERSION_FOURTH 7.16.1
CURLVERSION_NOW 7.10
CURLVERSION_SECOND 7.11.1
+CURLVERSION_SEVENTH 7.70.0
CURLVERSION_SIXTH 7.66.0
CURLVERSION_THIRD 7.12.0
CURL_CHUNK_BGN_FUNC_FAIL 7.21.0
diff --git a/include/curl/curl.h b/include/curl/curl.h
index 9da97924f..716024753 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -2729,6 +2729,7 @@ typedef enum {
CURLVERSION_FOURTH,
CURLVERSION_FIFTH,
CURLVERSION_SIXTH,
+ CURLVERSION_SEVENTH,
CURLVERSION_LAST /* never actually use this */
} CURLversion;
@@ -2737,7 +2738,7 @@ typedef enum {
meant to be a built-in version number for what kind of struct the caller
expects. If the struct ever changes, we redefine the NOW to another enum
from above. */
-#define CURLVERSION_NOW CURLVERSION_SIXTH
+#define CURLVERSION_NOW CURLVERSION_SEVENTH
typedef struct {
CURLversion age; /* age of the returned struct */
@@ -2776,6 +2777,13 @@ typedef struct {
const char *nghttp2_version; /* human readable string. */
const char *quic_version; /* human readable quic (+ HTTP/3) library +
version or NULL */
+
+ /* These fields were added in CURLVERSION_SEVENTH */
+ const char *cainfo; /* the built-in default CURLOPT_CAINFO, might
+ be NULL */
+ const char *capath; /* the built-in default CURLOPT_CAPATH, might
+ be NULL */
+
} curl_version_info_data;
#define CURL_VERSION_IPV6 (1<<0) /* IPv6-enabled */
diff --git a/lib/version.c b/lib/version.c
index c7fe42a07..ed5592a26 100644
--- a/lib/version.c
+++ b/lib/version.c
@@ -404,7 +404,17 @@ static curl_version_info_data version_info = {
NULL, /* brotli version */
0, /* nghttp2 version number */
NULL, /* nghttp2 version string */
- NULL /* quic library string */
+ NULL, /* quic library string */
+#ifdef CURL_CA_BUNDLE
+ CURL_CA_BUNDLE, /* cainfo */
+#else
+ NULL,
+#endif
+#ifdef CURL_CA_PATH
+ CURL_CA_PATH /* capath */
+#else
+ NULL
+#endif
};
curl_version_info_data *curl_version_info(CURLversion stamp)