mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
gpgsm: Add compatibility flag no-keyinfo-cache
* sm/gpgsm.c (compatibility_flags): Add flag. * sm/gpgsm.h (COMPAT_NO_KEYINFO_CACHE): New. * sm/call-agent.c (gpgsm_agent_istrusted): Act upon it. (gpgsm_agent_keyinfo): Ditto.
This commit is contained in:
parent
241971fac0
commit
f8f6c6c761
@ -1028,6 +1028,9 @@ gpgsm_agent_istrusted (ctrl_t ctrl, ksba_cert_t cert, const char *hexfpr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* First try to get the info from the cache. */
|
/* First try to get the info from the cache. */
|
||||||
|
if ((opt.compat_flags & COMPAT_NO_KEYINFO_CACHE))
|
||||||
|
istrusted_cache_disabled = 1;
|
||||||
|
|
||||||
if (!istrusted_cache_disabled && !istrusted_cache_valid)
|
if (!istrusted_cache_disabled && !istrusted_cache_valid)
|
||||||
{
|
{
|
||||||
/* Cache is empty - fill it. */
|
/* Cache is empty - fill it. */
|
||||||
@ -1462,6 +1465,9 @@ gpgsm_agent_keyinfo (ctrl_t ctrl, const char *hexkeygrip, char **r_serialno)
|
|||||||
return gpg_error (GPG_ERR_INV_VALUE);
|
return gpg_error (GPG_ERR_INV_VALUE);
|
||||||
|
|
||||||
/* First try to fill the cache. */
|
/* First try to fill the cache. */
|
||||||
|
if ((opt.compat_flags & COMPAT_NO_KEYINFO_CACHE))
|
||||||
|
keyinfo_cache_disabled = 1;
|
||||||
|
|
||||||
if (!keyinfo_cache_disabled && !ctrl->keyinfo_cache_valid)
|
if (!keyinfo_cache_disabled && !ctrl->keyinfo_cache_valid)
|
||||||
{
|
{
|
||||||
parm.fill_mode = 1;
|
parm.fill_mode = 1;
|
||||||
|
@ -501,6 +501,7 @@ static struct compatibility_flags_s compatibility_flags [] =
|
|||||||
{
|
{
|
||||||
{ COMPAT_ALLOW_KA_TO_ENCR, "allow-ka-to-encr" },
|
{ COMPAT_ALLOW_KA_TO_ENCR, "allow-ka-to-encr" },
|
||||||
{ COMPAT_NO_CHAIN_CACHE, "no-chain-cache" },
|
{ COMPAT_NO_CHAIN_CACHE, "no-chain-cache" },
|
||||||
|
{ COMPAT_NO_KEYINFO_CACHE, "no-keyinfo-cache" },
|
||||||
{ 0, NULL }
|
{ 0, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -223,6 +223,8 @@ struct
|
|||||||
/* Not actually a compatibiliy flag but useful to limit the
|
/* Not actually a compatibiliy flag but useful to limit the
|
||||||
* required memory for a validated key listing. */
|
* required memory for a validated key listing. */
|
||||||
#define COMPAT_NO_CHAIN_CACHE 2
|
#define COMPAT_NO_CHAIN_CACHE 2
|
||||||
|
/* Ditto. But here to disable the keyinfo and istrusted cache. */
|
||||||
|
#define COMPAT_NO_KEYINFO_CACHE 4
|
||||||
|
|
||||||
/* Forward declaration for an object defined in server.c */
|
/* Forward declaration for an object defined in server.c */
|
||||||
struct server_local_s;
|
struct server_local_s;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user