]> the.earth.li Git - onak.git/blobdiff - keystructs.h
Bump debhelper compat level to 13
[onak.git] / keystructs.h
index efa9a99e6daf4bb1517a12ab69d08d593f8b7421..18a9ba4ce12ca29017bafab63e256ed5d3ecc8a4 100644 (file)
@@ -14,8 +14,7 @@
  * more details.
  *
  * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 51
- * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 
 #ifndef __KEYSTRUCTS_H__
 
 #include "ll.h"
 
+/*
+ * Fingerprint lengths
+ *
+ * v3 MD5 fingerprint is 16 bytes
+ * v4 SHA-1 fingerprint is 20
+ * v5 SHA2-256 fingerprint is 32
+ */
+#define FINGERPRINT_V3_LEN     16
+#define FINGERPRINT_V4_LEN     20
+#define FINGERPRINT_V5_LEN     32
+#define MAX_FINGERPRINT_LEN    32
+
+/**
+ * @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.
  *
@@ -99,28 +120,6 @@ struct openpgp_publickey {
        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)
  */