projects
/
onak.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cscvs to tla changeset 115
[onak.git]
/
keydb.c
diff --git
a/keydb.c
b/keydb.c
index 7cfb6a13736c04b614e1d56ea52fa0b634c626de..1eb9deff1edd1846d68993bb389ba6a375fbdb16 100644
(file)
--- a/
keydb.c
+++ b/
keydb.c
@@
-4,6
+4,8
@@
* Jonathan McDowell <noodles@earth.li>
*
* Copyright 2002 Project Purple
* Jonathan McDowell <noodles@earth.li>
*
* Copyright 2002 Project Purple
+ *
+ * $Id: keydb.c,v 1.10 2003/06/08 21:11:00 noodles Exp $
*/
/**
*/
/**
@@
-61,11
+63,13
@@
char *keyid2uid(uint64_t keyid)
/**
* getkeysigs - Gets a linked list of the signatures on a key.
* @keyid: The keyid to get the sigs for.
/**
* getkeysigs - Gets a linked list of the signatures on a key.
* @keyid: The keyid to get the sigs for.
+ * @revoked: Is the key revoked?
*
* This function gets the list of signatures on a key. Used for key
*
* This function gets the list of signatures on a key. Used for key
- * indexing and doing stats bits.
+ * indexing and doing stats bits. If revoked is non-NULL then if the key
+ * is revoked it's set to true.
*/
*/
-struct ll *getkeysigs(uint64_t keyid)
+struct ll *getkeysigs(uint64_t keyid
, bool *revoked
)
{
struct ll *sigs = NULL;
struct openpgp_signedpacket_list *uids = NULL;
{
struct ll *sigs = NULL;
struct openpgp_signedpacket_list *uids = NULL;
@@
-77,6
+81,9
@@
struct ll *getkeysigs(uint64_t keyid)
for (uids = publickey->uids; uids != NULL; uids = uids->next) {
sigs = keysigs(sigs, uids->sigs);
}
for (uids = publickey->uids; uids != NULL; uids = uids->next) {
sigs = keysigs(sigs, uids->sigs);
}
+ if (revoked != NULL) {
+ *revoked = (publickey->revocations != NULL);
+ }
free_publickey(publickey);
}
free_publickey(publickey);
}
@@
-97,6
+104,7
@@
struct ll *cached_getkeysigs(uint64_t keyid)
struct stats_key *key = NULL;
struct stats_key *signedkey = NULL;
struct ll *cursig = NULL;
struct stats_key *key = NULL;
struct stats_key *signedkey = NULL;
struct ll *cursig = NULL;
+ bool revoked = false;
if (keyid == 0) {
return NULL;
if (keyid == 0) {
return NULL;
@@
-105,7
+113,8
@@
struct ll *cached_getkeysigs(uint64_t keyid)
key = createandaddtohash(keyid);
if (key->gotsigs == false) {
key = createandaddtohash(keyid);
if (key->gotsigs == false) {
- key->sigs = getkeysigs(key->keyid);
+ key->sigs = getkeysigs(key->keyid, &revoked);
+ key->revoked = revoked;
for (cursig = key->sigs; cursig != NULL;
cursig = cursig->next) {
signedkey = (struct stats_key *) cursig->object;
for (cursig = key->sigs; cursig != NULL;
cursig = cursig->next) {
signedkey = (struct stats_key *) cursig->object;