1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00

* app-common.h: New members FNC.DEINIT and APP_LOCAL.

* app.c (release_application): Call new deconstructor.
* app-openpgp.c (do_deinit): New.
(get_cached_data, flush_cache_item, flush_cache_after_error)
(flush_cache): New.
(get_one_do): Replaced arg SLOT by APP.  Make used of cached data.
(verify_chv2, verify_chv3): Flush some cache item after error.
(do_change_pin): Ditto.
(do_sign): Ditto.
(do_setattr): Flush cache item.
(do_genkey): Flush the entire cache.
(compare_fingerprint): Use cached data.
This commit is contained in:
Werner Koch 2004-04-26 18:28:06 +00:00
parent 6efe46d4ff
commit 869a2bbad2
4 changed files with 235 additions and 33 deletions

View file

@ -23,6 +23,8 @@
#include <ksba.h>
struct app_local_s; /* Defined by all app-*.c. */
struct app_ctx_s {
int initialized; /* The application has been initialied and the
function pointers may be used. Note that for
@ -37,7 +39,9 @@ struct app_ctx_s {
int force_chv1; /* True if the card does not cache CHV1. */
int did_chv2;
int did_chv3;
struct app_local_s *app_local; /* Local to the application. */
struct {
void (*deinit) (app_t app);
int (*learn_status) (app_t app, ctrl_t ctrl);
int (*readcert) (app_t app, const char *certid,
unsigned char **cert, size_t *certlen);
@ -75,7 +79,6 @@ struct app_ctx_s {
void *pincb_arg);
} fnc;
};
#if GNUPG_MAJOR_VERSION == 1