summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoe <joe@jerkface.net>2013-11-01 12:36:03 -0400
committerjoe <joe@jerkface.net>2013-11-01 12:36:03 -0400
commit381ef0198471ecad1639431fed7d968e8cd355b8 (patch)
treeb866545fb89a24988fc35cb72ca40db27b63ef38
parent83bbe5b9fcf12fad348cb4dd2a9ceda20d6e1704 (diff)
No longer attempts to re-add keys that are already present.
-rw-r--r--kiki.hs31
1 files changed, 9 insertions, 22 deletions
diff --git a/kiki.hs b/kiki.hs
index c9483a0..d590cd4 100644
--- a/kiki.hs
+++ b/kiki.hs
@@ -1058,35 +1058,22 @@ main = do
1058 let (uids,subkeys) = break isSubkey subs 1058 let (uids,subkeys) = break isSubkey subs
1059 isSubkey p = isKey p && is_subkey p 1059 isSubkey p = isKey p && is_subkey p
1060 1060
1061 (subkeys',remainder) = break isTopKey subkeys
1062 isTopKey p@(SecretKeyPacket {}) | not (is_subkey p) = True
1063 isTopKey _ = False
1064
1061 let parseKeySpec hint spec = case break (==':') spec of 1065 let parseKeySpec hint spec = case break (==':') spec of
1062 (fmt,_:file) -> (fmt,file) 1066 (fmt,_:file) -> (fmt,file)
1063 (file,"") -> (guessKeyFormat hint (key_usage cmd), file) 1067 (file,"") -> (guessKeyFormat hint (key_usage cmd), file)
1064 (secfmt,secfile) = parseKeySpec 'S' $ seckey cmd 1068 (secfmt,secfile) = parseKeySpec 'S' $ seckey cmd
1065 -- (pubfmt,pubfile) = parseKeySpec 'P' $ pubkey cmd 1069 -- (pubfmt,pubfile) = parseKeySpec 'P' $ pubkey cmd
1066 Message parsedkey <- readKeyFromFile False secfmt secfile 1070 Message parsedkey <- readKeyFromFile False secfmt secfile
1067 -- -- Message pubkey <- readKeyFromFile True pubfmt pubfile
1068
1069 -- putStrLn $ "parsedkey = " ++ show (head parsedkey)
1070 -- putStrLn $ "----------"
1071 1071
1072 {- 1072 let pkf = fingerprint (head parsedkey)
1073 let seckeys = filter isSecretKey sec 1073 (prepk,pks) = seek_key pkf subkeys'
1074 isSecretKey (SecretKeyPacket {}) = True 1074
1075 isSecretKey _ = False 1075 if not (null pks) then putStrLn "Key already present."
1076 algos = map symmetric_algorithm seckeys 1076 else do
1077 putStrLn $ show $ symmetric_algorithm wk
1078 putStrLn $ show $ s2k wk
1079 putStrLn $ show $ s2k_useage wk
1080 putStrLn $ PP.ppShow sec
1081 let -- e = encryptSecretKey wk pw (head seckey)
1082 e = head seckey
1083 d = if symmetric_algorithm e /= Unencrypted
1084 then maybeToList $ decryptSecretKey pw e
1085 else [e]
1086 putStrLn $ "e = " ++ show (e)
1087 -}
1088 -- putStrLn $ "wkun = " ++ show wkun
1089 -- putStrLn $ "head subkeys = " ++ show (head subkeys)
1090 1077
1091 g <- newGenIO 1078 g <- newGenIO
1092 timestamp <- now 1079 timestamp <- now