From 148aa3b272d79dea81d0737ad87cd3fa3e420801 Mon Sep 17 00:00:00 2001 From: James Crayne Date: Tue, 26 Apr 2016 22:39:42 -0400 Subject: type signatures to help debugging builds --- kiki.cabal | 1 + kiki.hs | 12 +++++++++++- lib/KeyRing.hs | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/kiki.cabal b/kiki.cabal index 37c8264..6723ba4 100644 --- a/kiki.cabal +++ b/kiki.cabal @@ -43,6 +43,7 @@ Executable kiki time, unix, openpgp-util, + network, kiki other-modules: DNSKey if !flag(cryptonite) diff --git a/kiki.hs b/kiki.hs index 8ca6e5d..2a4dde2 100644 --- a/kiki.hs +++ b/kiki.hs @@ -68,6 +68,7 @@ import qualified DNSKey as DNS import Data.Time.Clock.POSIX ( posixSecondsToUTCTime ) import Kiki import Debug.Trace +import Network.Socket (SockAddr) -- {-# ANN module ("HLint: ignore Eta reduce"::String) #-} -- {-# ANN module ("HLint: ignore Use camelCase"::String) #-} @@ -1503,6 +1504,13 @@ kiki "tar" args = do ["-A":_] -> putStrLn "unimplemented." -- import tar file? _ -> kiki "tar" ["--help"] + +tarContent :: KeyRingRuntime + -> Maybe String + -> ([Char8.ByteString] -> SockAddr -> Packet -> [Packet] -> t ) + -> ([(KeyRing.KeyKey, Packet, [Packet])] -> t) + -> (Packet -> t) + -> [(String, t)] tarContent rt spec pubpem knownhosts secpem = ipsecs ++ sshs ++ secrets "root" where ipsecs = do @@ -1580,6 +1588,7 @@ tarC (sargs,margs) = do L.putStr tarbs err -> putStrLn $ errorString err where + build_ipsec :: Num n => b -> c -> Packet -> d -> (n, Either a Char8.ByteString) build_ipsec ns addr ipsec sigs = ( fromIntegral $ timestamp ipsec , Right $ Char8.pack $ fromJust $ pemFromPacket ipsec) @@ -1590,9 +1599,11 @@ tarC (sargs,margs) = do ns = onames ++ others (_,(onames,others)) = getHostnames $ rtKeyDB rt Map.! kk + build_secret :: Num t => KeyRingRuntime -> Packet -> (t, Either (IO (Maybe Char8.ByteString)) b) build_secret rt k = ( fromIntegral $ timestamp k , Left $ fmap Char8.pack . (>>= secretPemFromPacket) <$> decrypt rt k ) + mktar :: FilePath -> Tar.EpochTime -> L.ByteString -> Either String Tar.Entry mktar n epoch_time_int64 bs = do torpath <- Tar.toTarPath False n Right $ (Tar.fileEntry torpath bs) { Tar.entryTime = epoch_time_int64 } @@ -1606,7 +1617,6 @@ tarC (sargs,margs) = do _ -> do hPutStrLn stderr $ "Failed to decrypt "++fingerprint k++"." return Nothing - -- | -- -- no leading hyphen, returns Right (input string). diff --git a/lib/KeyRing.hs b/lib/KeyRing.hs index 21d7c3e..fbd23fe 100644 --- a/lib/KeyRing.hs +++ b/lib/KeyRing.hs @@ -102,6 +102,7 @@ module KeyRing , getSubkeys , writeKeyToFile , resolveForReport + , KeyKey -- needed for Type sigs ) where import System.Environment -- cgit v1.2.3