diff options
Diffstat (limited to 'lib/KeyRing/Types.hs')
-rw-r--r-- | lib/KeyRing/Types.hs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/KeyRing/Types.hs b/lib/KeyRing/Types.hs index 5318b31..1177789 100644 --- a/lib/KeyRing/Types.hs +++ b/lib/KeyRing/Types.hs | |||
@@ -349,14 +349,15 @@ isTrust _ = False | |||
349 | -- | 349 | -- |
350 | -- matchpr fp = Data.List.Extra.takeEnd (length fp) | 350 | -- matchpr fp = Data.List.Extra.takeEnd (length fp) |
351 | -- | 351 | -- |
352 | matchpr :: String -> Packet -> String | 352 | matchpr :: Fingerprint -> Packet -> Bool |
353 | matchpr fp k = reverse $ zipWith const (reverse (show $ fingerprint k)) fp | 353 | matchpr fp k = p == show fp |
354 | 354 | where | |
355 | p = reverse $ zipWith const (reverse (show $ fingerprint k)) (show fp) | ||
355 | 356 | ||
356 | 357 | ||
357 | 358 | ||
358 | data KeySpec = | 359 | data KeySpec = |
359 | KeyGrip String -- fp: | 360 | KeyGrip Fingerprint -- fp: |
360 | | KeyTag Packet String -- fp:????/t: | 361 | | KeyTag Packet String -- fp:????/t: |
361 | | KeyUidMatch String -- u: | 362 | | KeyUidMatch String -- u: |
362 | deriving Show | 363 | deriving Show |
@@ -427,8 +428,8 @@ seek_key :: KeySpec -> [Packet] -> ([Packet],[Packet]) | |||
427 | seek_key (KeyGrip grip) sec = (pre, subs) | 428 | seek_key (KeyGrip grip) sec = (pre, subs) |
428 | where | 429 | where |
429 | (pre,subs) = break pred sec | 430 | (pre,subs) = break pred sec |
430 | pred p@(SecretKeyPacket {}) = matchpr grip p == grip | 431 | pred p@(SecretKeyPacket {}) = matchpr grip p |
431 | pred p@(PublicKeyPacket {}) = matchpr grip p == grip | 432 | pred p@(PublicKeyPacket {}) = matchpr grip p |
432 | pred _ = False | 433 | pred _ = False |
433 | 434 | ||
434 | seek_key (KeyTag key tag) ps | 435 | seek_key (KeyTag key tag) ps |