X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=keystructs.h;h=9ec6ebf6aaab8aca9ed9094fa9addd0d56d0f718;hb=adc800dbc424a1e246dd4a82a0c2e88eeda25531;hp=efa9a99e6daf4bb1517a12ab69d08d593f8b7421;hpb=d38e1f468376f8b19b208f2da4d20cb2919875dd;p=onak.git diff --git a/keystructs.h b/keystructs.h index efa9a99..9ec6ebf 100644 --- a/keystructs.h +++ b/keystructs.h @@ -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 . */ #ifndef __KEYSTRUCTS_H__ @@ -27,6 +26,19 @@ #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. * @@ -99,28 +111,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) */