From f07d60d9c0ff8673a264e984c90bc478987ef873 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Tue, 16 Jul 2019 11:41:05 -0400 Subject: use all names where previously only ".onion" names were used --- lib/KeyRing/BuildKeyDB.hs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'lib/KeyRing') diff --git a/lib/KeyRing/BuildKeyDB.hs b/lib/KeyRing/BuildKeyDB.hs index 587d812..90f7292 100644 --- a/lib/KeyRing/BuildKeyDB.hs +++ b/lib/KeyRing/BuildKeyDB.hs @@ -2,6 +2,7 @@ {-# LANGUAGE DoAndIfThenElse #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE LambdaCase #-} +{-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternGuards #-} {-# LANGUAGE TupleSections #-} @@ -550,10 +551,7 @@ mergeHostFiles krd db ctx = do hostdbs0 <- mapM (fmap Hosts.decode . readInputFileL' ctx) hns let gpgnames = map getHostnames $ keyData db - os = do - Hostnames addr ns _ _ <- gpgnames - n <- ns - return (addr,n) + os = concat $ allNames' <$> gpgnames setOnions hosts = foldl' (flip $ uncurry Hosts.assignName) hosts os -- we ensure .onion names are set properly hostdbs = map setOnions hostdbs0 @@ -864,6 +862,12 @@ generateSubkey transcode kd' (genparam,StreamInfo { spill = KF_Match tag }) = do return $ KikiSuccess (kd,report0) generateSubkey _ kd _ = return kd +allNames :: Hostnames -> [Char8.ByteString] +allNames (Hostnames _ ns os cs) = ns ++ os ++ (maybe [] return cs) + +allNames' :: Hostnames -> [(SockAddr, Char8.ByteString)] +allNames' h@Hostnames{gpgipv6addr} = (gpgipv6addr,) <$> allNames h + data Hostnames = Hostnames { gpgipv6addr :: SockAddr, verifiedOnionNames :: [L.ByteString], -- cgit v1.2.3