diff options
-rw-r--r-- | lib/KeyDB.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/KeyDB.hs b/lib/KeyDB.hs index 5e74ea4..0bc0fb3 100644 --- a/lib/KeyDB.hs +++ b/lib/KeyDB.hs | |||
@@ -10,6 +10,8 @@ module KeyDB | |||
10 | , kkData | 10 | , kkData |
11 | , lookupKeyData | 11 | , lookupKeyData |
12 | , lookupByGrip | 12 | , lookupByGrip |
13 | , fingerprintGrip | ||
14 | , smallprGrip | ||
13 | , transmute | 15 | , transmute |
14 | , transmuteAt | 16 | , transmuteAt |
15 | , alterKeyDB | 17 | , alterKeyDB |
@@ -37,6 +39,7 @@ import Data.Maybe | |||
37 | import Data.OpenPGP | 39 | import Data.OpenPGP |
38 | import Data.Ord | 40 | import Data.Ord |
39 | import Foreign.Storable | 41 | import Foreign.Storable |
42 | import Text.Read | ||
40 | 43 | ||
41 | import Data.List.Merge | 44 | import Data.List.Merge |
42 | import Data.OpenPGP.Util | 45 | import Data.OpenPGP.Util |
@@ -68,6 +71,9 @@ fingerprintGrip (Fingerprint bs) = | |||
68 | case decode $ L.fromStrict $ S.drop (S.length bs - sizeOf (0::Int)) bs of | 71 | case decode $ L.fromStrict $ S.drop (S.length bs - sizeOf (0::Int)) bs of |
69 | i -> KeyInt i | 72 | i -> KeyInt i |
70 | 73 | ||
74 | smallprGrip :: String -> Maybe KeyGrip | ||
75 | smallprGrip pr = KeyInt <$> readMaybe ("0x" ++ drop (length pr - 2 * sizeOf (0::Int)) pr) | ||
76 | |||
71 | data KeyDB = KeyDB | 77 | data KeyDB = KeyDB |
72 | { byKeyKey :: Map.Map KeyKey KeyData | 78 | { byKeyKey :: Map.Map KeyKey KeyData |
73 | , byGrip :: IMap KeyGrip [KeyKey] | 79 | , byGrip :: IMap KeyGrip [KeyKey] |