summaryrefslogtreecommitdiff
path: root/lib/KeyRing
diff options
context:
space:
mode:
Diffstat (limited to 'lib/KeyRing')
-rw-r--r--lib/KeyRing/BuildKeyDB.hs4
-rw-r--r--lib/KeyRing/Types.hs13
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
35import qualified Data.Map as Map 35import qualified Data.Map as Map
36import Data.Maybe 36import Data.Maybe
37import Data.OpenPGP 37import Data.OpenPGP
38import Data.OpenPGP.Util (GenerateKeyParams (..), fingerprint, generateKey, pgpSign, verify) 38import Data.OpenPGP.Util (Fingerprint, GenerateKeyParams (..), fingerprint, generateKey, pgpSign, verify)
39 39
40 40
41import Data.Time.Clock (UTCTime) 41import 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.
411parseSpec :: String -> String -> (KeySpec,Maybe String) 411parseSpec :: Fingerprint -> String -> (KeySpec,Maybe String)
412parseSpec wkgrip spec = 412parseSpec 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--
352matchpr :: String -> Packet -> String 352matchpr :: Fingerprint -> Packet -> Bool
353matchpr fp k = reverse $ zipWith const (reverse (show $ fingerprint k)) fp 353matchpr 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
358data KeySpec = 359data 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])
427seek_key (KeyGrip grip) sec = (pre, subs) 428seek_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
434seek_key (KeyTag key tag) ps 435seek_key (KeyTag key tag) ps