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

* keydb.h, getkey.c (key_byname): Flag to enable or disable including

disabled keys.  Keys specified via keyid (i.e. 0x...) are always included.

* getkey.c (get_pubkey_byname, get_seckey_byname2, get_seckey_bynames),
keyedit.c (keyedit_menu, menu_addrevoker): Include disabled keys in these
functions.

* pkclist.c (build_pk_list): Do not include disabled keys for -r or the
key prompt.  Do include disabled keys for the default key and
--encrypt-to.

* trustdb.h, trustdb.c (is_disabled): New skipfnc for skipping disabled
keys.

* gpgv.c (is_disabled): Stub.
This commit is contained in:
David Shaw 2002-12-19 04:47:12 +00:00
parent bafb6ebf27
commit fd75f7daac
8 changed files with 91 additions and 14 deletions

View file

@ -736,6 +736,44 @@ clear_validity (PKT_public_key *pk)
********* Query trustdb values **************
***********************************************/
/* Return true if key is disabled */
int
is_disabled(void *dummy,u32 *keyid)
{
int rc;
TRUSTREC trec;
int disabled=0; /* default to not disabled */
PKT_public_key *pk=m_alloc_clear(sizeof(PKT_public_key));
init_trustdb ();
/* Note that get_pubkey returns the main key if keyid points to a
subkey. That's a good thing here. */
rc = get_pubkey(pk, keyid);
if(rc)
{
log_error("error checking disabled status of %08lX: %s\n",
(ulong)keyid[1],g10_errstr(rc));
goto leave;
}
rc = read_trust_record (pk, &trec);
if (rc && rc != -1)
{
tdbio_invalid ();
goto leave;
}
if (rc == -1) /* no record found, so assume not disabled */
goto leave;
if(trec.r.trust.ownertrust & TRUST_FLAG_DISABLED)
disabled=1;
leave:
free_public_key(pk);
return disabled;
}
/*
* Return the validity information for PK. If the namehash is not
* NULL, the validity of the corresponsing user ID is returned,