summaryrefslogtreecommitdiff
path: root/lib/version.c
diff options
context:
space:
mode:
authorng0 <ng0@n0.is>2019-09-12 15:09:29 +0000
committerng0 <ng0@n0.is>2019-09-12 15:09:29 +0000
commit5d5a61dc56228532927a7786375a13d7ae749180 (patch)
tree1b4b73a0016f005655aaa18982df8383f790527f /lib/version.c
parentbc555b4f37422efffcc9969f645f9dbf3cb444bd (diff)
parent9cd755e1d768bbf228e7c9faf223b7459f7e0105 (diff)
downloadgnurl-5d5a61dc56228532927a7786375a13d7ae749180.tar.gz
gnurl-5d5a61dc56228532927a7786375a13d7ae749180.tar.bz2
gnurl-5d5a61dc56228532927a7786375a13d7ae749180.zip
Merge tag 'curl-7_66_0'
7.66.0
Diffstat (limited to 'lib/version.c')
-rw-r--r--lib/version.c60
1 files changed, 36 insertions, 24 deletions
diff --git a/lib/version.c b/lib/version.c
index d938730a1..caefef919 100644
--- a/lib/version.c
+++ b/lib/version.c
@@ -27,6 +27,7 @@
#include "vtls/vtls.h"
#include "http2.h"
#include "ssh.h"
+#include "quic.h"
#include "curl_printf.h"
#ifdef USE_ARES
@@ -53,18 +54,6 @@
#include <librtmp/rtmp.h>
#endif
-#ifdef USE_LIBSSH2
-#include <libssh2.h>
-#endif
-
-#ifdef HAVE_LIBSSH2_VERSION
-/* get it run-time if possible */
-#define CURL_LIBSSH2_VERSION libssh2_version(0)
-#else
-/* use build-time if run-time not possible */
-#define CURL_LIBSSH2_VERSION LIBSSH2_VERSION
-#endif
-
#ifdef HAVE_ZLIB_H
#include <zlib.h>
#ifdef __SYMBIAN32__
@@ -102,7 +91,7 @@ static size_t brotli_version(char *buf, size_t bufsz)
char *curl_version(void)
{
static bool initialized;
- static char version[200];
+ static char version[250];
char *ptr = version;
size_t len;
size_t left = sizeof(version);
@@ -172,18 +161,22 @@ char *curl_version(void)
left -= len;
ptr += len;
#endif
-#ifdef USE_LIBSSH2
- len = msnprintf(ptr, left, " libssh2/%s", CURL_LIBSSH2_VERSION);
+#ifdef USE_SSH
+ if(left) {
+ *ptr++=' ';
+ left--;
+ }
+ len = Curl_ssh_version(ptr, left);
left -= len;
ptr += len;
#endif
-#ifdef USE_LIBSSH
- len = msnprintf(ptr, left, " libssh/%s", CURL_LIBSSH_VERSION);
+#ifdef USE_NGHTTP2
+ len = Curl_http2_ver(ptr, left);
left -= len;
ptr += len;
#endif
-#ifdef USE_NGHTTP2
- len = Curl_http2_ver(ptr, left);
+#ifdef ENABLE_QUIC
+ len = Curl_quic_ver(ptr, left);
left -= len;
ptr += len;
#endif
@@ -358,6 +351,9 @@ static curl_version_info_data version_info = {
#if defined(USE_NGHTTP2)
| CURL_VERSION_HTTP2
#endif
+#if defined(ENABLE_QUIC)
+ | CURL_VERSION_HTTP3
+#endif
#if defined(USE_UNIX_SOCKETS)
| CURL_VERSION_UNIX_SOCKETS
#endif
@@ -385,6 +381,9 @@ static curl_version_info_data version_info = {
NULL, /* ssh lib version */
0, /* brotli_ver_num */
NULL, /* brotli version */
+ 0, /* nghttp2 version number */
+ NULL, /* nghttp2 version string */
+ NULL /* quic library string */
};
curl_version_info_data *curl_version_info(CURLversion stamp)
@@ -446,11 +445,8 @@ curl_version_info_data *curl_version_info(CURLversion stamp)
#endif /* _LIBICONV_VERSION */
#endif
-#if defined(USE_LIBSSH2)
- msnprintf(ssh_buffer, sizeof(ssh_buffer), "libssh2/%s", LIBSSH2_VERSION);
- version_info.libssh_version = ssh_buffer;
-#elif defined(USE_LIBSSH)
- msnprintf(ssh_buffer, sizeof(ssh_buffer), "libssh/%s", CURL_LIBSSH_VERSION);
+#if defined(USE_SSH)
+ Curl_ssh_version(ssh_buffer, sizeof(ssh_buffer));
version_info.libssh_version = ssh_buffer;
#endif
@@ -460,6 +456,22 @@ curl_version_info_data *curl_version_info(CURLversion stamp)
version_info.brotli_version = brotli_buffer;
#endif
+#ifdef USE_NGHTTP2
+ {
+ nghttp2_info *h2 = nghttp2_version(0);
+ version_info.nghttp2_ver_num = h2->version_num;
+ version_info.nghttp2_version = h2->version_str;
+ }
+#endif
+
+#ifdef ENABLE_QUIC
+ {
+ static char quicbuffer[80];
+ Curl_quic_ver(quicbuffer, sizeof(quicbuffer));
+ version_info.quic_version = quicbuffer;
+ }
+#endif
+
(void)stamp; /* avoid compiler warnings, we don't use this */
initialized = true;