1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00
gnupg/sm
Werner Koch 9087c1d363
gpgsm: Implement a cache for the KEYINFO queries.
* sm/gpgsm.h (struct keyinfo_cache_item_s): New.
(struct server_control_s): Add keyinfo_cache and keyinfo_cache_valid.
* sm/call-agent.c (keyinfo_cache_disabled): New flag.
(release_a_keyinfo_cache): New.
(gpgsm_flush_keyinfo_cache): New.
(struct keyinfo_status_parm_s): New.
(keyinfo_status_cb): Implement a fill mode.
(gpgsm_agent_keyinfo): Implement a cache.
* sm/server.c (reset_notify): Flush the cache.
* sm/gpgsm.c (gpgsm_deinit_default_ctrl): Ditto.
--

In almost all cases we have just a few private keys in the agent and
thus it is better to fetch them early.  This does not work in a
restricted connection but we take care and disable the cache in this
case.

This cache gives a a minor speed up.

GnuPG-bug-id: 7308
(cherry picked from commit 241971fac0)
2024-10-04 09:40:04 +02:00
..
call-agent.c gpgsm: Implement a cache for the KEYINFO queries. 2024-10-04 09:40:04 +02:00
call-dirmngr.c sm: Fix use of value NONE in gnupg_isotime_t type. 2023-08-28 08:39:16 +02:00
certchain.c gpgsm: Use a cache to speed up parent certificate lookup. 2024-09-30 19:05:41 +02:00
certcheck.c gpgsm: Avoid double free when checking rsaPSS signatures. 2024-05-29 11:58:27 +02:00
certdump.c sm: Fix a bug in the rfc2253 parser 2020-08-28 09:09:34 +02:00
certlist.c gpgsm: Add --always-trust feature. 2023-08-31 11:13:38 +02:00
certreqgen-ui.c gpgsm: Cleanup the use of GCRY_PK_ECC and GCRY_PK_ECDSA. 2022-11-14 18:16:49 +01:00
certreqgen.c gpg,gpgsm: Remove compatibility_flags allow-ecc-encr and vsd-allow-encr. 2024-05-06 14:34:48 +02:00
ChangeLog-2011 Generate the ChangeLog from commit logs. 2011-12-01 11:09:02 +01:00
decrypt.c gpgsm: Support ECDSA in de-vs mode. 2023-11-08 17:16:31 +01:00
delete.c sm: Fix issuer certificate look error due to legacy error code. 2023-02-24 17:46:39 +01:00
encrypt.c gpg,gpgsm: Remove compatibility_flags allow-ecc-encr and vsd-allow-encr. 2024-05-06 14:34:48 +02:00
export.c sm: Fix issuer certificate look error due to legacy error code. 2023-02-24 17:46:39 +01:00
fingerprint.c sm: Flag Brainpool curves as compliant for all other operations. 2023-10-24 14:51:16 +02:00
gpgsm-w32info.rc w32: Add manifest files to most binaries 2020-10-02 17:04:12 +02:00
gpgsm.c gpgsm: Implement a cache for the KEYINFO queries. 2024-10-04 09:40:04 +02:00
gpgsm.h gpgsm: Implement a cache for the KEYINFO queries. 2024-10-04 09:40:04 +02:00
gpgsm.w32-manifest.in w32: Add missing manifests and set a requestedExecutionLevel. 2023-05-25 11:10:21 +02:00
import.c sm: Support import of PKCS#12 encoded ECC private keys. 2023-10-17 16:40:49 +02:00
keydb.c sm: Fix issuer certificate look error due to legacy error code. 2023-02-24 17:46:39 +01:00
keydb.h sm: On Windows close the kbx files at several places. 2021-03-02 19:01:07 +01:00
keylist.c gpgsm: Set validity flag in keylisting to n for untrusted root cert. 2023-11-27 12:34:38 +01:00
Makefile.am sm: Complete rewrite of the PKCS#12 parser 2023-07-05 14:21:16 +02:00
minip12.c gpgsm: Possible improvement for some rare P12 files. 2024-10-01 12:41:03 +02:00
minip12.h sm: Complete rewrite of the PKCS#12 parser 2023-07-05 14:21:16 +02:00
misc.c gpgsm: Some more ECC support backported. 2022-11-14 17:23:06 +01:00
passphrase.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
passphrase.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
qualified.c Replace most of the remaining stdio calls by estream calls. 2020-10-21 21:09:38 +02:00
server.c gpgsm: Implement a cache for the KEYINFO queries. 2024-10-04 09:40:04 +02:00
sign.c gpgsm: Support ECDSA in de-vs mode. 2023-11-08 17:16:31 +01:00
t-minip12.c sm: Minor robustness fix for a regression test. 2023-10-17 16:42:33 +02:00
verify.c gpgsm: Support ECDSA in de-vs mode. 2023-11-08 17:16:31 +01:00