#include "ll.h"
+/* v3 MD5 fingerprint is 16 characters, v4 SHA-1 fingerprint is 20 */
+#define MAX_FINGERPRINT_LEN 20
+
+/**
+ * @brief Stores the fingerprint of an OpenPGP key
+ */
+struct openpgp_fingerprint {
+ /** Length of fingerprint. 16 bytes for v3, 20 for v4 */
+ size_t length;
+ /** Fingerprint data. Only the first length bytes are valid */
+ uint8_t fp[MAX_FINGERPRINT_LEN];
+};
+
/**
* @brief Stores an OpenPGP packet.
*
struct openpgp_publickey *next;
};
-/**
- * @brief Holds key details suitable for doing stats on.
- */
-struct stats_key {
- /** The keyid. */
- uint64_t keyid;
- /** Used for marking during DFS/BFS. */
- int colour;
- /** The key that lead us to this one for DFS/BFS. */
- uint64_t parent;
- /** A linked list of the signatures on this key. */
- struct ll *sigs;
- /** A linked list of the keys this key signs. */
- struct ll *signs;
- /** A bool indicating if we've initialized the sigs element yet. */
- bool gotsigs;
- /** If we shouldn't consider the key in calculations. */
- bool disabled;
- /** If the key is revoked (and shouldn't be considered). */
- bool revoked;
-};
-
/**
* @brief Holds an SKS key hash (md5 over sorted packet list)
*/