summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSébastien Helleu <flashcode@flashtux.org>2021-06-17 21:51:18 +0200
committerSébastien Helleu <flashcode@flashtux.org>2021-06-17 21:51:18 +0200
commit2225ac4e56289b1badc7a5ee9dcb522b8e8aa3f2 (patch)
treecada0254e77311ce9168e428eaf9fc6e3ee7d1aa /src
parentfa785e8668b51f80e112c7c927648635b2d4f565 (diff)
downloadweechat-2225ac4e56289b1badc7a5ee9dcb522b8e8aa3f2.zip
core: add option "certs" in command /debug
Diffstat (limited to 'src')
-rw-r--r--src/core/wee-command.c17
-rw-r--r--src/core/wee-network.c9
-rw-r--r--src/core/wee-network.h3
3 files changed, 28 insertions, 1 deletions
diff --git a/src/core/wee-command.c b/src/core/wee-command.c
index c0049a163..bfdfca50e 100644
--- a/src/core/wee-command.c
+++ b/src/core/wee-command.c
@@ -54,6 +54,7 @@
#include "wee-input.h"
#include "wee-list.h"
#include "wee-log.h"
+#include "wee-network.h"
#include "wee-proxy.h"
#include "wee-secure.h"
#include "wee-secure-buffer.h"
@@ -1927,6 +1928,18 @@ COMMAND_CALLBACK(debug)
return WEECHAT_RC_OK;
}
+ if (string_strcasecmp (argv[1], "certs") == 0)
+ {
+ gui_chat_printf (NULL,
+ NG_("%d certificate loaded (system: %d, user: %d)",
+ "%d certificates loaded (system: %d, user: %d)",
+ network_num_certs),
+ network_num_certs,
+ network_num_certs_system,
+ network_num_certs_user);
+ return WEECHAT_RC_OK;
+ }
+
if (string_strcasecmp (argv[1], "memory") == 0)
{
debug_memory ();
@@ -7444,7 +7457,7 @@ command_init ()
N_("list"
" || set <plugin> <level>"
" || dump [<plugin>]"
- " || buffer|color|infolists|memory|tags|term|windows"
+ " || buffer|color|infolists|libs|certs|memory|tags|term|windows"
" || mouse|cursor [verbose]"
" || hdata [free]"
" || time <command>"),
@@ -7463,6 +7476,7 @@ command_init ()
" hooks: display infos about hooks\n"
"infolists: display infos about infolists\n"
" libs: display infos about external libraries used\n"
+ " certs: display number of loaded trusted certificate authorities\n"
" memory: display infos about memory usage\n"
" mouse: toggle debug for mouse\n"
" tags: display tags for lines\n"
@@ -7481,6 +7495,7 @@ command_init ()
" || hooks"
" || infolists"
" || libs"
+ " || certs"
" || memory"
" || mouse verbose"
" || tags"
diff --git a/src/core/wee-network.c b/src/core/wee-network.c
index 13371a61d..8e235c983 100644
--- a/src/core/wee-network.c
+++ b/src/core/wee-network.c
@@ -68,6 +68,9 @@
int network_init_gnutls_ok = 0;
+
+int network_num_certs_system = 0; /* number of system certs loaded */
+int network_num_certs_user = 0; /* number of user certs loaded */
int network_num_certs = 0; /* number of certs loaded (system + user) */
gnutls_certificate_credentials_t gnutls_xcred; /* GnuTLS client credentials */
@@ -125,6 +128,8 @@ network_load_system_ca_file (int force_display)
rc);
}
+ network_num_certs_system = rc;
+
return rc;
}
@@ -212,6 +217,8 @@ end:
if (options)
hashtable_free (options);
+ network_num_certs_user = num_loaded;
+
return num_loaded;
}
@@ -225,6 +232,8 @@ network_load_ca_files (int force_display)
if (weechat_no_gnutls)
return;
+ network_num_certs_system = 0;
+ network_num_certs_user = 0;
network_num_certs = 0;
network_num_certs += network_load_system_ca_file (force_display);
diff --git a/src/core/wee-network.h b/src/core/wee-network.h
index dcd441c8f..d5b6621bb 100644
--- a/src/core/wee-network.h
+++ b/src/core/wee-network.h
@@ -44,6 +44,9 @@ struct t_network_socks5
};
extern int network_init_gnutls_ok;
+extern int network_num_certs_system;
+extern int network_num_certs_user;
+extern int network_num_certs;
extern void network_init_gcrypt ();
extern void network_load_ca_files (int force_display);