From 8337392d1507b70c6e3e6c6523b6eb8a843a7395 Mon Sep 17 00:00:00 2001 From: Jonathan McDowell Date: Sun, 1 May 2011 19:15:41 -0700 Subject: [PATCH] Add some more subpacket types to the list to ignore There are various signature subpacket types we know about, but have no need to decode (or it doesn't make sense to decode if we're not checking that the signature is valid). Add some more to prevent warnings when adding keys that have these subpackets present. --- decodekey.c | 32 ++++++++++++-------------------- openpgp.h | 7 +++++++ 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/decodekey.c b/decodekey.c index 0b72e5b..5b2092e 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: diff --git a/openpgp.h b/openpgp.h index dc6bf55..5ac2ee2 100644 --- a/openpgp.h +++ b/openpgp.h @@ -48,11 +48,18 @@ #define OPENPGP_SIGSUB_CREATION 2 #define OPENPGP_SIGSUB_EXPIRY 3 +#define OPENPGP_SIGSUB_EXPORTABLE 4 +#define OPENPGP_SIGSUB_TRUSTSIG 5 #define OPENPGP_SIGSUB_REGEX 6 +#define OPENPGP_SIGSUB_KEYEXPIRY 9 +#define OPENPGP_SIGSUB_PREFSYM 11 #define OPENPGP_SIGSUB_ISSUER 16 #define OPENPGP_SIGSUB_NOTATION 20 +#define OPENPGP_SIGSUB_PREFHASH 21 +#define OPENPGP_SIGSUB_PREFCOMPRESS 22 #define OPENPGP_SIGSUB_KEYSERVER 23 #define OPENPGP_SIGSUB_PRIMARYUID 25 #define OPENPGP_SIGSUB_POLICYURI 26 +#define OPENPGP_SIGSUB_KEYFLAGS 27 #endif /* __OPENPGP_H__ */ -- 2.30.2