]> the.earth.li Git - onak.git/commitdiff
Move keysigs into its only user, keydb.c
authorJonathan McDowell <noodles@earth.li>
Tue, 9 Apr 2019 14:55:02 +0000 (15:55 +0100)
committerJonathan McDowell <noodles@earth.li>
Tue, 9 Apr 2019 14:55:02 +0000 (15:55 +0100)
keysigs is only actually used within keydb.c and pulls in stats
structures unnecessarily to decodekey.c, so pull it inline.

decodekey.c
keydb.c

index 5ea48bde1f247af058b42404822da6a46c767859..0ff0625929849713a2597bf36769f009badab90c 100644 (file)
@@ -169,28 +169,6 @@ onak_status_t parse_subpackets(unsigned char *data, size_t len,
        return ONAK_E_OK;
 }
 
-/**
- *     keysigs - Return the sigs on a given OpenPGP signature list.
- *     @curll: The current linked list. Can be NULL to create a new list.
- *     @sigs: The signature list we want the sigs on.
- *
- *     Returns a linked list of stats_key elements containing the sigs on the
- *     supplied OpenPGP packet list.
- */
-struct ll *keysigs(struct ll *curll,
-               struct openpgp_packet_list *sigs)
-{
-       uint64_t keyid = 0;
-       
-       while (sigs != NULL) {
-               keyid = sig_keyid(sigs->packet);
-               sigs = sigs->next;
-               curll = lladd(curll, createandaddtohash(keyid));
-       }
-
-       return curll;
-}
-
 /**
  *     sig_info - Get info on a given OpenPGP signature packet
  *     @packet: The signature packet
diff --git a/keydb.c b/keydb.c
index cfcf75ceaba7757ca0e3fcd1b4dd7b981c9cdcaa..f92c252667a95eeb23bed61d76f763d69031e6a7 100644 (file)
--- a/keydb.c
+++ b/keydb.c
@@ -88,13 +88,19 @@ struct ll *generic_getkeysigs(struct onak_dbctx *dbctx,
 {
        struct ll *sigs = NULL;
        struct openpgp_signedpacket_list *uids = NULL;
+       struct openpgp_packet_list *cursig;
        struct openpgp_publickey *publickey = NULL;
 
        dbctx->fetch_key_id(dbctx, keyid, &publickey, false);
        
        if (publickey != NULL) {
                for (uids = publickey->uids; uids != NULL; uids = uids->next) {
-                       sigs = keysigs(sigs, uids->sigs);
+                       for (cursig = uids->sigs; cursig != NULL;
+                                       cursig = cursig->next) {
+                               sigs = lladd(sigs,
+                                               createandaddtohash(sig_keyid(
+                                                       cursig->packet)));
+                       }
                }
                if (revoked != NULL) {
                        *revoked = publickey->revoked;