From 352b340868f52d4749180c1ceb63e599170abada Mon Sep 17 00:00:00 2001 From: Joe Crayne Date: Thu, 11 Jul 2019 23:43:16 -0400 Subject: Promote KeyDB to a type. --- lib/KeyRing.hs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'lib/KeyRing.hs') diff --git a/lib/KeyRing.hs b/lib/KeyRing.hs index bc3af6a..c40eba7 100644 --- a/lib/KeyRing.hs +++ b/lib/KeyRing.hs @@ -437,10 +437,10 @@ selectPublicKeyAndSigs :: (KeySpec,Maybe String) -> KeyDB -> [(KeyKey,Packet,[Pa selectPublicKeyAndSigs (spec,mtag) db = case mtag of Nothing -> do - (kk,r) <- Map.toList $ fmap (findbyspec spec) db + (kk,r) <- Map.toList $ fmap (findbyspec spec) (byKeyKey db) (sub,sigs) <- r return (kk,sub,sigs) - Just tag -> Map.toList (Map.filter (matchSpec spec) db) >>= findsubs tag + Just tag -> Map.toList (Map.filter (matchSpec spec) (byKeyKey db)) >>= findsubs tag where topresult kd = (keyPacket kd, map (packet .fst) $ keySigAndTrusts kd) @@ -625,7 +625,7 @@ coinKeysOwnedBy :: KeyDB -> Maybe Packet -> [(CryptoCoins.CoinNetwork,MappedPack coinKeysOwnedBy db wk = do wk <- maybeToList wk let kk = keykey wk - KeyData top topsigs uids subs <- maybeToList $ Map.lookup kk db + KeyData top topsigs uids subs <- maybeToList $ Map.lookup kk (byKeyKey db) (subkk,SubKey mp sigs) <- Map.toList subs let sub = packet mp guard $ isCryptoCoinKey sub @@ -689,7 +689,7 @@ guardAuthentic rt keydata = guard (isauth rt keydata) isauth :: KeyRingRuntime -> KeyData -> Bool isauth rt keydata = dont_have keydata && maybe False (`has_good_sig` keydata) wk - where wk = workingKey (rtGrip rt) (rtKeyDB rt) + where wk = workingKey (rtGrip rt) (byKeyKey $ rtKeyDB rt) dont_have (KeyData p _ _ _) = not . Map.member (rtPubring rt) $ locations p has_good_sig wk (KeyData k sigs uids subs) = any goodsig $ Map.toList uids @@ -756,7 +756,7 @@ writeRingKeys krd rt {- db wk secring pubring -} unspilled report_manips = do (error $ f ++ ": write public or secret key to file?") importByExistingMaster kd@(KeyData p _ _ _) = fmap originallyPublic $ Map.lookup f $ locations p - d <- sortByHint f keyMappedPacket (Map.elems db') + d <- sortByHint f keyMappedPacket (Map.elems $ byKeyKey db') acc <- maybeToList $ Map.lookup f0 (rtRingAccess rt) only_public <- maybeToList $ wantedForFill acc (fill stream) d guard $ only_public || isSecretKey (keyPacket d) @@ -1021,7 +1021,7 @@ initializeMissingPEMFiles operation ctx grip mwk transcode db = do -- ms = map (keykey . fst) $ selectAll True (topspec,subspec) db -- ms = filterMatches topspec $ Map.toList db ns = do - (kk,kd) <- filterMatches topspec $ Map.toList db + (kk,kd) <- filterMatches topspec $ Map.toList $ byKeyKey db return (kk , subkeysForExport subspec kd) return (fname,subspec,ns,stream) (exports0,ambiguous) = partition (\(_,_,ns,_)->null $ drop 1 $ (ns>>=snd)) @@ -1069,7 +1069,7 @@ initializeMissingPEMFiles operation ctx grip mwk transcode db = do usage <- take 1 $ mapMaybe usageFromFilter [fill stream,spill stream] let (topspec,subspec) = parseSpec (fromMaybe "" grip) usage guard $ null $ do - (kk,kd) <- filterMatches topspec $ Map.toList db + (kk,kd) <- filterMatches topspec $ Map.toList $ byKeyKey db subkeysForExport subspec kd return (f,stream) where -- cgit v1.2.3