{-# LANGUAGE OverloadedStrings #-} module Network.DomainAuth.DK.Types where import Data.ByteString (ByteString) import qualified Data.Map as M import Network.DNS import Network.DomainAuth.Mail ---------------------------------------------------------------- {-| Canonicalized key for DomainKey-Signature:. -} dkFieldKey :: CanonFieldKey dkFieldKey = "domainkey-signature" ---------------------------------------------------------------- data DkAlgorithm = DK_RSA_SHA1 deriving (Eq,Show) data DkCanonAlgo = DK_SIMPLE | DK_NOFWS deriving (Eq,Show) --data DkQuery = DK_DNS deriving (Eq,Show) type DkFields = M.Map ByteString Bool -- Key Bool {-| Abstract type for DomainKey-Signature: -} data DK = DK { dkAlgorithm :: DkAlgorithm , dkSignature :: ByteString , dkCanonAlgo :: DkCanonAlgo , dkDomain0 :: ByteString , dkFields :: Maybe DkFields -- , dkQuery :: Maybe DkQuery -- gmail does not provide, sigh , dkSelector0 :: ByteString } deriving (Eq,Show) {-| Getting of the value of the \"d\" tag in DomainKey-Signature:. -} dkDomain :: DK -> Domain dkDomain = dkDomain0 {-| Getting of the value of the \"s\" tag in DomainKey-Signature:. -} dkSelector :: DK -> ByteString dkSelector = dkSelector0