diff options
Diffstat (limited to 'kiki.hs')
-rw-r--r-- | kiki.hs | 19 |
1 files changed, 17 insertions, 2 deletions
@@ -1647,6 +1647,20 @@ kiki "tar" args = do | |||
1647 | ["-A":_] -> putStrLn "unimplemented." -- import tar file? | 1647 | ["-A":_] -> putStrLn "unimplemented." -- import tar file? |
1648 | _ -> kiki "tar" ["--help"] | 1648 | _ -> kiki "tar" ["--help"] |
1649 | 1649 | ||
1650 | kiki "verify" args | "--help" `elem` args = do | ||
1651 | putStr . unlines $ | ||
1652 | [ "kiki verify [--homedir HOMEDIR | --homeless] [[--keyring FILE] ...] FILE" | ||
1653 | ] | ||
1654 | kiki "verify" argvals = | ||
1655 | let opts = [("--homedir",1),("--keyring",1),("--homeless",0)] | ||
1656 | in case runArgs (parseInvocation (fancy opts [] "") argvals) | ||
1657 | (verifyFile <$> flag "--homeless" | ||
1658 | <*> dashdashHomedir | ||
1659 | <*> args "--keyring" | ||
1660 | <*> param 0) of | ||
1661 | Left er -> hPutStrLn stderr $ usageErrorMessage er | ||
1662 | Right io -> io | ||
1663 | |||
1650 | kiki cmd args = hPutStrLn stderr $ "I don't know how to "++cmd++"." | 1664 | kiki cmd args = hPutStrLn stderr $ "I don't know how to "++cmd++"." |
1651 | 1665 | ||
1652 | sshkeyname :: Packet -> [FilePath] | 1666 | sshkeyname :: Packet -> [FilePath] |
@@ -1709,7 +1723,7 @@ ipsecKeyNames (Hostnames _ onames _ _) = do | |||
1709 | 1723 | ||
1710 | tarT :: ([[String]],Map.Map String [String]) -> IO () | 1724 | tarT :: ([[String]],Map.Map String [String]) -> IO () |
1711 | tarT (sargs,margs) = do | 1725 | tarT (sargs,margs) = do |
1712 | KikiResult rt report <- runKeyRing $ minimalOp $ parseCommonArgs margs | 1726 | KikiResult rt report <- runKeyRing $ minimalOp False $ parseCommonArgs margs |
1713 | case rt of | 1727 | case rt of |
1714 | KikiSuccess rt -> do | 1728 | KikiSuccess rt -> do |
1715 | let keyspec = concat . take 1 <$> Map.lookup "--secrets" margs | 1729 | let keyspec = concat . take 1 <$> Map.lookup "--secrets" margs |
@@ -1720,7 +1734,7 @@ tarT (sargs,margs) = do | |||
1720 | 1734 | ||
1721 | tarC :: ([[String]],Map.Map String [String]) -> IO () | 1735 | tarC :: ([[String]],Map.Map String [String]) -> IO () |
1722 | tarC (sargs,margs) = do | 1736 | tarC (sargs,margs) = do |
1723 | KikiResult rt report <- runKeyRing $ minimalOp $ parseCommonArgs margs | 1737 | KikiResult rt report <- runKeyRing $ minimalOp False $ parseCommonArgs margs |
1724 | case rt of | 1738 | case rt of |
1725 | KikiSuccess rt -> do | 1739 | KikiSuccess rt -> do |
1726 | CTime pubtime <- modificationTime <$> getFileStatus (rtPubring rt) | 1740 | CTime pubtime <- modificationTime <$> getFileStatus (rtPubring rt) |
@@ -1813,6 +1827,7 @@ commands = | |||
1813 | , ( "rename", "Change the usage tag on a specified subkey" ) | 1827 | , ( "rename", "Change the usage tag on a specified subkey" ) |
1814 | -- also repairs signature and adds missing cross-certification. | 1828 | -- also repairs signature and adds missing cross-certification. |
1815 | , ( "tar", "import or export system key files in tar format" ) | 1829 | , ( "tar", "import or export system key files in tar format" ) |
1830 | , ( "verify", "Check a clear-sign pgp signature." ) | ||
1816 | ] | 1831 | ] |
1817 | 1832 | ||
1818 | main :: IO () | 1833 | main :: IO () |