diff options
Diffstat (limited to 'lib/KeyRing')
-rw-r--r-- | lib/KeyRing/BuildKeyDB.hs | 4 | ||||
-rw-r--r-- | lib/KeyRing/Types.hs | 13 |
2 files changed, 9 insertions, 8 deletions
diff --git a/lib/KeyRing/BuildKeyDB.hs b/lib/KeyRing/BuildKeyDB.hs index 90f7292..461afa2 100644 --- a/lib/KeyRing/BuildKeyDB.hs +++ b/lib/KeyRing/BuildKeyDB.hs | |||
@@ -35,7 +35,7 @@ import Data.List | |||
35 | import qualified Data.Map as Map | 35 | import qualified Data.Map as Map |
36 | import Data.Maybe | 36 | import Data.Maybe |
37 | import Data.OpenPGP | 37 | import Data.OpenPGP |
38 | import Data.OpenPGP.Util (GenerateKeyParams (..), fingerprint, generateKey, pgpSign, verify) | 38 | import Data.OpenPGP.Util (Fingerprint, GenerateKeyParams (..), fingerprint, generateKey, pgpSign, verify) |
39 | 39 | ||
40 | 40 | ||
41 | import Data.Time.Clock (UTCTime) | 41 | import Data.Time.Clock (UTCTime) |
@@ -408,7 +408,7 @@ usageFromFilter _ = mzero | |||
408 | 408 | ||
409 | -- | Parse a key specification. | 409 | -- | Parse a key specification. |
410 | -- The first argument is a grip for the default working key. | 410 | -- The first argument is a grip for the default working key. |
411 | parseSpec :: String -> String -> (KeySpec,Maybe String) | 411 | parseSpec :: Fingerprint -> String -> (KeySpec,Maybe String) |
412 | parseSpec wkgrip spec = | 412 | parseSpec wkgrip spec = |
413 | if not slashed | 413 | if not slashed |
414 | then | 414 | then |
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 |