X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/blobdiff_plain/5e1b22d763640c4d7a09d07920403d8d491b4410..94ffe75fd3251c74320167cf94604e73fdb99dfc:/decodekey.c?ds=inline diff --git a/decodekey.c b/decodekey.c index 0b72e5b..b4f7ceb 100644 --- a/decodekey.c +++ b/decodekey.c @@ -82,16 +82,10 @@ int parse_subpackets(unsigned char *data, uint64_t *keyid, time_t *creation) *creation = data[offset + packetlen - 1]; } break; - case OPENPGP_SIGSUB_EXPIRY: /* * Signature expiration time. Might want to output this? */ break; - case OPENPGP_SIGSUB_REGEX: - /* - * Regular expression for UIDs this sig is over. - */ - break; case OPENPGP_SIGSUB_ISSUER: if (keyid != NULL) { *keyid = data[offset+packetlen - 8]; @@ -111,25 +105,23 @@ int parse_subpackets(unsigned char *data, uint64_t *keyid, time_t *creation) *keyid += data[offset+packetlen - 1]; } break; + case OPENPGP_SIGSUB_EXPIRY: + case OPENPGP_SIGSUB_EXPORTABLE: + case OPENPGP_SIGSUB_TRUSTSIG: + case OPENPGP_SIGSUB_REGEX: + case OPENPGP_SIGSUB_KEYEXPIRY: + case OPENPGP_SIGSUB_PREFSYM: case OPENPGP_SIGSUB_NOTATION: - /* - * Annotation data. - */ - break; - + case OPENPGP_SIGSUB_PREFHASH: + case OPENPGP_SIGSUB_PREFCOMPRESS: case OPENPGP_SIGSUB_KEYSERVER: - /* - * Key server preferences. Including no-modify. - */ - break; case OPENPGP_SIGSUB_PRIMARYUID: - /* - * Primary UID. - */ - break; case OPENPGP_SIGSUB_POLICYURI: + case OPENPGP_SIGSUB_KEYFLAGS: /* - * Policy URI. + * Various subpacket types we know about, but don't + * currently handle. Some are candidates for being + * supported if we add signature checking support. */ break; default: @@ -323,13 +315,13 @@ uint64_t *keysubkeys(struct openpgp_publickey *key) struct openpgp_signedpacket_list *cursubkey = NULL; uint64_t *subkeys = NULL; int count = 0; - + if (key != NULL && key->subkeys != NULL) { subkeys = malloc((spsize(key->subkeys) + 1) * sizeof (uint64_t)); cursubkey = key->subkeys; while (cursubkey != NULL) { - subkeys[count++] = get_packetid(cursubkey->packet); + get_packetid(cursubkey->packet, &subkeys[count++]); cursubkey = cursubkey -> next; } subkeys[count] = 0;