diff options
| author | Werner Koch <[email protected]> | 2014-06-04 07:57:54 +0000 | 
|---|---|---|
| committer | Werner Koch <[email protected]> | 2014-06-04 07:57:54 +0000 | 
| commit | 4dc9af24156b4fd52c7b76e7522b9b7a64e5386a (patch) | |
| tree | 81ef546d2e6b00e5c44b8e3574a884c39065ed0e /src/gpgme-tool.c | |
| parent | Post release updates (diff) | |
| download | gpgme-4dc9af24156b4fd52c7b76e7522b9b7a64e5386a.tar.gz gpgme-4dc9af24156b4fd52c7b76e7522b9b7a64e5386a.zip | |
Add new keylist mode GPGME_KEYLIST_MODE_WITH_SECRET.
* src/gpgme.h.in (GPGME_KEYLIST_MODE_WITH_SECRET): New.
* src/engine-gpg.c (gpg_keylist_build_options): Handle new mode.
* src/engine-gpgsm.c (gpgsm_keylist, gpgsm_keylist_ext): Ditto.
* src/keylist.c (parse_sec_field15): Add arg key and take care of
--with-secret output.
* src/gpgme-tool.c (gt_get_keylist_mode, cmd_keylist_mode): Add
"with_secret".  Print card info and and secret flag for subkeys.
--
Note: This mode may only be used with GnuPG >= 2.1.
Diffstat (limited to 'src/gpgme-tool.c')
| -rw-r--r-- | src/gpgme-tool.c | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/src/gpgme-tool.c b/src/gpgme-tool.c index be8ed078..f02fffa7 100644 --- a/src/gpgme-tool.c +++ b/src/gpgme-tool.c @@ -1861,6 +1861,8 @@ gt_get_keylist_mode (gpgme_tool_t gt)      modes[idx++] = "sigs";    if (mode & GPGME_KEYLIST_MODE_SIG_NOTATIONS)      modes[idx++] = "sig_notations"; +  if (mode & GPGME_KEYLIST_MODE_WITH_SECRET) +    modes[idx++] = "with_secret";    if (mode & GPGME_KEYLIST_MODE_EPHEMERAL)      modes[idx++] = "ephemeral";    if (mode & GPGME_KEYLIST_MODE_VALIDATE) @@ -2591,6 +2593,8 @@ cmd_keylist_mode (assuan_context_t ctx, char *line)  	mode |= GPGME_KEYLIST_MODE_SIGS;        if (strstr (line, "sig_notations"))  	mode |= GPGME_KEYLIST_MODE_SIG_NOTATIONS; +      if (strstr (line, "with_secret")) +	mode |= GPGME_KEYLIST_MODE_WITH_SECRET;        if (strstr (line, "ephemeral"))  	mode |= GPGME_KEYLIST_MODE_EPHEMERAL;        if (strstr (line, "validate")) @@ -3299,6 +3303,12 @@ cmd_keylist (assuan_context_t ctx, char *line)  	    result_xml_tag_start (&state, "subkey", NULL);  	    /* FIXME: more data */  	    result_add_fpr (&state, "fpr", subkey->fpr); +            result_add_value (&state, "secret", subkey->secret); +            result_add_value (&state, "is_cardkey", subkey->is_cardkey); +            if (subkey->card_number) +              result_add_string (&state, "card_number", subkey->card_number); +            if (subkey->curve) +              result_add_string (&state, "curve", subkey->curve);  	    result_xml_tag_end (&state);  /* subkey */  	    subkey = subkey->next;  	  } | 
