From 24cdfd9a26ba1617765cad4ab36967d9cede714c Mon Sep 17 00:00:00 2001 From: Joe Crayne Date: Sun, 3 May 2020 14:56:03 -0400 Subject: Verify cryptonomic self-auth for display. --- lib/Transforms.hs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/Transforms.hs b/lib/Transforms.hs index 8a1da73..8adf6af 100644 --- a/lib/Transforms.hs +++ b/lib/Transforms.hs @@ -36,7 +36,7 @@ import Data.ASN1.Types (toASN1, ASN1Object, fromASN1, ASN1(Start, End, IntVal), import Data.ASN1.Encoding ( encodeASN1 ) import qualified Data.Text as T ( Text, unpack, pack, - strip, reverse, drop, break, dropAround, length ) + strip, reverse, drop, break, dropAround, length, breakOn ) import Data.Text.Encoding ( encodeUtf8 ) import Data.Bits ((.|.), (.&.), Bits) @@ -768,9 +768,11 @@ parseUID str = UserIDRecord { (T.strip-> realname, T.dropAround isBracket-> email) = T.break (=='<') text (user, T.drop 1-> hostname) = T.break (=='@') email - ( T.reverse -> topdomain, - T.reverse . T.drop 1 -> subdomain) - = T.break (=='.') . T.reverse $ hostname + (topdomain, subdomain) = + case T.breakOn ".ssh-rsa.cryptonomic.net" hostname of + (s,".ssh-rsa.cryptonomic.net") -> ("ssh-rsa.cryptonomic.net", s) + _ -> (T.reverse *** T.reverse . T.drop 1) + $ T.break (=='.') . T.reverse $ hostname selfAuthenticated :: OriginMapped Packet -> KeyData -> UidString -> Bool selfAuthenticated k kd (UidString str) = -- cgit v1.2.3