diff options
author | Werner Koch <[email protected]> | 2002-08-02 10:15:39 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2002-08-02 10:15:39 +0000 |
commit | 4493a9603b65fa7b39f05452c86451766c3aa036 (patch) | |
tree | f04008f988bac60162bc6e7b382d574f024c188f /g10/delkey.c | |
parent | * config.links: Added case for sparc64-netbsd. Suggested by (diff) | |
download | gnupg-4493a9603b65fa7b39f05452c86451766c3aa036.tar.gz gnupg-4493a9603b65fa7b39f05452c86451766c3aa036.zip |
* delkey.c (do_delete_key): Always allow to delete a key in batch mode
when specified by fingerprint. Suggested by Enzo Michelangeli.
Diffstat (limited to 'g10/delkey.c')
-rw-r--r-- | g10/delkey.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/g10/delkey.c b/g10/delkey.c index f9d882113..ca578a590 100644 --- a/g10/delkey.c +++ b/g10/delkey.c @@ -59,11 +59,15 @@ do_delete_key( const char *username, int secret, int *r_sec_avail ) int okay=0; int yes; KEYDB_SEARCH_DESC desc; + int exactmatch; *r_sec_avail = 0; /* search the userid */ classify_user_id (username, &desc); + exactmatch = (desc.mode == KEYDB_SEARCH_MODE_FPR + || desc.mode == KEYDB_SEARCH_MODE_FPR16 + || desc.mode == KEYDB_SEARCH_MODE_FPR20); rc = desc.mode? keydb_search (hd, &desc, 1):G10ERR_INV_USER_ID; if (rc) { log_error (_("key `%s' not found: %s\n"), username, g10_errstr (rc)); @@ -108,12 +112,20 @@ do_delete_key( const char *username, int secret, int *r_sec_avail ) if( rc ) rc = 0; + else if (opt.batch && exactmatch) + okay++; else if( opt.batch && secret ) + { log_error(_("can't do that in batchmode\n")); + log_info (_("(unless you specify the key by fingerprint)\n")); + } else if( opt.batch && opt.answer_yes ) okay++; else if( opt.batch ) + { log_error(_("can't do that in batchmode without \"--yes\"\n")); + log_info (_("(unless you specify the key by fingerprint)\n")); + } else { char *p; size_t n; |