summaryrefslogtreecommitdiffstats
path: root/agent/command.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2017-07-17 14:08:00 +0200
committerWerner Koch <wk@gnupg.org>2017-07-17 15:53:16 +0200
commitbbbd0db34b4e387f8dc089fb7d69fdcf2ed91a01 (patch)
tree43ee25f596d5705d82ec12225c67ac6527f4455f /agent/command.c
parentcommon: New function split_fields_colon. (diff)
downloadgnupg2-bbbd0db34b4e387f8dc089fb7d69fdcf2ed91a01.tar.xz
gnupg2-bbbd0db34b4e387f8dc089fb7d69fdcf2ed91a01.zip
agent: New GETINFO sub-command jent_active.
* agent/command.c (cmd_getinfo): Implement it for gcrypt >= 1.8. -- For the de-vs compliance of gpg we need to check whether the Jitter RNG is used on Windows. This change allows to test this for gpg-agent. Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to '')
-rw-r--r--agent/command.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/agent/command.c b/agent/command.c
index d3708217c..e387db549 100644
--- a/agent/command.c
+++ b/agent/command.c
@@ -2852,6 +2852,7 @@ static const char hlp_getinfo[] =
" cmd_has_option\n"
" - Returns OK if the command CMD implements the option OPT.\n"
" connections - Return number of active connections.\n"
+ " jent_active - Returns OK if Libgcrypt's JENT is active.\n"
" restricted - Returns OK if the connection is in restricted mode.\n";
static gpg_error_t
cmd_getinfo (assuan_context_t ctx, char *line)
@@ -2992,6 +2993,24 @@ cmd_getinfo (assuan_context_t ctx, char *line)
get_agent_active_connection_count ());
rc = assuan_send_data (ctx, numbuf, strlen (numbuf));
}
+ else if (!strcmp (line, "jent_active"))
+ {
+#if GCRYPT_VERSION_NUMBER >= 0x010800
+ char *buf;
+ char *fields[5];
+
+ buf = gcry_get_config (0, "rng-type");
+ if (buf
+ && split_fields_colon (buf, fields, DIM (fields)) >= 5
+ && atoi (fields[4]) > 0)
+ rc = 0;
+ else
+ rc = gpg_error (GPG_ERR_FALSE);
+ gcry_free (buf);
+#else
+ rc = gpg_error (GPG_ERR_FALSE);
+#endif
+ }
else
rc = set_error (GPG_ERR_ASS_PARAMETER, "unknown value for WHAT");
return rc;