summaryrefslogtreecommitdiff
path: root/lib/Transforms.hs
diff options
context:
space:
mode:
authorJoe Crayne <joe@jerkface.net>2020-05-16 10:04:13 -0400
committerJoe Crayne <joe@jerkface.net>2020-05-19 12:52:05 -0400
commit99ff0f49d3f668acf4a7d9e7f4da275a1cb327c2 (patch)
tree21a48c2f096d79fe660882664b7e5440ebbcf6d7 /lib/Transforms.hs
parent006c3ace87a52d4ae4cc0e501d2fdd2a10aa7af0 (diff)
Match v5 partial fingerprints from front rather than back.
Diffstat (limited to 'lib/Transforms.hs')
-rw-r--r--lib/Transforms.hs11
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/Transforms.hs b/lib/Transforms.hs
index 118b494..473ecbc 100644
--- a/lib/Transforms.hs
+++ b/lib/Transforms.hs
@@ -151,6 +151,8 @@ signature_time ov = case (if null cs then ds else cs) of
151 creationTime (SignatureCreationTimePacket t) = [t] 151 creationTime (SignatureCreationTimePacket t) = [t]
152 creationTime _ = [] 152 creationTime _ = []
153 153
154matchingGrip :: Packet -> String -> Bool
155matchingGrip topk g = matchpr 0 g topk == g
154 156
155-- | Given list of subpackets, a master key, one of its subkeys and a 157-- | Given list of subpackets, a master key, one of its subkeys and a
156-- list of signatures on that subkey, yields: 158-- list of signatures on that subkey, yields:
@@ -177,9 +179,8 @@ findTag tag topk subkey subsigs = (xs',minsig,ys')
177 (sig, do 179 (sig, do
178 sig <- Just (packet . fst $ sig) 180 sig <- Just (packet . fst $ sig)
179 guard (isSignaturePacket sig) 181 guard (isSignaturePacket sig)
180 guard $ flip isSuffixOf 182 guard $ matchingGrip topk
181 (show $ fingerprint topk) 183 . fromMaybe "%bad%"
182 . fromMaybe "%bad%"
183 . signature_issuer 184 . signature_issuer
184 $ sig 185 $ sig
185 listToMaybe $ 186 listToMaybe $
@@ -483,9 +484,7 @@ keyFlags0 wkun uidsigs = concat
483 , BZip2 484 , BZip2
484 , ZIP 485 , ZIP
485 ] 486 ]
486 features = filterOr isfeatures subs $ 487 features = filterOr isfeatures subs defaultFeatures
487 FeaturesPacket { supports_mdc = True
488 }
489 488
490 filterOr pred xs def = if null rs then [def] else rs where rs=filter pred xs 489 filterOr pred xs def = if null rs then [def] else rs where rs=filter pred xs
491 490