diff options
Diffstat (limited to 'lib/KeyRing.hs')
-rw-r--r-- | lib/KeyRing.hs | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/lib/KeyRing.hs b/lib/KeyRing.hs index 1d52dd1..b946e54 100644 --- a/lib/KeyRing.hs +++ b/lib/KeyRing.hs | |||
@@ -73,7 +73,7 @@ import KeyRing.BuildKeyDB (Hostnames(..), | |||
73 | buildKeyDB, | 73 | buildKeyDB, |
74 | combineTransforms, | 74 | combineTransforms, |
75 | filterMatches, | 75 | filterMatches, |
76 | fingerdress, flattenKeys, | 76 | fingerdress, |
77 | generateInternals, | 77 | generateInternals, |
78 | getHostnames, getSubkeys, | 78 | getHostnames, getSubkeys, |
79 | importSecretKey, | 79 | importSecretKey, |
@@ -84,8 +84,8 @@ import KeyRing.BuildKeyDB (Hostnames(..), | |||
84 | parseSingleSpec, | 84 | parseSingleSpec, |
85 | parseSpec, readInputFileL, | 85 | parseSpec, readInputFileL, |
86 | readSecretPEMFile, | 86 | readSecretPEMFile, |
87 | secp256k1_id, seek_key, | 87 | secp256k1_id, |
88 | selectKey0, selectPublicKey, | 88 | selectPublicKey, |
89 | usageFromFilter) | 89 | usageFromFilter) |
90 | 90 | ||
91 | import KeyRing.Types | 91 | import KeyRing.Types |
@@ -412,10 +412,10 @@ selectPublicKeyAndSigs :: (KeySpec,Maybe String) -> KeyDB -> [(KeyKey,Packet,[Pa | |||
412 | selectPublicKeyAndSigs (spec,mtag) db = | 412 | selectPublicKeyAndSigs (spec,mtag) db = |
413 | case mtag of | 413 | case mtag of |
414 | Nothing -> do | 414 | Nothing -> do |
415 | (kk,r) <- Map.toList $ fmap (findbyspec spec) (byKeyKey db) | 415 | (kk,r) <- fmap (second $ findbyspec spec) (kkData db) |
416 | (sub,sigs) <- r | 416 | (sub,sigs) <- r |
417 | return (kk,sub,sigs) | 417 | return (kk,sub,sigs) |
418 | Just tag -> Map.toList (Map.filter (matchSpec spec) (byKeyKey db)) >>= findsubs tag | 418 | Just tag -> filterMatches spec (kkData db) >>= findsubs tag |
419 | where | 419 | where |
420 | topresult kd = (keyPacket kd, map (packet .fst) $ keySigAndTrusts kd) | 420 | topresult kd = (keyPacket kd, map (packet .fst) $ keySigAndTrusts kd) |
421 | 421 | ||
@@ -600,7 +600,7 @@ coinKeysOwnedBy :: KeyDB -> Maybe Packet -> [(CryptoCoins.CoinNetwork,MappedPack | |||
600 | coinKeysOwnedBy db wk = do | 600 | coinKeysOwnedBy db wk = do |
601 | wk <- maybeToList wk | 601 | wk <- maybeToList wk |
602 | let kk = keykey wk | 602 | let kk = keykey wk |
603 | KeyData top topsigs uids subs <- maybeToList $ Map.lookup kk (byKeyKey db) | 603 | KeyData top topsigs uids subs <- maybeToList $ lookupKeyData kk db |
604 | (subkk,SubKey mp sigs) <- Map.toList subs | 604 | (subkk,SubKey mp sigs) <- Map.toList subs |
605 | let sub = packet mp | 605 | let sub = packet mp |
606 | guard $ isCryptoCoinKey sub | 606 | guard $ isCryptoCoinKey sub |
@@ -664,7 +664,7 @@ guardAuthentic rt keydata = guard (isauth rt keydata) | |||
664 | 664 | ||
665 | isauth :: KeyRingRuntime -> KeyData -> Bool | 665 | isauth :: KeyRingRuntime -> KeyData -> Bool |
666 | isauth rt keydata = dont_have keydata && maybe False (`has_good_sig` keydata) wk | 666 | isauth rt keydata = dont_have keydata && maybe False (`has_good_sig` keydata) wk |
667 | where wk = workingKey (rtGrip rt) (byKeyKey $ rtKeyDB rt) | 667 | where wk = workingKey (rtGrip rt) (rtKeyDB rt) |
668 | dont_have (KeyData p _ _ _) = not . Map.member (rtPubring rt) | 668 | dont_have (KeyData p _ _ _) = not . Map.member (rtPubring rt) |
669 | $ locations p | 669 | $ locations p |
670 | has_good_sig wk (KeyData k sigs uids subs) = any goodsig $ Map.toList uids | 670 | has_good_sig wk (KeyData k sigs uids subs) = any goodsig $ Map.toList uids |
@@ -676,7 +676,7 @@ isauth rt keydata = dont_have keydata && maybe False (`has_good_sig` keydata) wk | |||
676 | 676 | ||
677 | workingKey grip use_db = listToMaybe $ do | 677 | workingKey grip use_db = listToMaybe $ do |
678 | fp <- maybeToList grip | 678 | fp <- maybeToList grip |
679 | elm <- Map.elems use_db | 679 | elm <- keyData use_db |
680 | guard $ matchSpec (KeyGrip fp) elm | 680 | guard $ matchSpec (KeyGrip fp) elm |
681 | return $ keyPacket elm | 681 | return $ keyPacket elm |
682 | 682 | ||
@@ -731,7 +731,7 @@ writeRingKeys krd rt {- db wk secring pubring -} unspilled report_manips = do | |||
731 | (error $ f ++ ": write public or secret key to file?") | 731 | (error $ f ++ ": write public or secret key to file?") |
732 | importByExistingMaster kd@(KeyData p _ _ _) = | 732 | importByExistingMaster kd@(KeyData p _ _ _) = |
733 | fmap originallyPublic $ Map.lookup f $ locations p | 733 | fmap originallyPublic $ Map.lookup f $ locations p |
734 | d <- sortByHint f keyMappedPacket (Map.elems $ byKeyKey db') | 734 | d <- sortByHint f keyMappedPacket (keyData db') |
735 | acc <- maybeToList $ Map.lookup f0 (rtRingAccess rt) | 735 | acc <- maybeToList $ Map.lookup f0 (rtRingAccess rt) |
736 | only_public <- maybeToList $ wantedForFill acc (fill stream) d | 736 | only_public <- maybeToList $ wantedForFill acc (fill stream) d |
737 | guard $ only_public || isSecretKey (keyPacket d) | 737 | guard $ only_public || isSecretKey (keyPacket d) |
@@ -984,7 +984,7 @@ initializeMissingPEMFiles operation ctx grip mwk transcode db = do | |||
984 | -- ms = map (keykey . fst) $ selectAll True (topspec,subspec) db | 984 | -- ms = map (keykey . fst) $ selectAll True (topspec,subspec) db |
985 | -- ms = filterMatches topspec $ Map.toList db | 985 | -- ms = filterMatches topspec $ Map.toList db |
986 | ns = do | 986 | ns = do |
987 | (kk,kd) <- filterMatches topspec $ Map.toList $ byKeyKey db | 987 | (kk,kd) <- filterMatches topspec $ kkData db |
988 | return (kk , subkeysForExport subspec kd) | 988 | return (kk , subkeysForExport subspec kd) |
989 | return (fname,subspec,ns,stream) | 989 | return (fname,subspec,ns,stream) |
990 | (exports0,ambiguous) = partition (\(_,_,ns,_)->null $ drop 1 $ (ns>>=snd)) | 990 | (exports0,ambiguous) = partition (\(_,_,ns,_)->null $ drop 1 $ (ns>>=snd)) |
@@ -1032,7 +1032,7 @@ initializeMissingPEMFiles operation ctx grip mwk transcode db = do | |||
1032 | usage <- take 1 $ mapMaybe usageFromFilter [fill stream,spill stream] | 1032 | usage <- take 1 $ mapMaybe usageFromFilter [fill stream,spill stream] |
1033 | let (topspec,subspec) = parseSpec (fromMaybe "" grip) usage | 1033 | let (topspec,subspec) = parseSpec (fromMaybe "" grip) usage |
1034 | guard $ null $ do | 1034 | guard $ null $ do |
1035 | (kk,kd) <- filterMatches topspec $ Map.toList $ byKeyKey db | 1035 | (kk,kd) <- filterMatches topspec $ kkData db |
1036 | subkeysForExport subspec kd | 1036 | subkeysForExport subspec kd |
1037 | return (f,stream) | 1037 | return (f,stream) |
1038 | where | 1038 | where |