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

Add server option with-ephemeral-keys.

Extend SCD LEARN command.
This commit is contained in:
Werner Koch 2009-03-18 11:18:56 +00:00
parent 370f841a01
commit a3b63ac1dc
14 changed files with 117 additions and 74 deletions

View file

@ -309,7 +309,7 @@ do_getattr (app_t app, ctrl_t ctrl, const char *name)
static void
do_learn_status_core (app_t app, ctrl_t ctrl, int is_sigg)
do_learn_status_core (app_t app, ctrl_t ctrl, unsigned int flags, int is_sigg)
{
gpg_error_t err;
char ct_buf[100], id_buf[100];
@ -332,7 +332,7 @@ do_learn_status_core (app_t app, ctrl_t ctrl, int is_sigg)
if (!!filelist[i].is_sigg != !!is_sigg)
continue;
if (filelist[i].certtype)
if (filelist[i].certtype && !(flags &1))
{
size_t len;
@ -377,7 +377,7 @@ do_learn_status_core (app_t app, ctrl_t ctrl, int is_sigg)
static gpg_error_t
do_learn_status (app_t app, ctrl_t ctrl)
do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags)
{
gpg_error_t err;
@ -385,13 +385,13 @@ do_learn_status (app_t app, ctrl_t ctrl)
if (err)
return err;
do_learn_status_core (app, ctrl, 0);
do_learn_status_core (app, ctrl, flags, 0);
err = switch_application (app, 1);
if (err)
return 0; /* Silently ignore if we can't switch to SigG. */
do_learn_status_core (app, ctrl, 1);
do_learn_status_core (app, ctrl, flags, 1);
return 0;
}