diff options
Diffstat (limited to 'lib/PacketTranscoder.hs')
-rw-r--r-- | lib/PacketTranscoder.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/PacketTranscoder.hs b/lib/PacketTranscoder.hs index 03b219b..830ec2f 100644 --- a/lib/PacketTranscoder.hs +++ b/lib/PacketTranscoder.hs | |||
@@ -253,14 +253,14 @@ tryInOrder (f:fs) alg mp = do | |||
253 | 253 | ||
254 | -- The transcoder works on 'MappedPacket' instead of 'Packet' so that | 254 | -- The transcoder works on 'MappedPacket' instead of 'Packet' so that |
255 | -- file-specific passphrases can be utilized. | 255 | -- file-specific passphrases can be utilized. |
256 | makeMemoizingDecrypter :: KeyRingOperation -> InputFileContext | 256 | makeMemoizingDecrypter :: [PassphraseSpec] -> InputFileContext |
257 | -> (Maybe MappedPacket, Map.Map KeyKey (OriginMapped Query)) | 257 | -> (Maybe MappedPacket, Map.Map KeyKey (OriginMapped Query)) |
258 | -> IO PacketTranscoder | 258 | -> IO PacketTranscoder |
259 | makeMemoizingDecrypter operation ctx (workingkey,keys) = do | 259 | makeMemoizingDecrypter passwdspec ctx (workingkey,keys) = do |
260 | unkeysRef <- newIORef (Map.empty :: Map.Map (KeyKey,SymmetricAlgorithm,S2K) Packet) | 260 | unkeysRef <- newIORef (Map.empty :: Map.Map (KeyKey,SymmetricAlgorithm,S2K) Packet) |
261 | return $ tryInOrder $ map passSpecTranscoder chains ++ [ trans unkeysRef ] | 261 | return $ tryInOrder $ map passSpecTranscoder chains ++ [ trans unkeysRef ] |
262 | where | 262 | where |
263 | (chains,passpecs) = span isChain $ sort $ opPassphrases operation | 263 | (chains,passpecs) = span isChain $ sort passwdspec |
264 | where isChain (PassphraseMemoizer {}) = True | 264 | where isChain (PassphraseMemoizer {}) = True |
265 | isChain _ = False | 265 | isChain _ = False |
266 | srcs = map (interpretPassSpec ctx (workingkey,keys)) passpecs | 266 | srcs = map (interpretPassSpec ctx (workingkey,keys)) passpecs |