1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE PatternSynonyms #-}
module Network.TLS.Types.Version (
Version (Version, SSL2, SSL3, TLS10, TLS11, TLS12, TLS13),
) where
import Codec.Serialise
import GHC.Generics
import Network.TLS.Imports
-- | Versions known to TLS
newtype Version = Version Word16 deriving (Eq, Ord, Generic)
{- FOURMOLU_DISABLE -}
pattern SSL2 :: Version
pattern SSL2 = Version 0x0002
pattern SSL3 :: Version
pattern SSL3 = Version 0x0300
pattern TLS10 :: Version
pattern TLS10 = Version 0x0301
pattern TLS11 :: Version
pattern TLS11 = Version 0x0302
pattern TLS12 :: Version
pattern TLS12 = Version 0x0303
pattern TLS13 :: Version
pattern TLS13 = Version 0x0304
instance Show Version where
show SSL2 = "SSL2"
show SSL3 = "SSL3"
show TLS10 = "TLS1.0"
show TLS11 = "TLS1.1"
show TLS12 = "TLS1.2"
show TLS13 = "TLS1.3"
show (Version x) = "Version " ++ show x
{- FOURMOLU_ENABLE -}
instance Serialise Version
|