Add some more subpacket types to the list to ignore
authorJonathan McDowell <noodles@earth.li>
Mon, 2 May 2011 02:15:41 +0000 (19:15 -0700)
committerJonathan McDowell <noodles@earth.li>
Mon, 2 May 2011 02:15:41 +0000 (19:15 -0700)
  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
openpgp.h

index 0b72e5b918699c98414863e64bb3e322d078bd21..5b2092e024c0b6016e9a77b679fc1c8006f2f019 100644 (file)
@@ -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:
index dc6bf558cf2295a74a5c7837e3dacca33273b6e1..5ac2ee2a428a428f406048979d4d5256d67e57c1 100644 (file)
--- a/openpgp.h
+++ b/openpgp.h
 
 #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__ */