diff options
author | Werner Koch <wk@gnupg.org> | 2017-07-17 14:08:00 +0200 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2017-07-17 15:53:16 +0200 |
commit | bbbd0db34b4e387f8dc089fb7d69fdcf2ed91a01 (patch) | |
tree | 43ee25f596d5705d82ec12225c67ac6527f4455f /agent/command.c | |
parent | common: New function split_fields_colon. (diff) | |
download | gnupg2-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.c | 19 |
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; |