diff --git a/sm/ChangeLog b/sm/ChangeLog index 9babf133c..dd469ae16 100644 --- a/sm/ChangeLog +++ b/sm/ChangeLog @@ -1,3 +1,10 @@ +2006-10-02 Marcus Brinkmann + + * server.c (register_commands): New commands DUMPKEYS and + DUMPSECRETKEYS. + (cmd_dumpkeys, cmd_dumpsecretkeys): New functions. + (option_handler): Support with-key-data option. + 2006-09-26 Werner Koch * certchain.c (gpgsm_validate_chain): More changes for the relax diff --git a/sm/server.c b/sm/server.c index 16475f66e..4054c1857 100644 --- a/sm/server.c +++ b/sm/server.c @@ -182,6 +182,10 @@ option_handler (assuan_context_t ctx, const char *key, const char *value) int i = *value? atoi (value) : 0; ctrl->with_validation = i; } + else if (!strcmp (key, "with-key-data")) + { + opt.with_key_data = 1; + } else return gpg_error (GPG_ERR_UNKNOWN_OPTION); @@ -644,7 +648,9 @@ cmd_message (assuan_context_t ctx, char *line) } /* LISTKEYS [] + DUMPKEYS [] LISTSECRETKEYS [] + DUMPSECRETKEYS [] */ static int do_listkeys (assuan_context_t ctx, char *line, int mode) @@ -716,12 +722,24 @@ cmd_listkeys (assuan_context_t ctx, char *line) return do_listkeys (ctx, line, 3); } +static int +cmd_dumpkeys (assuan_context_t ctx, char *line) +{ + return do_listkeys (ctx, line, 259); +} + static int cmd_listsecretkeys (assuan_context_t ctx, char *line) { return do_listkeys (ctx, line, 2); } +static int +cmd_dumpsecretkeys (assuan_context_t ctx, char *line) +{ + return do_listkeys (ctx, line, 258); +} + /* GENKEY @@ -780,7 +798,9 @@ register_commands (assuan_context_t ctx) { "OUTPUT", NULL }, { "MESSAGE", cmd_message }, { "LISTKEYS", cmd_listkeys }, + { "DUMPKEYS", cmd_dumpkeys }, { "LISTSECRETKEYS",cmd_listsecretkeys }, + { "DUMPSECRETKEYS",cmd_dumpsecretkeys }, { "GENKEY", cmd_genkey }, { "DELKEYS", cmd_delkeys }, { NULL }